diff options
Diffstat (limited to 'OpenSim/Data')
-rw-r--r-- | OpenSim/Data/AssetDataBase.cs | 20 | ||||
-rw-r--r-- | OpenSim/Data/DataStoreBase.cs | 10 | ||||
-rw-r--r-- | OpenSim/Data/GridDataBase.cs | 22 | ||||
-rw-r--r-- | OpenSim/Data/IGridData.cs | 118 | ||||
-rw-r--r-- | OpenSim/Data/ILogData.cs | 91 | ||||
-rw-r--r-- | OpenSim/Data/IniConfig.cs | 98 | ||||
-rw-r--r-- | OpenSim/Data/InventoryDataBase.cs | 10 | ||||
-rw-r--r-- | OpenSim/Data/OpenSimDataReader.cs | 64 | ||||
-rw-r--r-- | OpenSim/Data/OpenSimDatabaseConnector.cs | 57 | ||||
-rw-r--r-- | OpenSim/Data/OpenSimObjectFieldMapper.cs | 102 | ||||
-rw-r--r-- | OpenSim/Data/OpenSimTableMapper.cs | 40 | ||||
-rw-r--r-- | OpenSim/Data/PrimitiveBaseShapeTableMapper.cs | 170 | ||||
-rw-r--r-- | OpenSim/Data/Properties/AssemblyInfo.cs | 65 | ||||
-rw-r--r-- | OpenSim/Data/RegionProfileData.cs | 257 | ||||
-rw-r--r-- | OpenSim/Data/ReservationData.cs | 47 | ||||
-rw-r--r-- | OpenSim/Data/UserDataBase.cs | 29 |
16 files changed, 1200 insertions, 0 deletions
diff --git a/OpenSim/Data/AssetDataBase.cs b/OpenSim/Data/AssetDataBase.cs new file mode 100644 index 0000000..0f3044e --- /dev/null +++ b/OpenSim/Data/AssetDataBase.cs | |||
@@ -0,0 +1,20 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using libsecondlife; | ||
5 | |||
6 | namespace OpenSim.Framework.Data | ||
7 | { | ||
8 | public abstract class AssetDataBase : IAssetProvider | ||
9 | { | ||
10 | public abstract AssetBase FetchAsset(LLUUID uuid); | ||
11 | public abstract void CreateAsset(AssetBase asset); | ||
12 | public abstract void UpdateAsset(AssetBase asset); | ||
13 | public abstract bool ExistsAsset(LLUUID uuid); | ||
14 | public abstract void CommitAssets(); | ||
15 | |||
16 | public abstract string Version { get; } | ||
17 | public abstract string Name { get; } | ||
18 | public abstract void Initialise(); | ||
19 | } | ||
20 | } | ||
diff --git a/OpenSim/Data/DataStoreBase.cs b/OpenSim/Data/DataStoreBase.cs new file mode 100644 index 0000000..92604f2 --- /dev/null +++ b/OpenSim/Data/DataStoreBase.cs | |||
@@ -0,0 +1,10 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | |||
5 | namespace OpenSim.Framework.Data | ||
6 | { | ||
7 | public abstract class DataStoreBase | ||
8 | { | ||
9 | } | ||
10 | } | ||
diff --git a/OpenSim/Data/GridDataBase.cs b/OpenSim/Data/GridDataBase.cs new file mode 100644 index 0000000..9d6e832 --- /dev/null +++ b/OpenSim/Data/GridDataBase.cs | |||
@@ -0,0 +1,22 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using libsecondlife; | ||
5 | |||
6 | namespace OpenSim.Framework.Data | ||
7 | { | ||
8 | public abstract class GridDataBase : IGridData | ||
9 | { | ||
10 | public abstract RegionProfileData GetProfileByHandle(ulong regionHandle); | ||
11 | public abstract RegionProfileData GetProfileByLLUUID(LLUUID UUID); | ||
12 | public abstract RegionProfileData GetProfileByString(string regionName); | ||
13 | public abstract RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); | ||
14 | public abstract bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey); | ||
15 | public abstract void Initialise(); | ||
16 | public abstract void Close(); | ||
17 | public abstract string getName(); | ||
18 | public abstract string getVersion(); | ||
19 | public abstract DataResponse AddProfile(RegionProfileData profile); | ||
20 | public abstract ReservationData GetReservationAtPoint(uint x, uint y); | ||
21 | } | ||
22 | } | ||
diff --git a/OpenSim/Data/IGridData.cs b/OpenSim/Data/IGridData.cs new file mode 100644 index 0000000..af51d0d --- /dev/null +++ b/OpenSim/Data/IGridData.cs | |||
@@ -0,0 +1,118 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System.Collections.Generic; | ||
29 | using libsecondlife; | ||
30 | |||
31 | namespace OpenSim.Framework.Data | ||
32 | { | ||
33 | public enum DataResponse | ||
34 | { | ||
35 | RESPONSE_OK, | ||
36 | RESPONSE_AUTHREQUIRED, | ||
37 | RESPONSE_INVALIDCREDENTIALS, | ||
38 | RESPONSE_ERROR | ||
39 | } | ||
40 | |||
41 | /// <summary> | ||
42 | /// A standard grid interface | ||
43 | /// </summary> | ||
44 | public interface IGridData | ||
45 | { | ||
46 | /// <summary> | ||
47 | /// Returns a sim profile from a regionHandle | ||
48 | /// </summary> | ||
49 | /// <param name="regionHandle">A 64bit Region Handle</param> | ||
50 | /// <returns>A simprofile</returns> | ||
51 | RegionProfileData GetProfileByHandle(ulong regionHandle); | ||
52 | |||
53 | /// <summary> | ||
54 | /// Returns a sim profile from a UUID | ||
55 | /// </summary> | ||
56 | /// <param name="UUID">A 128bit UUID</param> | ||
57 | /// <returns>A sim profile</returns> | ||
58 | RegionProfileData GetProfileByLLUUID(LLUUID UUID); | ||
59 | |||
60 | /// <summary> | ||
61 | /// Returns a sim profile from a string match | ||
62 | /// </summary> | ||
63 | /// <param name="regionName">A string for a partial region name match</param> | ||
64 | /// <returns>A sim profile</returns> | ||
65 | RegionProfileData GetProfileByString(string regionName); | ||
66 | |||
67 | /// <summary> | ||
68 | /// Returns all profiles within the specified range | ||
69 | /// </summary> | ||
70 | /// <param name="Xmin">Minimum sim coordinate (X)</param> | ||
71 | /// <param name="Ymin">Minimum sim coordinate (Y)</param> | ||
72 | /// <param name="Xmax">Maximum sim coordinate (X)</param> | ||
73 | /// <param name="Ymin">Maximum sim coordinate (Y)</param> | ||
74 | /// <returns>An array containing all the sim profiles in the specified range</returns> | ||
75 | RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); | ||
76 | |||
77 | /// <summary> | ||
78 | /// Authenticates a sim by use of its recv key. | ||
79 | /// WARNING: Insecure | ||
80 | /// </summary> | ||
81 | /// <param name="UUID">The UUID sent by the sim</param> | ||
82 | /// <param name="regionHandle">The regionhandle sent by the sim</param> | ||
83 | /// <param name="simrecvkey">The receiving key sent by the sim</param> | ||
84 | /// <returns>Whether the sim has been authenticated</returns> | ||
85 | bool AuthenticateSim(LLUUID UUID, ulong regionHandle, string simrecvkey); | ||
86 | |||
87 | /// <summary> | ||
88 | /// Initialises the interface | ||
89 | /// </summary> | ||
90 | void Initialise(); | ||
91 | |||
92 | /// <summary> | ||
93 | /// Closes the interface | ||
94 | /// </summary> | ||
95 | void Close(); | ||
96 | |||
97 | /// <summary> | ||
98 | /// The plugin being loaded | ||
99 | /// </summary> | ||
100 | /// <returns>A string containing the plugin name</returns> | ||
101 | string getName(); | ||
102 | |||
103 | /// <summary> | ||
104 | /// The plugins version | ||
105 | /// </summary> | ||
106 | /// <returns>A string containing the plugin version</returns> | ||
107 | string getVersion(); | ||
108 | |||
109 | /// <summary> | ||
110 | /// Adds a new profile to the database | ||
111 | /// </summary> | ||
112 | /// <param name="profile">The profile to add</param> | ||
113 | /// <returns>RESPONSE_OK if successful, error if not.</returns> | ||
114 | DataResponse AddProfile(RegionProfileData profile); | ||
115 | |||
116 | ReservationData GetReservationAtPoint(uint x, uint y); | ||
117 | } | ||
118 | } | ||
diff --git a/OpenSim/Data/ILogData.cs b/OpenSim/Data/ILogData.cs new file mode 100644 index 0000000..1751ff5 --- /dev/null +++ b/OpenSim/Data/ILogData.cs | |||
@@ -0,0 +1,91 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | namespace OpenSim.Framework.Data | ||
29 | { | ||
30 | /// <summary> | ||
31 | /// The severity of an individual log message | ||
32 | /// </summary> | ||
33 | public enum LogSeverity : int | ||
34 | { | ||
35 | /// <summary> | ||
36 | /// Critical: systems failure | ||
37 | /// </summary> | ||
38 | CRITICAL = 1, | ||
39 | /// <summary> | ||
40 | /// Major: warning prior to systems failure | ||
41 | /// </summary> | ||
42 | MAJOR = 2, | ||
43 | /// <summary> | ||
44 | /// Medium: an individual non-critical task failed | ||
45 | /// </summary> | ||
46 | MEDIUM = 3, | ||
47 | /// <summary> | ||
48 | /// Low: Informational warning | ||
49 | /// </summary> | ||
50 | LOW = 4, | ||
51 | /// <summary> | ||
52 | /// Info: Information | ||
53 | /// </summary> | ||
54 | INFO = 5, | ||
55 | /// <summary> | ||
56 | /// Verbose: Debug Information | ||
57 | /// </summary> | ||
58 | VERBOSE = 6 | ||
59 | } | ||
60 | |||
61 | /// <summary> | ||
62 | /// An interface to a LogData storage system | ||
63 | /// </summary> | ||
64 | public interface ILogData | ||
65 | { | ||
66 | void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority, | ||
67 | string logMessage); | ||
68 | |||
69 | /// <summary> | ||
70 | /// Initialises the interface | ||
71 | /// </summary> | ||
72 | void Initialise(); | ||
73 | |||
74 | /// <summary> | ||
75 | /// Closes the interface | ||
76 | /// </summary> | ||
77 | void Close(); | ||
78 | |||
79 | /// <summary> | ||
80 | /// The plugin being loaded | ||
81 | /// </summary> | ||
82 | /// <returns>A string containing the plugin name</returns> | ||
83 | string getName(); | ||
84 | |||
85 | /// <summary> | ||
86 | /// The plugins version | ||
87 | /// </summary> | ||
88 | /// <returns>A string containing the plugin version</returns> | ||
89 | string getVersion(); | ||
90 | } | ||
91 | } | ||
diff --git a/OpenSim/Data/IniConfig.cs b/OpenSim/Data/IniConfig.cs new file mode 100644 index 0000000..47e96c8 --- /dev/null +++ b/OpenSim/Data/IniConfig.cs | |||
@@ -0,0 +1,98 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System.IO; | ||
29 | using System.Text.RegularExpressions; | ||
30 | |||
31 | /* | ||
32 | Taken from public code listing at by Alex Pinsker | ||
33 | http://alexpinsker.blogspot.com/2005/12/reading-ini-file-from-c_113432097333021549.html | ||
34 | */ | ||
35 | |||
36 | namespace OpenSim.Framework.Data | ||
37 | { | ||
38 | /// <summary> | ||
39 | /// Parse settings from ini-like files | ||
40 | /// </summary> | ||
41 | public class IniFile | ||
42 | { | ||
43 | static IniFile() | ||
44 | { | ||
45 | _iniKeyValuePatternRegex = new Regex( | ||
46 | @"((\s)*(?<Key>([^\=^\s^\n]+))[\s^\n]* | ||
47 | # key part (surrounding whitespace stripped) | ||
48 | \= | ||
49 | (\s)*(?<Value>([^\n^\s]+(\n){0,1}))) | ||
50 | # value part (surrounding whitespace stripped) | ||
51 | ", | ||
52 | RegexOptions.IgnorePatternWhitespace | | ||
53 | RegexOptions.Compiled | | ||
54 | RegexOptions.CultureInvariant); | ||
55 | } | ||
56 | |||
57 | private static Regex _iniKeyValuePatternRegex; | ||
58 | |||
59 | public IniFile(string iniFileName) | ||
60 | { | ||
61 | _iniFileName = iniFileName; | ||
62 | } | ||
63 | |||
64 | public string ParseFileReadValue(string key) | ||
65 | { | ||
66 | using (StreamReader reader = | ||
67 | new StreamReader(_iniFileName)) | ||
68 | { | ||
69 | do | ||
70 | { | ||
71 | string line = reader.ReadLine(); | ||
72 | Match match = | ||
73 | _iniKeyValuePatternRegex.Match(line); | ||
74 | if (match.Success) | ||
75 | { | ||
76 | string currentKey = | ||
77 | match.Groups["Key"].Value as string; | ||
78 | if (currentKey != null && | ||
79 | currentKey.Trim().CompareTo(key) == 0) | ||
80 | { | ||
81 | string value = | ||
82 | match.Groups["Value"].Value as string; | ||
83 | return value; | ||
84 | } | ||
85 | } | ||
86 | } while (reader.Peek() != -1); | ||
87 | } | ||
88 | return null; | ||
89 | } | ||
90 | |||
91 | public string IniFileName | ||
92 | { | ||
93 | get { return _iniFileName; } | ||
94 | } | ||
95 | |||
96 | private string _iniFileName; | ||
97 | } | ||
98 | } | ||
diff --git a/OpenSim/Data/InventoryDataBase.cs b/OpenSim/Data/InventoryDataBase.cs new file mode 100644 index 0000000..afddbf1 --- /dev/null +++ b/OpenSim/Data/InventoryDataBase.cs | |||
@@ -0,0 +1,10 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | |||
5 | namespace OpenSim.Framework.Data | ||
6 | { | ||
7 | public abstract class InventoryDataBase | ||
8 | { | ||
9 | } | ||
10 | } | ||
diff --git a/OpenSim/Data/OpenSimDataReader.cs b/OpenSim/Data/OpenSimDataReader.cs new file mode 100644 index 0000000..538af8f --- /dev/null +++ b/OpenSim/Data/OpenSimDataReader.cs | |||
@@ -0,0 +1,64 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using System.Data; | ||
30 | using libsecondlife; | ||
31 | using OpenSim.Framework.Data.Base; | ||
32 | |||
33 | namespace OpenSim.Framework.Data | ||
34 | { | ||
35 | public class OpenSimDataReader : BaseDataReader | ||
36 | { | ||
37 | public OpenSimDataReader(IDataReader source) : base(source) | ||
38 | { | ||
39 | } | ||
40 | |||
41 | public LLVector3 GetVector(string s) | ||
42 | { | ||
43 | float x = GetFloat(s + "X"); | ||
44 | float y = GetFloat(s + "Y"); | ||
45 | float z = GetFloat(s + "Z"); | ||
46 | |||
47 | LLVector3 vector = new LLVector3(x, y, z); | ||
48 | |||
49 | return vector; | ||
50 | } | ||
51 | |||
52 | public LLQuaternion GetQuaternion(string s) | ||
53 | { | ||
54 | float x = GetFloat(s + "X"); | ||
55 | float y = GetFloat(s + "Y"); | ||
56 | float z = GetFloat(s + "Z"); | ||
57 | float w = GetFloat(s + "W"); | ||
58 | |||
59 | LLQuaternion quaternion = new LLQuaternion(x, y, z, w); | ||
60 | |||
61 | return quaternion; | ||
62 | } | ||
63 | } | ||
64 | } | ||
diff --git a/OpenSim/Data/OpenSimDatabaseConnector.cs b/OpenSim/Data/OpenSimDatabaseConnector.cs new file mode 100644 index 0000000..809fd1e --- /dev/null +++ b/OpenSim/Data/OpenSimDatabaseConnector.cs | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System.Data; | ||
29 | using System.Data.Common; | ||
30 | using libsecondlife; | ||
31 | |||
32 | using OpenSim.Framework.Data.Base; | ||
33 | |||
34 | namespace OpenSim.Framework.Data | ||
35 | { | ||
36 | public abstract class OpenSimDatabaseConnector : BaseDatabaseConnector | ||
37 | { | ||
38 | public OpenSimDatabaseConnector(string connectionString) : base(connectionString) | ||
39 | { | ||
40 | } | ||
41 | |||
42 | public override object ConvertToDbType(object value) | ||
43 | { | ||
44 | if (value is LLUUID) | ||
45 | { | ||
46 | return ((LLUUID) value).UUID.ToString(); | ||
47 | } | ||
48 | |||
49 | return base.ConvertToDbType(value); | ||
50 | } | ||
51 | |||
52 | public override BaseDataReader CreateReader(IDataReader reader) | ||
53 | { | ||
54 | return new OpenSimDataReader(reader); | ||
55 | } | ||
56 | } | ||
57 | } | ||
diff --git a/OpenSim/Data/OpenSimObjectFieldMapper.cs b/OpenSim/Data/OpenSimObjectFieldMapper.cs new file mode 100644 index 0000000..dfcca1b --- /dev/null +++ b/OpenSim/Data/OpenSimObjectFieldMapper.cs | |||
@@ -0,0 +1,102 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using System.Collections.Generic; | ||
30 | using System.Data.Common; | ||
31 | using System.Text; | ||
32 | using libsecondlife; | ||
33 | |||
34 | using OpenSim.Framework.Data.Base; | ||
35 | |||
36 | namespace OpenSim.Framework.Data | ||
37 | { | ||
38 | public class OpenSimObjectFieldMapper<TObject, TField> : ObjectField<TObject, TField> | ||
39 | { | ||
40 | public OpenSimObjectFieldMapper(BaseTableMapper tableMapper, string fieldName, | ||
41 | ObjectGetAccessor<TObject, TField> rowMapperGetAccessor, | ||
42 | ObjectSetAccessor<TObject, TField> rowMapperSetAccessor) | ||
43 | : base(tableMapper, fieldName, rowMapperGetAccessor, rowMapperSetAccessor) | ||
44 | { | ||
45 | } | ||
46 | |||
47 | public override void ExpandField<TObj>(TObj obj, DbCommand command, List<string> fieldNames) | ||
48 | { | ||
49 | string fieldName = FieldName; | ||
50 | object value = GetParamValue(obj); | ||
51 | |||
52 | if (ValueType == typeof(LLVector3)) | ||
53 | { | ||
54 | LLVector3 vector = (LLVector3)value; | ||
55 | |||
56 | RawAddParam(command, fieldNames, fieldName + "X", vector.X); | ||
57 | RawAddParam(command, fieldNames, fieldName + "Y", vector.Y); | ||
58 | RawAddParam(command, fieldNames, fieldName + "Z", vector.Z); | ||
59 | } | ||
60 | else if (ValueType == typeof(LLQuaternion)) | ||
61 | { | ||
62 | LLQuaternion quaternion = (LLQuaternion)value; | ||
63 | |||
64 | RawAddParam(command, fieldNames, fieldName + "X", quaternion.X); | ||
65 | RawAddParam(command, fieldNames, fieldName + "Y", quaternion.Y); | ||
66 | RawAddParam(command, fieldNames, fieldName + "Z", quaternion.Z); | ||
67 | RawAddParam(command, fieldNames, fieldName + "W", quaternion.W); | ||
68 | } | ||
69 | else | ||
70 | { | ||
71 | base.ExpandField(obj, command, fieldNames); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | protected override object GetValue(BaseDataReader reader) | ||
76 | { | ||
77 | object value; | ||
78 | |||
79 | OpenSimDataReader osreader = (OpenSimDataReader) reader; | ||
80 | |||
81 | if (ValueType == typeof(LLVector3)) | ||
82 | { | ||
83 | value = osreader.GetVector(FieldName); | ||
84 | } | ||
85 | else if (ValueType == typeof(LLQuaternion)) | ||
86 | { | ||
87 | value = osreader.GetQuaternion(FieldName); | ||
88 | } | ||
89 | else if (ValueType == typeof(LLUUID)) | ||
90 | { | ||
91 | Guid guid = reader.GetGuid(FieldName); | ||
92 | value = new LLUUID(guid); | ||
93 | } | ||
94 | else | ||
95 | { | ||
96 | value = base.GetValue(reader); | ||
97 | } | ||
98 | |||
99 | return value; | ||
100 | } | ||
101 | } | ||
102 | } | ||
diff --git a/OpenSim/Data/OpenSimTableMapper.cs b/OpenSim/Data/OpenSimTableMapper.cs new file mode 100644 index 0000000..cd3d1af --- /dev/null +++ b/OpenSim/Data/OpenSimTableMapper.cs | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System.Data; | ||
29 | |||
30 | using OpenSim.Framework.Data.Base; | ||
31 | |||
32 | namespace OpenSim.Framework.Data | ||
33 | { | ||
34 | public abstract class OpenSimTableMapper<TRowMapper, TPrimaryKey> : BaseTableMapper<TRowMapper, TPrimaryKey> | ||
35 | { | ||
36 | public OpenSimTableMapper(BaseDatabaseConnector database, string tableName) : base(database, tableName) | ||
37 | { | ||
38 | } | ||
39 | } | ||
40 | } | ||
diff --git a/OpenSim/Data/PrimitiveBaseShapeTableMapper.cs b/OpenSim/Data/PrimitiveBaseShapeTableMapper.cs new file mode 100644 index 0000000..51adf89 --- /dev/null +++ b/OpenSim/Data/PrimitiveBaseShapeTableMapper.cs | |||
@@ -0,0 +1,170 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using OpenSim.Framework; | ||
30 | using OpenSim.Framework.Data.Base; | ||
31 | using libsecondlife; | ||
32 | |||
33 | namespace OpenSim.Framework.Data | ||
34 | { | ||
35 | public class PrimitiveBaseShapeRowMapper : BaseRowMapper<PrimitiveBaseShape> | ||
36 | { | ||
37 | public Guid SceneObjectPartId; | ||
38 | |||
39 | public PrimitiveBaseShapeRowMapper(BaseSchema schema, PrimitiveBaseShape obj) : base(schema, obj) | ||
40 | { | ||
41 | } | ||
42 | } | ||
43 | |||
44 | public class PrimitiveBaseShapeTableMapper : OpenSimTableMapper<PrimitiveBaseShapeRowMapper, Guid> | ||
45 | { | ||
46 | public PrimitiveBaseShapeTableMapper(BaseDatabaseConnector connection, string tableName) | ||
47 | : base(connection, tableName) | ||
48 | { | ||
49 | BaseSchema<PrimitiveBaseShapeRowMapper> rowMapperSchema = new BaseSchema<PrimitiveBaseShapeRowMapper>(this); | ||
50 | m_schema = rowMapperSchema; | ||
51 | |||
52 | m_keyFieldMapper = rowMapperSchema.AddMapping<Guid>("SceneObjectPartId", | ||
53 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.SceneObjectPartId; }, | ||
54 | delegate(PrimitiveBaseShapeRowMapper shape, Guid value) { shape.SceneObjectPartId = value; }); | ||
55 | |||
56 | rowMapperSchema.AddMapping<byte>("PCode", | ||
57 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PCode; }, | ||
58 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PCode = value; }); | ||
59 | |||
60 | rowMapperSchema.AddMapping<ushort>("PathBegin", | ||
61 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathBegin; }, | ||
62 | delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.PathBegin = value; }); | ||
63 | |||
64 | rowMapperSchema.AddMapping<ushort>("PathEnd", | ||
65 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathEnd; }, | ||
66 | delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.PathEnd = value; }); | ||
67 | |||
68 | rowMapperSchema.AddMapping<byte>("PathScaleX", | ||
69 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathScaleX; }, | ||
70 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathScaleX = value; }); | ||
71 | |||
72 | rowMapperSchema.AddMapping<byte>("PathScaleY", | ||
73 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathScaleY; }, | ||
74 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathScaleY = value; }); | ||
75 | |||
76 | rowMapperSchema.AddMapping<byte>("PathShearX", | ||
77 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathShearX; }, | ||
78 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathShearX = value; }); | ||
79 | |||
80 | rowMapperSchema.AddMapping<byte>("PathShearY", | ||
81 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathShearY; }, | ||
82 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathShearY = value; }); | ||
83 | |||
84 | rowMapperSchema.AddMapping<ushort>("ProfileBegin", | ||
85 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileBegin; }, | ||
86 | delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileBegin = value; }); | ||
87 | |||
88 | rowMapperSchema.AddMapping<ushort>("ProfileEnd", | ||
89 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileEnd; }, | ||
90 | delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileEnd = value; }); | ||
91 | |||
92 | rowMapperSchema.AddMapping<LLVector3>("Scale", | ||
93 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.Scale; }, | ||
94 | delegate(PrimitiveBaseShapeRowMapper shape, LLVector3 value) { shape.Object.Scale = value; }); | ||
95 | |||
96 | rowMapperSchema.AddMapping<sbyte>("PathTaperX", | ||
97 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTaperX; }, | ||
98 | delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTaperX = value; }); | ||
99 | |||
100 | rowMapperSchema.AddMapping<sbyte>("PathTaperY", | ||
101 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTaperY; }, | ||
102 | delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTaperY = value; }); | ||
103 | |||
104 | rowMapperSchema.AddMapping<sbyte>("PathTwist", | ||
105 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTwist; }, | ||
106 | delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTwist = value; }); | ||
107 | |||
108 | rowMapperSchema.AddMapping<sbyte>("PathRadiusOffset", | ||
109 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathRadiusOffset; }, | ||
110 | delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathRadiusOffset = value; }); | ||
111 | |||
112 | rowMapperSchema.AddMapping<byte>("PathRevolutions", | ||
113 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathRevolutions; }, | ||
114 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathRevolutions = value; }); | ||
115 | |||
116 | rowMapperSchema.AddMapping<sbyte>("PathTwistBegin", | ||
117 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathTwistBegin; }, | ||
118 | delegate(PrimitiveBaseShapeRowMapper shape, sbyte value) { shape.Object.PathTwistBegin = value; }); | ||
119 | |||
120 | rowMapperSchema.AddMapping<byte>("PathCurve", | ||
121 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.PathCurve; }, | ||
122 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.PathCurve = value; }); | ||
123 | |||
124 | rowMapperSchema.AddMapping<byte>("ProfileCurve", | ||
125 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileCurve; }, | ||
126 | delegate(PrimitiveBaseShapeRowMapper shape, byte value) { shape.Object.ProfileCurve = value; }); | ||
127 | |||
128 | rowMapperSchema.AddMapping<ushort>("ProfileHollow", | ||
129 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ProfileHollow; }, | ||
130 | delegate(PrimitiveBaseShapeRowMapper shape, ushort value) { shape.Object.ProfileHollow = value; }); | ||
131 | |||
132 | rowMapperSchema.AddMapping<byte[]>("TextureEntry", | ||
133 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.TextureEntry; }, | ||
134 | delegate(PrimitiveBaseShapeRowMapper shape, byte[] value) { shape.Object.TextureEntry = value; }); | ||
135 | |||
136 | rowMapperSchema.AddMapping<byte[]>("ExtraParams", | ||
137 | delegate(PrimitiveBaseShapeRowMapper shape) { return shape.Object.ExtraParams; }, | ||
138 | delegate(PrimitiveBaseShapeRowMapper shape, byte[] value) { shape.Object.ExtraParams = value; }); | ||
139 | } | ||
140 | |||
141 | public override PrimitiveBaseShapeRowMapper FromReader(BaseDataReader reader) | ||
142 | { | ||
143 | PrimitiveBaseShape shape = new PrimitiveBaseShape(); | ||
144 | |||
145 | PrimitiveBaseShapeRowMapper mapper = new PrimitiveBaseShapeRowMapper(m_schema, shape); | ||
146 | mapper.FillObject( reader ); | ||
147 | |||
148 | return mapper; | ||
149 | } | ||
150 | |||
151 | public bool Update(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) | ||
152 | { | ||
153 | PrimitiveBaseShapeRowMapper mapper = CreateRowMapper(sceneObjectPartId, primitiveBaseShape); | ||
154 | return Update(sceneObjectPartId, mapper); | ||
155 | } | ||
156 | |||
157 | public bool Add(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) | ||
158 | { | ||
159 | PrimitiveBaseShapeRowMapper mapper = CreateRowMapper(sceneObjectPartId, primitiveBaseShape); | ||
160 | return Add(mapper); | ||
161 | } | ||
162 | |||
163 | private PrimitiveBaseShapeRowMapper CreateRowMapper(Guid sceneObjectPartId, PrimitiveBaseShape primitiveBaseShape) | ||
164 | { | ||
165 | PrimitiveBaseShapeRowMapper mapper = new PrimitiveBaseShapeRowMapper( m_schema, primitiveBaseShape ); | ||
166 | mapper.SceneObjectPartId = sceneObjectPartId; | ||
167 | return mapper; | ||
168 | } | ||
169 | } | ||
170 | } | ||
diff --git a/OpenSim/Data/Properties/AssemblyInfo.cs b/OpenSim/Data/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7b65a09 --- /dev/null +++ b/OpenSim/Data/Properties/AssemblyInfo.cs | |||
@@ -0,0 +1,65 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System.Reflection; | ||
29 | using System.Runtime.InteropServices; | ||
30 | |||
31 | // General Information about an assembly is controlled through the following | ||
32 | // set of attributes. Change these attribute values to modify the information | ||
33 | // associated with an assembly. | ||
34 | |||
35 | [assembly : AssemblyTitle("OpenSim.Framework.Data")] | ||
36 | [assembly : AssemblyDescription("")] | ||
37 | [assembly : AssemblyConfiguration("")] | ||
38 | [assembly : AssemblyCompany("")] | ||
39 | [assembly : AssemblyProduct("OpenSim.Framework.Data")] | ||
40 | [assembly : AssemblyCopyright("Copyright (c) OpenSimulator.org Developers 2007-2008")] | ||
41 | [assembly : AssemblyTrademark("")] | ||
42 | [assembly : AssemblyCulture("")] | ||
43 | |||
44 | // Setting ComVisible to false makes the types in this assembly not visible | ||
45 | // to COM components. If you need to access a type in this assembly from | ||
46 | // COM, set the ComVisible attribute to true on that type. | ||
47 | |||
48 | [assembly : ComVisible(false)] | ||
49 | |||
50 | // The following GUID is for the ID of the typelib if this project is exposed to COM | ||
51 | |||
52 | [assembly : Guid("3a711c34-b0c0-4264-b0fe-f366eabf9d7b")] | ||
53 | |||
54 | // Version information for an assembly consists of the following four values: | ||
55 | // | ||
56 | // Major Version | ||
57 | // Minor Version | ||
58 | // Build Number | ||
59 | // Revision | ||
60 | // | ||
61 | // You can specify all the values or you can default the Revision and Build Numbers | ||
62 | // by using the '*' as shown below: | ||
63 | |||
64 | [assembly : AssemblyVersion("1.0.0.0")] | ||
65 | [assembly : AssemblyFileVersion("1.0.0.0")] | ||
diff --git a/OpenSim/Data/RegionProfileData.cs b/OpenSim/Data/RegionProfileData.cs new file mode 100644 index 0000000..96351e0 --- /dev/null +++ b/OpenSim/Data/RegionProfileData.cs | |||
@@ -0,0 +1,257 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using System.Collections; | ||
30 | using libsecondlife; | ||
31 | using Nwc.XmlRpc; | ||
32 | |||
33 | namespace OpenSim.Framework.Data | ||
34 | { | ||
35 | /// <summary> | ||
36 | /// A class which contains information known to the grid server about a region | ||
37 | /// </summary> | ||
38 | public class RegionProfileData | ||
39 | { | ||
40 | /// <summary> | ||
41 | /// The name of the region | ||
42 | /// </summary> | ||
43 | public string regionName = String.Empty; | ||
44 | |||
45 | /// <summary> | ||
46 | /// A 64-bit number combining map position into a (mostly) unique ID | ||
47 | /// </summary> | ||
48 | public ulong regionHandle; | ||
49 | |||
50 | /// <summary> | ||
51 | /// OGS/OpenSim Specific ID for a region | ||
52 | /// </summary> | ||
53 | public LLUUID UUID; | ||
54 | |||
55 | /// <summary> | ||
56 | /// Coordinates of the region | ||
57 | /// </summary> | ||
58 | public uint regionLocX; | ||
59 | public uint regionLocY; | ||
60 | public uint regionLocZ; // Reserved (round-robin, layers, etc) | ||
61 | |||
62 | /// <summary> | ||
63 | /// Authentication secrets | ||
64 | /// </summary> | ||
65 | /// <remarks>Not very secure, needs improvement.</remarks> | ||
66 | public string regionSendKey = String.Empty; | ||
67 | public string regionRecvKey = String.Empty; | ||
68 | public string regionSecret = String.Empty; | ||
69 | |||
70 | /// <summary> | ||
71 | /// Whether the region is online | ||
72 | /// </summary> | ||
73 | public bool regionOnline; | ||
74 | |||
75 | /// <summary> | ||
76 | /// Information about the server that the region is currently hosted on | ||
77 | /// </summary> | ||
78 | public string serverIP = String.Empty; | ||
79 | public uint serverPort; | ||
80 | public string serverURI = String.Empty; | ||
81 | |||
82 | public uint httpPort; | ||
83 | public uint remotingPort; | ||
84 | public string httpServerURI = String.Empty; | ||
85 | |||
86 | /// <summary> | ||
87 | /// Set of optional overrides. Can be used to create non-eulicidean spaces. | ||
88 | /// </summary> | ||
89 | public ulong regionNorthOverrideHandle; | ||
90 | public ulong regionSouthOverrideHandle; | ||
91 | public ulong regionEastOverrideHandle; | ||
92 | public ulong regionWestOverrideHandle; | ||
93 | |||
94 | /// <summary> | ||
95 | /// Optional: URI Location of the region database | ||
96 | /// </summary> | ||
97 | /// <remarks>Used for floating sim pools where the region data is not nessecarily coupled to a specific server</remarks> | ||
98 | public string regionDataURI = String.Empty; | ||
99 | |||
100 | /// <summary> | ||
101 | /// Region Asset Details | ||
102 | /// </summary> | ||
103 | public string regionAssetURI = String.Empty; | ||
104 | |||
105 | public string regionAssetSendKey = String.Empty; | ||
106 | public string regionAssetRecvKey = String.Empty; | ||
107 | |||
108 | /// <summary> | ||
109 | /// Region Userserver Details | ||
110 | /// </summary> | ||
111 | public string regionUserURI = String.Empty; | ||
112 | |||
113 | public string regionUserSendKey = String.Empty; | ||
114 | public string regionUserRecvKey = String.Empty; | ||
115 | |||
116 | /// <summary> | ||
117 | /// Region Map Texture Asset | ||
118 | /// </summary> | ||
119 | public LLUUID regionMapTextureID = new LLUUID("00000000-0000-1111-9999-000000000006"); | ||
120 | |||
121 | /// <summary> | ||
122 | /// this particular mod to the file provides support within the spec for RegionProfileData for the | ||
123 | /// owner_uuid for the region | ||
124 | /// </summary> | ||
125 | public LLUUID owner_uuid = LLUUID.Zero; | ||
126 | |||
127 | /// <summary> | ||
128 | /// OGS/OpenSim Specific original ID for a region after move/split | ||
129 | /// </summary> | ||
130 | public LLUUID originUUID; | ||
131 | |||
132 | /// <summary> | ||
133 | /// Get Sim profile data from grid server when in grid mode | ||
134 | /// </summary> | ||
135 | /// <param name="region_uuid"></param> | ||
136 | /// <param name="gridserver_url"></param> | ||
137 | /// <param name="?"></param> | ||
138 | /// <returns></returns> | ||
139 | public RegionProfileData RequestSimProfileData(LLUUID region_uuid, string gridserver_url, | ||
140 | string gridserver_sendkey, string gridserver_recvkey) | ||
141 | { | ||
142 | Hashtable requestData = new Hashtable(); | ||
143 | requestData["region_uuid"] = region_uuid.UUID.ToString(); | ||
144 | requestData["authkey"] = gridserver_sendkey; | ||
145 | ArrayList SendParams = new ArrayList(); | ||
146 | SendParams.Add(requestData); | ||
147 | XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); | ||
148 | XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); | ||
149 | |||
150 | Hashtable responseData = (Hashtable) GridResp.Value; | ||
151 | |||
152 | if (responseData.ContainsKey("error")) | ||
153 | { | ||
154 | return null; | ||
155 | } | ||
156 | |||
157 | RegionProfileData simData = new RegionProfileData(); | ||
158 | simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); | ||
159 | simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); | ||
160 | simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); | ||
161 | simData.serverIP = (string) responseData["sim_ip"]; | ||
162 | simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); | ||
163 | simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); | ||
164 | simData.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); | ||
165 | simData.serverURI = (string)responseData["server_uri"]; | ||
166 | simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; | ||
167 | simData.UUID = new LLUUID((string) responseData["region_UUID"]); | ||
168 | simData.regionName = (string) responseData["region_name"]; | ||
169 | |||
170 | return simData; | ||
171 | } | ||
172 | |||
173 | /// <summary> | ||
174 | /// Request sim profile information from a grid server | ||
175 | /// </summary> | ||
176 | /// <param name="region_handle"></param> | ||
177 | /// <param name="gridserver_url"></param> | ||
178 | /// <param name="gridserver_sendkey"></param> | ||
179 | /// <param name="gridserver_recvkey"></param> | ||
180 | /// <returns>The sim profile. Null if there was a request failure</returns> | ||
181 | public static RegionProfileData RequestSimProfileData(ulong region_handle, string gridserver_url, | ||
182 | string gridserver_sendkey, string gridserver_recvkey) | ||
183 | { | ||
184 | Hashtable requestData = new Hashtable(); | ||
185 | requestData["region_handle"] = region_handle.ToString(); | ||
186 | requestData["authkey"] = gridserver_sendkey; | ||
187 | ArrayList SendParams = new ArrayList(); | ||
188 | SendParams.Add(requestData); | ||
189 | XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); | ||
190 | XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); | ||
191 | |||
192 | Hashtable responseData = (Hashtable) GridResp.Value; | ||
193 | |||
194 | if (responseData.ContainsKey("error")) | ||
195 | { | ||
196 | return null; | ||
197 | } | ||
198 | |||
199 | RegionProfileData simData = new RegionProfileData(); | ||
200 | simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); | ||
201 | simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); | ||
202 | simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); | ||
203 | simData.serverIP = (string) responseData["sim_ip"]; | ||
204 | simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); | ||
205 | simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); | ||
206 | simData.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); | ||
207 | simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; | ||
208 | simData.serverURI = (string)responseData["server_uri"]; | ||
209 | simData.UUID = new LLUUID((string) responseData["region_UUID"]); | ||
210 | simData.regionName = (string) responseData["region_name"]; | ||
211 | |||
212 | return simData; | ||
213 | } | ||
214 | |||
215 | /// <summary> | ||
216 | /// Request sim profile information from a grid server | ||
217 | /// </summary> | ||
218 | /// <param name="region_handle"></param> | ||
219 | /// <param name="gridserver_url"></param> | ||
220 | /// <param name="gridserver_sendkey"></param> | ||
221 | /// <param name="gridserver_recvkey"></param> | ||
222 | /// <returns>The sim profile. Null if there was a request failure</returns> | ||
223 | public static RegionProfileData RequestSimProfileData(string regionName, string gridserver_url, | ||
224 | string gridserver_sendkey, string gridserver_recvkey) | ||
225 | { | ||
226 | Hashtable requestData = new Hashtable(); | ||
227 | requestData["region_name_search"] = regionName; | ||
228 | requestData["authkey"] = gridserver_sendkey; | ||
229 | ArrayList SendParams = new ArrayList(); | ||
230 | SendParams.Add(requestData); | ||
231 | XmlRpcRequest GridReq = new XmlRpcRequest("simulator_data_request", SendParams); | ||
232 | XmlRpcResponse GridResp = GridReq.Send(gridserver_url, 3000); | ||
233 | |||
234 | Hashtable responseData = (Hashtable)GridResp.Value; | ||
235 | |||
236 | if (responseData.ContainsKey("error")) | ||
237 | { | ||
238 | return null; | ||
239 | } | ||
240 | |||
241 | RegionProfileData simData = new RegionProfileData(); | ||
242 | simData.regionLocX = Convert.ToUInt32((string)responseData["region_locx"]); | ||
243 | simData.regionLocY = Convert.ToUInt32((string)responseData["region_locy"]); | ||
244 | simData.regionHandle = Helpers.UIntsToLong((simData.regionLocX * Constants.RegionSize), (simData.regionLocY * Constants.RegionSize)); | ||
245 | simData.serverIP = (string)responseData["sim_ip"]; | ||
246 | simData.serverPort = Convert.ToUInt32((string)responseData["sim_port"]); | ||
247 | simData.httpPort = Convert.ToUInt32((string)responseData["http_port"]); | ||
248 | simData.remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); | ||
249 | simData.httpServerURI = "http://" + simData.serverIP + ":" + simData.httpPort.ToString() + "/"; | ||
250 | simData.serverURI = (string)responseData["server_uri"]; | ||
251 | simData.UUID = new LLUUID((string)responseData["region_UUID"]); | ||
252 | simData.regionName = (string)responseData["region_name"]; | ||
253 | |||
254 | return simData; | ||
255 | } | ||
256 | } | ||
257 | } | ||
diff --git a/OpenSim/Data/ReservationData.cs b/OpenSim/Data/ReservationData.cs new file mode 100644 index 0000000..0c2cff3 --- /dev/null +++ b/OpenSim/Data/ReservationData.cs | |||
@@ -0,0 +1,47 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using libsecondlife; | ||
29 | |||
30 | namespace OpenSim.Framework.Data | ||
31 | { | ||
32 | public class ReservationData | ||
33 | { | ||
34 | public LLUUID userUUID = LLUUID.Zero; | ||
35 | public int reservationMinX = 0; | ||
36 | public int reservationMinY = 0; | ||
37 | public int reservationMaxX = 65536; | ||
38 | public int reservationMaxY = 65536; | ||
39 | |||
40 | public string reservationName = System.String.Empty; | ||
41 | public string reservationCompany = System.String.Empty; | ||
42 | public bool status = true; | ||
43 | |||
44 | public string gridSendKey = System.String.Empty; | ||
45 | public string gridRecvKey = System.String.Empty; | ||
46 | } | ||
47 | } | ||
diff --git a/OpenSim/Data/UserDataBase.cs b/OpenSim/Data/UserDataBase.cs new file mode 100644 index 0000000..5e0be45 --- /dev/null +++ b/OpenSim/Data/UserDataBase.cs | |||
@@ -0,0 +1,29 @@ | |||
1 | using System.Collections.Generic; | ||
2 | using libsecondlife; | ||
3 | |||
4 | namespace OpenSim.Framework.Data | ||
5 | { | ||
6 | public abstract class UserDataBase : IUserData | ||
7 | { | ||
8 | public abstract UserProfileData GetUserByUUID(LLUUID user); | ||
9 | public abstract UserProfileData GetUserByName(string fname, string lname); | ||
10 | public abstract UserAgentData GetAgentByUUID(LLUUID user); | ||
11 | public abstract UserAgentData GetAgentByName(string name); | ||
12 | public abstract UserAgentData GetAgentByName(string fname, string lname); | ||
13 | public abstract void StoreWebLoginKey(LLUUID agentID, LLUUID webLoginKey); | ||
14 | public abstract void AddNewUserProfile(UserProfileData user); | ||
15 | public abstract bool UpdateUserProfile(UserProfileData user); | ||
16 | public abstract void UpdateUserCurrentRegion(LLUUID avatarid, LLUUID regionuuid); | ||
17 | public abstract void AddNewUserAgent(UserAgentData agent); | ||
18 | public abstract void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms); | ||
19 | public abstract void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend); | ||
20 | public abstract void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms); | ||
21 | public abstract List<FriendListItem> GetUserFriendList(LLUUID friendlistowner); | ||
22 | public abstract bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount); | ||
23 | public abstract bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory); | ||
24 | public abstract string GetVersion(); | ||
25 | public abstract string getName(); | ||
26 | public abstract void Initialise(); | ||
27 | public abstract List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query); | ||
28 | } | ||
29 | } | ||