aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenGridServices
diff options
context:
space:
mode:
Diffstat (limited to 'OpenGridServices')
-rw-r--r--OpenGridServices/OpenGrid.Config/GridConfigDb4o/DbGridConfig.cs68
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/GridData.cs26
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/ILogData.cs51
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/IniConfig.cs26
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/InventoryData.cs74
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/SimProfileData.cs29
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/UserData.cs29
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs185
8 files changed, 449 insertions, 39 deletions
diff --git a/OpenGridServices/OpenGrid.Config/GridConfigDb4o/DbGridConfig.cs b/OpenGridServices/OpenGrid.Config/GridConfigDb4o/DbGridConfig.cs
index 2d00ca6..cbe64e6 100644
--- a/OpenGridServices/OpenGrid.Config/GridConfigDb4o/DbGridConfig.cs
+++ b/OpenGridServices/OpenGrid.Config/GridConfigDb4o/DbGridConfig.cs
@@ -12,7 +12,7 @@
12* names of its contributors may be used to endorse or promote products 12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission. 13* derived from this software without specific prior written permission.
14* 14*
15* THIS SOFTWARE IS PROVIDED BY <copyright holder> ``AS IS'' AND ANY 15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY 18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
@@ -32,8 +32,15 @@ using Db4objects.Db4o;
32 32
33namespace OpenGrid.Config.GridConfigDb4o 33namespace OpenGrid.Config.GridConfigDb4o
34{ 34{
35 /// <summary>
36 /// A grid configuration interface for returning the DB4o Config Provider
37 /// </summary>
35 public class Db40ConfigPlugin: IGridConfig 38 public class Db40ConfigPlugin: IGridConfig
36 { 39 {
40 /// <summary>
41 /// Loads and returns a configuration objeect
42 /// </summary>
43 /// <returns>A grid configuration object</returns>
37 public GridConfig GetConfigObject() 44 public GridConfig GetConfigObject()
38 { 45 {
39 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Loading Db40Config dll"); 46 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Loading Db40Config dll");
@@ -41,49 +48,81 @@ namespace OpenGrid.Config.GridConfigDb4o
41 } 48 }
42 } 49 }
43 50
51 /// <summary>
52 /// A DB4o based Gridserver configuration object
53 /// </summary>
44 public class DbGridConfig : GridConfig 54 public class DbGridConfig : GridConfig
45 { 55 {
56 /// <summary>
57 /// The DB4o Database
58 /// </summary>
46 private IObjectContainer db; 59 private IObjectContainer db;
47 60
61 /// <summary>
62 /// User configuration for the Grid Config interfaces
63 /// </summary>
48 public void LoadDefaults() { 64 public void LoadDefaults() {
49 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.HIGH,"Config.cs:LoadDefaults() - Please press enter to retain default or enter new settings"); 65 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.HIGH,"Config.cs:LoadDefaults() - Please press enter to retain default or enter new settings");
50 66
67 // About the grid options
51 this.GridOwner = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Grid owner", "OGS development team"); 68 this.GridOwner = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Grid owner", "OGS development team");
52 69
70 // Asset Options
53 this.DefaultAssetServer = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Default asset server","http://127.0.0.1:8003/"); 71 this.DefaultAssetServer = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Default asset server","http://127.0.0.1:8003/");
54 this.AssetSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to asset server","null"); 72 this.AssetSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to asset server","null");
55 this.AssetRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from asset server","null"); 73 this.AssetRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from asset server","null");
56 74
57 this.DefaultUserServer = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Default user server","http://127.0.0.1:8002/"); 75 // User Server Options
58 this.UserSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to user server","null"); 76 this.DefaultUserServer = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Default user server","http://127.0.0.1:8002/");
59 this.UserRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from user server","null"); 77 this.UserSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to user server","null");
78 this.UserRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from user server","null");
60 79
61 this.SimSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to sims","null"); 80 // Region Server Options
62 this.SimRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from sims","null"); 81 this.SimSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to sims","null");
82 this.SimRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from sims","null");
63 } 83 }
64 84
85 /// <summary>
86 /// Initialises a new configuration object
87 /// </summary>
65 public override void InitConfig() { 88 public override void InitConfig() {
66 try { 89 try {
90 // Perform Db4o initialisation
67 db = Db4oFactory.OpenFile("opengrid.yap"); 91 db = Db4oFactory.OpenFile("opengrid.yap");
92
93 // Locate the grid configuration object
68 IObjectSet result = db.Get(typeof(DbGridConfig)); 94 IObjectSet result = db.Get(typeof(DbGridConfig));
95 // Found?
69 if(result.Count==1) { 96 if(result.Count==1) {
70 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Config.cs:InitConfig() - Found a GridConfig object in the local database, loading"); 97 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Config.cs:InitConfig() - Found a GridConfig object in the local database, loading");
71 foreach (DbGridConfig cfg in result) { 98 foreach (DbGridConfig cfg in result) {
99 // Import each setting into this class
100 // Grid Settings
72 this.GridOwner=cfg.GridOwner; 101 this.GridOwner=cfg.GridOwner;
102 // Asset Settings
73 this.DefaultAssetServer=cfg.DefaultAssetServer; 103 this.DefaultAssetServer=cfg.DefaultAssetServer;
74 this.AssetSendKey=cfg.AssetSendKey; 104 this.AssetSendKey=cfg.AssetSendKey;
75 this.AssetRecvKey=cfg.AssetRecvKey; 105 this.AssetRecvKey=cfg.AssetRecvKey;
106 // User Settings
76 this.DefaultUserServer=cfg.DefaultUserServer; 107 this.DefaultUserServer=cfg.DefaultUserServer;
77 this.UserSendKey=cfg.UserSendKey; 108 this.UserSendKey=cfg.UserSendKey;
78 this.UserRecvKey=cfg.UserRecvKey; 109 this.UserRecvKey=cfg.UserRecvKey;
110 // Region Settings
79 this.SimSendKey=cfg.SimSendKey; 111 this.SimSendKey=cfg.SimSendKey;
80 this.SimRecvKey=cfg.SimRecvKey; 112 this.SimRecvKey=cfg.SimRecvKey;
81 } 113 }
114 // Create a new configuration object from this class
82 } else { 115 } else {
83 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Config.cs:InitConfig() - Could not find object in database, loading precompiled defaults"); 116 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Config.cs:InitConfig() - Could not find object in database, loading precompiled defaults");
117
118 // Load default settings into this class
84 LoadDefaults(); 119 LoadDefaults();
85 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Writing out default settings to local database"); 120
121 // Saves to the database file...
122 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Writing out default settings to local database");
86 db.Set(this); 123 db.Set(this);
124
125 // Closes file locks
87 db.Close(); 126 db.Close();
88 } 127 }
89 } catch(Exception e) { 128 } catch(Exception e) {
@@ -91,19 +130,28 @@ namespace OpenGrid.Config.GridConfigDb4o
91 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM,e.ToString()); 130 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM,e.ToString());
92 } 131 }
93 132
133 // Grid Settings
94 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Grid settings loaded:"); 134 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Grid settings loaded:");
95 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Grid owner: " + this.GridOwner); 135 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Grid owner: " + this.GridOwner);
136
137 // Asset Settings
96 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Default asset server: " + this.DefaultAssetServer); 138 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Default asset server: " + this.DefaultAssetServer);
97 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to send to asset server: " + this.AssetSendKey); 139 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to send to asset server: " + this.AssetSendKey);
98 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to expect from asset server: " + this.AssetRecvKey); 140 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to expect from asset server: " + this.AssetRecvKey);
141
142 // User Settings
99 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Default user server: " + this.DefaultUserServer); 143 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Default user server: " + this.DefaultUserServer);
100 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to send to user server: " + this.UserSendKey); 144 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to send to user server: " + this.UserSendKey);
101 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to expect from user server: " + this.UserRecvKey); 145 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to expect from user server: " + this.UserRecvKey);
146
147 // Region Settings
102 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to send to sims: " + this.SimSendKey); 148 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to send to sims: " + this.SimSendKey);
103 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to expect from sims: " + this.SimRecvKey); 149 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Key to expect from sims: " + this.SimRecvKey);
104 } 150 }
105 151
106 152 /// <summary>
153 /// Closes down the database and releases filesystem locks
154 /// </summary>
107 public void Shutdown() { 155 public void Shutdown() {
108 db.Close(); 156 db.Close();
109 } 157 }
diff --git a/OpenGridServices/OpenGrid.Framework.Data/GridData.cs b/OpenGridServices/OpenGrid.Framework.Data/GridData.cs
index 6dad37e..4d1c0da 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/GridData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/GridData.cs
@@ -1,3 +1,29 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
diff --git a/OpenGridServices/OpenGrid.Framework.Data/ILogData.cs b/OpenGridServices/OpenGrid.Framework.Data/ILogData.cs
index 7c6a2c5..53d0204 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/ILogData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/ILogData.cs
@@ -1,18 +1,69 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
4 30
5namespace OpenGrid.Framework.Data 31namespace OpenGrid.Framework.Data
6{ 32{
33 /// <summary>
34 /// The severity of an individual log message
35 /// </summary>
7 public enum LogSeverity : int 36 public enum LogSeverity : int
8 { 37 {
38 /// <summary>
39 /// Critical: systems failure
40 /// </summary>
9 CRITICAL = 1, 41 CRITICAL = 1,
42 /// <summary>
43 /// Major: warning prior to systems failure
44 /// </summary>
10 MAJOR = 2, 45 MAJOR = 2,
46 /// <summary>
47 /// Medium: an individual non-critical task failed
48 /// </summary>
11 MEDIUM = 3, 49 MEDIUM = 3,
50 /// <summary>
51 /// Low: Informational warning
52 /// </summary>
12 LOW = 4, 53 LOW = 4,
54 /// <summary>
55 /// Info: Information
56 /// </summary>
13 INFO = 5, 57 INFO = 5,
58 /// <summary>
59 /// Verbose: Debug Information
60 /// </summary>
14 VERBOSE = 6 61 VERBOSE = 6
15 } 62 }
63
64 /// <summary>
65 /// An interface to a LogData storage system
66 /// </summary>
16 public interface ILogData 67 public interface ILogData
17 { 68 {
18 void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority,string logMessage); 69 void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority,string logMessage);
diff --git a/OpenGridServices/OpenGrid.Framework.Data/IniConfig.cs b/OpenGridServices/OpenGrid.Framework.Data/IniConfig.cs
index 58597d2..df4f38b 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/IniConfig.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/IniConfig.cs
@@ -1,3 +1,29 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
diff --git a/OpenGridServices/OpenGrid.Framework.Data/InventoryData.cs b/OpenGridServices/OpenGrid.Framework.Data/InventoryData.cs
index b43557d..88e58d6 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/InventoryData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/InventoryData.cs
@@ -1,3 +1,29 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
@@ -5,27 +31,75 @@ using libsecondlife;
5 31
6namespace OpenGrid.Framework.Data 32namespace OpenGrid.Framework.Data
7{ 33{
34 /// <summary>
35 /// Inventory Item - contains all the properties associated with an individual inventory piece.
36 /// </summary>
8 public class InventoryItemBase 37 public class InventoryItemBase
9 { 38 {
39 /// <summary>
40 /// A UUID containing the ID for the inventory item itself
41 /// </summary>
10 public LLUUID inventoryID; 42 public LLUUID inventoryID;
43 /// <summary>
44 /// The UUID of the associated asset on the asset server
45 /// </summary>
11 public LLUUID assetID; 46 public LLUUID assetID;
47 /// <summary>
48 /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc)
49 /// </summary>
12 public int type; 50 public int type;
51 /// <summary>
52 /// The folder this item is contained in (NULL_KEY = Inventory Root)
53 /// </summary>
13 public LLUUID parentFolderID; 54 public LLUUID parentFolderID;
55 /// <summary>
56 /// The owner of this inventory item
57 /// </summary>
14 public LLUUID avatarID; 58 public LLUUID avatarID;
59 /// <summary>
60 /// The name of the inventory item (must be less than 64 characters)
61 /// </summary>
15 public string inventoryName; 62 public string inventoryName;
63 /// <summary>
64 /// The description of the inventory item (must be less than 64 characters)
65 /// </summary>
16 public string inventoryDescription; 66 public string inventoryDescription;
67 /// <summary>
68 /// A mask containing the permissions for the next owner (cannot be enforced)
69 /// </summary>
17 public uint inventoryNextPermissions; 70 public uint inventoryNextPermissions;
71 /// <summary>
72 /// A mask containing permissions for the current owner (cannot be enforced)
73 /// </summary>
18 public uint inventoryCurrentPermissions; 74 public uint inventoryCurrentPermissions;
19 } 75 }
20 76
77 /// <summary>
78 /// A Class for folders which contain users inventory
79 /// </summary>
21 public class InventoryFolderBase 80 public class InventoryFolderBase
22 { 81 {
82 /// <summary>
83 /// The name of the folder (64 characters or less)
84 /// </summary>
23 public string name; 85 public string name;
86 /// <summary>
87 /// The agent who's inventory this is contained by
88 /// </summary>
24 public LLUUID agentID; 89 public LLUUID agentID;
90 /// <summary>
91 /// The folder this folder is contained in (NULL_KEY for root)
92 /// </summary>
25 public LLUUID parentID; 93 public LLUUID parentID;
94 /// <summary>
95 /// The UUID for this folder
96 /// </summary>
26 public LLUUID folderID; 97 public LLUUID folderID;
27 } 98 }
28 99
100 /// <summary>
101 /// An interface for accessing inventory data from a storage server
102 /// </summary>
29 public interface IInventoryData 103 public interface IInventoryData
30 { 104 {
31 /// <summary> 105 /// <summary>
diff --git a/OpenGridServices/OpenGrid.Framework.Data/SimProfileData.cs b/OpenGridServices/OpenGrid.Framework.Data/SimProfileData.cs
index c66610e..3e65420 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/SimProfileData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/SimProfileData.cs
@@ -1,9 +1,38 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
4 30
5namespace OpenGrid.Framework.Data 31namespace OpenGrid.Framework.Data
6{ 32{
33 /// <summary>
34 /// A class which contains information known to the grid server about a region
35 /// </summary>
7 public class SimProfileData 36 public class SimProfileData
8 { 37 {
9 /// <summary> 38 /// <summary>
diff --git a/OpenGridServices/OpenGrid.Framework.Data/UserData.cs b/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
index 4802c5f..d37ea71 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
@@ -1,3 +1,29 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
@@ -5,6 +31,9 @@ using libsecondlife;
5 31
6namespace OpenGrid.Framework.Data 32namespace OpenGrid.Framework.Data
7{ 33{
34 /// <summary>
35 /// An interface for connecting to user storage servers.
36 /// </summary>
8 public interface IUserData 37 public interface IUserData
9 { 38 {
10 /// <summary> 39 /// <summary>
diff --git a/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs b/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs
index 3f42762..35ebcf3 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs
@@ -1,3 +1,29 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
@@ -5,50 +31,151 @@ using libsecondlife;
5 31
6namespace OpenGrid.Framework.Data 32namespace OpenGrid.Framework.Data
7{ 33{
34 /// <summary>
35 /// Information about a particular user known to the userserver
36 /// </summary>
8 public class UserProfileData 37 public class UserProfileData
9 { 38 {
39 /// <summary>
40 /// The ID value for this user
41 /// </summary>
10 public LLUUID UUID; 42 public LLUUID UUID;
11 public string username; // The configurable part of the users username
12 public string surname; // The users surname (can be used to indicate user class - eg 'Test User' or 'Test Admin')
13 43
14 public string passwordHash; // Hash of the users password 44 /// <summary>
15 public string passwordSalt; // Salt for the users password 45 /// The first component of a users account name
46 /// </summary>
47 public string username;
48 /// <summary>
49 /// The second component of a users account name
50 /// </summary>
51 public string surname;
16 52
17 public ulong homeRegion; // RegionHandle of home 53 /// <summary>
18 public LLVector3 homeLocation; // Home Location inside the sim 54 /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
19 public LLVector3 homeLookAt; // Coordinates where the user is looking 55 /// </summary>
56 /// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks>
57 public string passwordHash;
58 /// <summary>
59 /// The salt used for the users hash, should be 32 bytes or longer
60 /// </summary>
61 public string passwordSalt;
20 62
63 /// <summary>
64 /// The regionhandle of the users preffered home region. If multiple sims occupy the same spot, the grid may decide which region the user logs into
65 /// </summary>
66 public ulong homeRegion;
67 /// <summary>
68 /// The coordinates inside the region of the home location
69 /// </summary>
70 public LLVector3 homeLocation;
71 /// <summary>
72 /// Where the user will be looking when they rez.
73 /// </summary>
74 public LLVector3 homeLookAt;
21 75
22 public int created; // UNIX Epoch Timestamp (User Creation) 76 /// <summary>
23 public int lastLogin; // UNIX Epoch Timestamp (Last Login Time) 77 /// A UNIX Timestamp (seconds since epoch) for the users creation
78 /// </summary>
79 public int created;
80 /// <summary>
81 /// A UNIX Timestamp for the users last login date / time
82 /// </summary>
83 public int lastLogin;
24 84
25 public string userInventoryURI; // URI to inventory server for this user 85 /// <summary>
26 public string userAssetURI; // URI to asset server for this user 86 /// A URI to the users inventory server, used for foreigners and large grids
87 /// </summary>
88 public string userInventoryURI;
89 /// <summary>
90 /// A URI to the users asset server, used for foreigners and large grids.
91 /// </summary>
92 public string userAssetURI;
27 93
28 public uint profileCanDoMask; // Profile window "I can do" mask 94 /// <summary>
95 /// A uint mask containing the "I can do" fields of the users profile
96 /// </summary>
97 public uint profileCanDoMask;
98 /// <summary>
99 /// A uint mask containing the "I want to do" part of the users profile
100 /// </summary>
29 public uint profileWantDoMask; // Profile window "I want to" mask 101 public uint profileWantDoMask; // Profile window "I want to" mask
30 102
31 public string profileAboutText; // My about window text 103 /// <summary>
32 public string profileFirstText; // First Life Text 104 /// The about text listed in a users profile.
105 /// </summary>
106 public string profileAboutText;
107 /// <summary>
108 /// The first life about text listed in a users profile
109 /// </summary>
110 public string profileFirstText;
33 111
34 public LLUUID profileImage; // My avatars profile image 112 /// <summary>
35 public LLUUID profileFirstImage; // First-life image 113 /// The profile image for an avatar stored on the asset server
36 public UserAgentData currentAgent; // The users last agent 114 /// </summary>
115 public LLUUID profileImage;
116 /// <summary>
117 /// The profile image for the users first life tab
118 /// </summary>
119 public LLUUID profileFirstImage;
120 /// <summary>
121 /// The users last registered agent (filled in on the user server)
122 /// </summary>
123 public UserAgentData currentAgent;
37 } 124 }
38 125
126 /// <summary>
127 /// Information about a users session
128 /// </summary>
39 public class UserAgentData 129 public class UserAgentData
40 { 130 {
41 public LLUUID UUID; // Account ID 131 /// <summary>
42 public string agentIP; // The IP of the agent 132 /// The UUID of the users avatar (not the agent!)
43 public uint agentPort; // The port of the agent 133 /// </summary>
44 public bool agentOnline; // The online status of the agent 134 public LLUUID UUID;
45 public LLUUID sessionID; // The session ID for the agent (used by client) 135 /// <summary>
46 public LLUUID secureSessionID; // The secure session ID for the agent (used by client) 136 /// The IP address of the user
47 public LLUUID regionID; // The region ID the agent occupies 137 /// </summary>
48 public int loginTime; // EPOCH based Timestamp 138 public string agentIP;
49 public int logoutTime; // Timestamp or 0 if N/A 139 /// <summary>
50 public LLUUID currentRegion; // UUID of the users current region 140 /// The port of the user
51 public ulong currentHandle; // RegionHandle of the users current region 141 /// </summary>
52 public LLVector3 currentPos; // Current position in the region 142 public uint agentPort;
143 /// <summary>
144 /// Is the user online?
145 /// </summary>
146 public bool agentOnline;
147 /// <summary>
148 /// The session ID for the user (also the agent ID)
149 /// </summary>
150 public LLUUID sessionID;
151 /// <summary>
152 /// The "secure" session ID for the user
153 /// </summary>
154 /// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks>
155 public LLUUID secureSessionID;
156 /// <summary>
157 /// The region the user logged into initially
158 /// </summary>
159 public LLUUID regionID;
160 /// <summary>
161 /// A unix timestamp from when the user logged in
162 /// </summary>
163 public int loginTime;
164 /// <summary>
165 /// When this agent expired and logged out, 0 if still online
166 /// </summary>
167 public int logoutTime;
168 /// <summary>
169 /// Current region the user is logged into
170 /// </summary>
171 public LLUUID currentRegion;
172 /// <summary>
173 /// Region handle of the current region the user is in
174 /// </summary>
175 public ulong currentHandle;
176 /// <summary>
177 /// The position of the user within the region
178 /// </summary>
179 public LLVector3 currentPos;
53 } 180 }
54} 181}