aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/General/ACL.cs524
-rw-r--r--OpenSim/Framework/General/AgentCiruitData.cs102
-rw-r--r--OpenSim/Framework/General/AgentWearable.cs140
-rw-r--r--OpenSim/Framework/General/AssetBase.cs108
-rw-r--r--OpenSim/Framework/General/AssetConfig.cs164
-rw-r--r--OpenSim/Framework/General/AssetLandmark.cs116
-rw-r--r--OpenSim/Framework/General/AssetStorage.cs94
-rw-r--r--OpenSim/Framework/General/AuthenticateResponse.cs76
-rw-r--r--OpenSim/Framework/General/ConfigurationMember.cs878
-rw-r--r--OpenSim/Framework/General/ConfigurationOption.cs118
-rw-r--r--OpenSim/Framework/General/EstateSettings.cs1412
-rw-r--r--OpenSim/Framework/General/GridConfig.cs270
-rw-r--r--OpenSim/Framework/General/IAssetProvider.cs80
-rw-r--r--OpenSim/Framework/General/IAssetServer.cs136
-rw-r--r--OpenSim/Framework/General/IClientAPI.cs892
-rw-r--r--OpenSim/Framework/General/IGenericConfig.cs78
-rw-r--r--OpenSim/Framework/General/IPlugin.cs104
-rw-r--r--OpenSim/Framework/General/IScene.cs84
-rw-r--r--OpenSim/Framework/General/IUserData.cs266
-rw-r--r--OpenSim/Framework/General/IUserService.cs94
-rw-r--r--OpenSim/Framework/General/InventoryConfig.cs134
-rw-r--r--OpenSim/Framework/General/InventoryItemBase.cs546
-rw-r--r--OpenSim/Framework/General/LandData.cs244
-rw-r--r--OpenSim/Framework/General/Login.cs98
-rw-r--r--OpenSim/Framework/General/MapBlockData.cs98
-rw-r--r--OpenSim/Framework/General/NeighbourInfo.cs82
-rw-r--r--OpenSim/Framework/General/NetworkServersInfo.cs200
-rw-r--r--OpenSim/Framework/General/PrimitiveBaseShape.cs426
-rw-r--r--OpenSim/Framework/General/RegionHandle.cs298
-rw-r--r--OpenSim/Framework/General/RegionInfo.cs654
-rw-r--r--OpenSim/Framework/General/UUID.cs308
-rw-r--r--OpenSim/Framework/General/UserConfig.cs204
-rw-r--r--OpenSim/Framework/General/UserProfileData.cs426
33 files changed, 4727 insertions, 4727 deletions
diff --git a/OpenSim/Framework/General/ACL.cs b/OpenSim/Framework/General/ACL.cs
index 0e9df19..8f9c6e7 100644
--- a/OpenSim/Framework/General/ACL.cs
+++ b/OpenSim/Framework/General/ACL.cs
@@ -1,263 +1,263 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30 30
31namespace OpenSim.Framework 31namespace OpenSim.Framework
32{ 32{
33 // ACL Class 33 // ACL Class
34 // Modelled after the structure of the Zend ACL Framework Library 34 // Modelled after the structure of the Zend ACL Framework Library
35 // with one key difference - the tree will search for all matching 35 // with one key difference - the tree will search for all matching
36 // permissions rather than just the first. Deny permissions will 36 // permissions rather than just the first. Deny permissions will
37 // override all others. 37 // override all others.
38 38
39 #region ACL Core Class 39 #region ACL Core Class
40 40
41 /// <summary> 41 /// <summary>
42 /// Access Control List Engine 42 /// Access Control List Engine
43 /// </summary> 43 /// </summary>
44 public class ACL 44 public class ACL
45 { 45 {
46 private Dictionary<string, Role> Roles = new Dictionary<string, Role>(); 46 private Dictionary<string, Role> Roles = new Dictionary<string, Role>();
47 private Dictionary<string, Resource> Resources = new Dictionary<string, Resource>(); 47 private Dictionary<string, Resource> Resources = new Dictionary<string, Resource>();
48 48
49 public ACL AddRole(Role role) 49 public ACL AddRole(Role role)
50 { 50 {
51 if (Roles.ContainsKey(role.Name)) 51 if (Roles.ContainsKey(role.Name))
52 throw new AlreadyContainsRoleException(role); 52 throw new AlreadyContainsRoleException(role);
53 53
54 Roles.Add(role.Name, role); 54 Roles.Add(role.Name, role);
55 55
56 return this; 56 return this;
57 } 57 }
58 58
59 public ACL AddResource(Resource resource) 59 public ACL AddResource(Resource resource)
60 { 60 {
61 Resources.Add(resource.Name, resource); 61 Resources.Add(resource.Name, resource);
62 62
63 return this; 63 return this;
64 } 64 }
65 65
66 public Permission HasPermission(string role, string resource) 66 public Permission HasPermission(string role, string resource)
67 { 67 {
68 if (!Roles.ContainsKey(role)) 68 if (!Roles.ContainsKey(role))
69 throw new KeyNotFoundException(); 69 throw new KeyNotFoundException();
70 70
71 if (!Resources.ContainsKey(resource)) 71 if (!Resources.ContainsKey(resource))
72 throw new KeyNotFoundException(); 72 throw new KeyNotFoundException();
73 73
74 return Roles[role].RequestPermission(resource); 74 return Roles[role].RequestPermission(resource);
75 } 75 }
76 76
77 public ACL GrantPermission(string role, string resource) 77 public ACL GrantPermission(string role, string resource)
78 { 78 {
79 if (!Roles.ContainsKey(role)) 79 if (!Roles.ContainsKey(role))
80 throw new KeyNotFoundException(); 80 throw new KeyNotFoundException();
81 81
82 if (!Resources.ContainsKey(resource)) 82 if (!Resources.ContainsKey(resource))
83 throw new KeyNotFoundException(); 83 throw new KeyNotFoundException();
84 84
85 Roles[role].GivePermission(resource, Permission.Allow); 85 Roles[role].GivePermission(resource, Permission.Allow);
86 86
87 return this; 87 return this;
88 } 88 }
89 89
90 public ACL DenyPermission(string role, string resource) 90 public ACL DenyPermission(string role, string resource)
91 { 91 {
92 if (!Roles.ContainsKey(role)) 92 if (!Roles.ContainsKey(role))
93 throw new KeyNotFoundException(); 93 throw new KeyNotFoundException();
94 94
95 if (!Resources.ContainsKey(resource)) 95 if (!Resources.ContainsKey(resource))
96 throw new KeyNotFoundException(); 96 throw new KeyNotFoundException();
97 97
98 Roles[role].GivePermission(resource, Permission.Deny); 98 Roles[role].GivePermission(resource, Permission.Deny);
99 99
100 return this; 100 return this;
101 } 101 }
102 102
103 public ACL ResetPermission(string role, string resource) 103 public ACL ResetPermission(string role, string resource)
104 { 104 {
105 if (!Roles.ContainsKey(role)) 105 if (!Roles.ContainsKey(role))
106 throw new KeyNotFoundException(); 106 throw new KeyNotFoundException();
107 107
108 if (!Resources.ContainsKey(resource)) 108 if (!Resources.ContainsKey(resource))
109 throw new KeyNotFoundException(); 109 throw new KeyNotFoundException();
110 110
111 Roles[role].GivePermission(resource, Permission.None); 111 Roles[role].GivePermission(resource, Permission.None);
112 112
113 return this; 113 return this;
114 } 114 }
115 } 115 }
116 116
117 #endregion 117 #endregion
118 118
119 #region Exceptions 119 #region Exceptions
120 120
121 /// <summary> 121 /// <summary>
122 /// Thrown when an ACL attempts to add a duplicate role. 122 /// Thrown when an ACL attempts to add a duplicate role.
123 /// </summary> 123 /// </summary>
124 public class AlreadyContainsRoleException : Exception 124 public class AlreadyContainsRoleException : Exception
125 { 125 {
126 protected Role m_role; 126 protected Role m_role;
127 127
128 public Role ErrorRole 128 public Role ErrorRole
129 { 129 {
130 get { return m_role; } 130 get { return m_role; }
131 } 131 }
132 132
133 public AlreadyContainsRoleException(Role role) 133 public AlreadyContainsRoleException(Role role)
134 { 134 {
135 m_role = role; 135 m_role = role;
136 } 136 }
137 137
138 public override string ToString() 138 public override string ToString()
139 { 139 {
140 return "This ACL already contains a role called '" + m_role.Name + "'."; 140 return "This ACL already contains a role called '" + m_role.Name + "'.";
141 } 141 }
142 } 142 }
143 143
144 #endregion 144 #endregion
145 145
146 #region Roles and Resources 146 #region Roles and Resources
147 147
148 /// <summary> 148 /// <summary>
149 /// Does this Role have permission to access a specified Resource? 149 /// Does this Role have permission to access a specified Resource?
150 /// </summary> 150 /// </summary>
151 public enum Permission 151 public enum Permission
152 { 152 {
153 Deny, 153 Deny,
154 None, 154 None,
155 Allow 155 Allow
156 } ; 156 } ;
157 157
158 /// <summary> 158 /// <summary>
159 /// A role class, for use with Users or Groups 159 /// A role class, for use with Users or Groups
160 /// </summary> 160 /// </summary>
161 public class Role 161 public class Role
162 { 162 {
163 private string m_name; 163 private string m_name;
164 private Role[] m_parents; 164 private Role[] m_parents;
165 private Dictionary<string, Permission> m_resources = new Dictionary<string, Permission>(); 165 private Dictionary<string, Permission> m_resources = new Dictionary<string, Permission>();
166 166
167 public string Name 167 public string Name
168 { 168 {
169 get { return m_name; } 169 get { return m_name; }
170 } 170 }
171 171
172 public Permission RequestPermission(string resource) 172 public Permission RequestPermission(string resource)
173 { 173 {
174 return RequestPermission(resource, Permission.None); 174 return RequestPermission(resource, Permission.None);
175 } 175 }
176 176
177 public Permission RequestPermission(string resource, Permission current) 177 public Permission RequestPermission(string resource, Permission current)
178 { 178 {
179 // Deny permissions always override any others 179 // Deny permissions always override any others
180 if (current == Permission.Deny) 180 if (current == Permission.Deny)
181 return current; 181 return current;
182 182
183 Permission temp = Permission.None; 183 Permission temp = Permission.None;
184 184
185 // Pickup non-None permissions 185 // Pickup non-None permissions
186 if (m_resources.ContainsKey(resource) && m_resources[resource] != Permission.None) 186 if (m_resources.ContainsKey(resource) && m_resources[resource] != Permission.None)
187 temp = m_resources[resource]; 187 temp = m_resources[resource];
188 188
189 if (m_parents != null) 189 if (m_parents != null)
190 { 190 {
191 foreach (Role parent in m_parents) 191 foreach (Role parent in m_parents)
192 { 192 {
193 temp = parent.RequestPermission(resource, temp); 193 temp = parent.RequestPermission(resource, temp);
194 } 194 }
195 } 195 }
196 196
197 return temp; 197 return temp;
198 } 198 }
199 199
200 public void GivePermission(string resource, Permission perm) 200 public void GivePermission(string resource, Permission perm)
201 { 201 {
202 m_resources[resource] = perm; 202 m_resources[resource] = perm;
203 } 203 }
204 204
205 public Role(string name) 205 public Role(string name)
206 { 206 {
207 m_name = name; 207 m_name = name;
208 m_parents = null; 208 m_parents = null;
209 } 209 }
210 210
211 public Role(string name, Role[] parents) 211 public Role(string name, Role[] parents)
212 { 212 {
213 m_name = name; 213 m_name = name;
214 m_parents = parents; 214 m_parents = parents;
215 } 215 }
216 } 216 }
217 217
218 public class Resource 218 public class Resource
219 { 219 {
220 private string m_name; 220 private string m_name;
221 221
222 public string Name 222 public string Name
223 { 223 {
224 get { return m_name; } 224 get { return m_name; }
225 } 225 }
226 226
227 public Resource(string name) 227 public Resource(string name)
228 { 228 {
229 m_name = name; 229 m_name = name;
230 } 230 }
231 } 231 }
232 232
233 #endregion 233 #endregion
234 234
235 #region Tests 235 #region Tests
236 236
237 internal class ACLTester 237 internal class ACLTester
238 { 238 {
239 public ACLTester() 239 public ACLTester()
240 { 240 {
241 ACL acl = new ACL(); 241 ACL acl = new ACL();
242 242
243 Role Guests = new Role("Guests"); 243 Role Guests = new Role("Guests");
244 acl.AddRole(Guests); 244 acl.AddRole(Guests);
245 245
246 Role[] parents = new Role[0]; 246 Role[] parents = new Role[0];
247 parents[0] = Guests; 247 parents[0] = Guests;
248 248
249 Role JoeGuest = new Role("JoeGuest", parents); 249 Role JoeGuest = new Role("JoeGuest", parents);
250 acl.AddRole(JoeGuest); 250 acl.AddRole(JoeGuest);
251 251
252 Resource CanBuild = new Resource("CanBuild"); 252 Resource CanBuild = new Resource("CanBuild");
253 acl.AddResource(CanBuild); 253 acl.AddResource(CanBuild);
254 254
255 255
256 acl.GrantPermission("Guests", "CanBuild"); 256 acl.GrantPermission("Guests", "CanBuild");
257 257
258 acl.HasPermission("JoeGuest", "CanBuild"); 258 acl.HasPermission("JoeGuest", "CanBuild");
259 } 259 }
260 } 260 }
261 261
262 #endregion 262 #endregion
263} \ No newline at end of file 263} \ No newline at end of file
diff --git a/OpenSim/Framework/General/AgentCiruitData.cs b/OpenSim/Framework/General/AgentCiruitData.cs
index 95cac60..3f17ca8 100644
--- a/OpenSim/Framework/General/AgentCiruitData.cs
+++ b/OpenSim/Framework/General/AgentCiruitData.cs
@@ -1,52 +1,52 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework 31namespace OpenSim.Framework
32{ 32{
33 [Serializable] 33 [Serializable]
34 public class AgentCircuitData 34 public class AgentCircuitData
35 { 35 {
36 public AgentCircuitData() 36 public AgentCircuitData()
37 { 37 {
38 } 38 }
39 39
40 public LLUUID AgentID; 40 public LLUUID AgentID;
41 public LLUUID SessionID; 41 public LLUUID SessionID;
42 public LLUUID SecureSessionID; 42 public LLUUID SecureSessionID;
43 public LLVector3 startpos; 43 public LLVector3 startpos;
44 public string firstname; 44 public string firstname;
45 public string lastname; 45 public string lastname;
46 public uint circuitcode; 46 public uint circuitcode;
47 public bool child; 47 public bool child;
48 public LLUUID InventoryFolder; 48 public LLUUID InventoryFolder;
49 public LLUUID BaseFolder; 49 public LLUUID BaseFolder;
50 public string CapsPath = ""; 50 public string CapsPath = "";
51 } 51 }
52} \ No newline at end of file 52} \ No newline at end of file
diff --git a/OpenSim/Framework/General/AgentWearable.cs b/OpenSim/Framework/General/AgentWearable.cs
index c2d4db3..a324cb3 100644
--- a/OpenSim/Framework/General/AgentWearable.cs
+++ b/OpenSim/Framework/General/AgentWearable.cs
@@ -1,71 +1,71 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework 30namespace OpenSim.Framework
31{ 31{
32 public class AvatarWearable 32 public class AvatarWearable
33 { 33 {
34 public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000"); 34 public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000");
35 public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000"); 35 public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000");
36 36
37 public AvatarWearable() 37 public AvatarWearable()
38 { 38 {
39 } 39 }
40 40
41 public AvatarWearable(LLUUID itemId, LLUUID assetId) 41 public AvatarWearable(LLUUID itemId, LLUUID assetId)
42 { 42 {
43 AssetID = assetId; 43 AssetID = assetId;
44 ItemID = itemId; 44 ItemID = itemId;
45 } 45 }
46 46
47 public static AvatarWearable[] DefaultWearables 47 public static AvatarWearable[] DefaultWearables
48 { 48 {
49 get 49 get
50 { 50 {
51 AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these 51 AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these
52 for (int i = 0; i < 13; i++) 52 for (int i = 0; i < 13; i++)
53 { 53 {
54 defaultWearables[i] = new AvatarWearable(); 54 defaultWearables[i] = new AvatarWearable();
55 } 55 }
56 defaultWearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73"); 56 defaultWearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73");
57 defaultWearables[0].ItemID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9"); 57 defaultWearables[0].ItemID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9");
58 58
59 defaultWearables[1].ItemID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9"); 59 defaultWearables[1].ItemID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9");
60 defaultWearables[1].AssetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb"); 60 defaultWearables[1].AssetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb");
61 61
62 defaultWearables[4].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000"); 62 defaultWearables[4].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-585989bf0000");
63 defaultWearables[4].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111110"); 63 defaultWearables[4].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111110");
64 64
65 defaultWearables[5].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111"); 65 defaultWearables[5].ItemID = new LLUUID("77c41e39-38f9-f75a-0000-5859892f1111");
66 defaultWearables[5].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111120"); 66 defaultWearables[5].AssetID = new LLUUID("00000000-38f9-1111-024e-222222111120");
67 return defaultWearables; 67 return defaultWearables;
68 } 68 }
69 } 69 }
70 } 70 }
71} \ No newline at end of file 71} \ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetBase.cs b/OpenSim/Framework/General/AssetBase.cs
index f0367f0..ef1ee71 100644
--- a/OpenSim/Framework/General/AssetBase.cs
+++ b/OpenSim/Framework/General/AssetBase.cs
@@ -1,55 +1,55 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework 31namespace OpenSim.Framework
32{ 32{
33 [Serializable] 33 [Serializable]
34 public class AssetBase 34 public class AssetBase
35 { 35 {
36 public byte[] Data; 36 public byte[] Data;
37 public LLUUID FullID; 37 public LLUUID FullID;
38 public sbyte Type; 38 public sbyte Type;
39 public sbyte InvType; 39 public sbyte InvType;
40 public string Name = ""; 40 public string Name = "";
41 public string Description = ""; 41 public string Description = "";
42 public bool Local = false; 42 public bool Local = false;
43 public bool Temporary = false; 43 public bool Temporary = false;
44 44
45 public AssetBase() 45 public AssetBase()
46 { 46 {
47 } 47 }
48 48
49 public AssetBase(LLUUID assetId, string name) 49 public AssetBase(LLUUID assetId, string name)
50 { 50 {
51 FullID = assetId; 51 FullID = assetId;
52 Name = name; 52 Name = name;
53 } 53 }
54 } 54 }
55} \ No newline at end of file 55} \ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetConfig.cs b/OpenSim/Framework/General/AssetConfig.cs
index 81cf899..fe77ab8 100644
--- a/OpenSim/Framework/General/AssetConfig.cs
+++ b/OpenSim/Framework/General/AssetConfig.cs
@@ -1,83 +1,83 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29namespace OpenSim.Framework 29namespace OpenSim.Framework
30{ 30{
31 /// <summary> 31 /// <summary>
32 /// UserConfig -- For User Server Configuration 32 /// UserConfig -- For User Server Configuration
33 /// </summary> 33 /// </summary>
34 public class AssetConfig 34 public class AssetConfig
35 { 35 {
36 public string DefaultStartupMsg = ""; 36 public string DefaultStartupMsg = "";
37 37
38 public string DatabaseProvider = ""; 38 public string DatabaseProvider = "";
39 39
40 public static uint DefaultHttpPort = 8003; 40 public static uint DefaultHttpPort = 8003;
41 public uint HttpPort = DefaultHttpPort; 41 public uint HttpPort = DefaultHttpPort;
42 42
43 private ConfigurationMember configMember; 43 private ConfigurationMember configMember;
44 44
45 public AssetConfig(string description, string filename) 45 public AssetConfig(string description, string filename)
46 { 46 {
47 configMember = 47 configMember =
48 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); 48 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
49 configMember.performConfigurationRetrieve(); 49 configMember.performConfigurationRetrieve();
50 } 50 }
51 51
52 public void loadConfigurationOptions() 52 public void loadConfigurationOptions()
53 { 53 {
54 configMember.addConfigurationOption("default_startup_message", 54 configMember.addConfigurationOption("default_startup_message",
55 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 55 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
56 "Default Startup Message", "Welcome to OGS", false); 56 "Default Startup Message", "Welcome to OGS", false);
57 57
58 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 58 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
59 "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false); 59 "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
60 60
61 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 61 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
62 "Http Listener port", DefaultHttpPort.ToString(), false); 62 "Http Listener port", DefaultHttpPort.ToString(), false);
63 } 63 }
64 64
65 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 65 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
66 { 66 {
67 switch (configuration_key) 67 switch (configuration_key)
68 { 68 {
69 case "default_startup_message": 69 case "default_startup_message":
70 DefaultStartupMsg = (string) configuration_result; 70 DefaultStartupMsg = (string) configuration_result;
71 break; 71 break;
72 case "database_provider": 72 case "database_provider":
73 DatabaseProvider = (string) configuration_result; 73 DatabaseProvider = (string) configuration_result;
74 break; 74 break;
75 case "http_port": 75 case "http_port":
76 HttpPort = (uint) configuration_result; 76 HttpPort = (uint) configuration_result;
77 break; 77 break;
78 } 78 }
79 79
80 return true; 80 return true;
81 } 81 }
82 } 82 }
83} \ No newline at end of file 83} \ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetLandmark.cs b/OpenSim/Framework/General/AssetLandmark.cs
index a62a85b..4422331 100644
--- a/OpenSim/Framework/General/AssetLandmark.cs
+++ b/OpenSim/Framework/General/AssetLandmark.cs
@@ -1,59 +1,59 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System.Text; 28using System.Text;
29using libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework 31namespace OpenSim.Framework
32{ 32{
33 public class AssetLandmark : AssetBase 33 public class AssetLandmark : AssetBase
34 { 34 {
35 public int Version; 35 public int Version;
36 public LLVector3 Position; 36 public LLVector3 Position;
37 public LLUUID RegionID; 37 public LLUUID RegionID;
38 38
39 public AssetLandmark(AssetBase a) 39 public AssetLandmark(AssetBase a)
40 { 40 {
41 Data = a.Data; 41 Data = a.Data;
42 FullID = a.FullID; 42 FullID = a.FullID;
43 Type = a.Type; 43 Type = a.Type;
44 InvType = a.InvType; 44 InvType = a.InvType;
45 Name = a.Name; 45 Name = a.Name;
46 Description = a.Description; 46 Description = a.Description;
47 InternData(); 47 InternData();
48 } 48 }
49 49
50 private void InternData() 50 private void InternData()
51 { 51 {
52 string temp = Encoding.UTF8.GetString(Data).Trim(); 52 string temp = Encoding.UTF8.GetString(Data).Trim();
53 string[] parts = temp.Split('\n'); 53 string[] parts = temp.Split('\n');
54 int.TryParse(parts[0].Substring(17, 1), out Version); 54 int.TryParse(parts[0].Substring(17, 1), out Version);
55 LLUUID.TryParse(parts[1].Substring(10, 36), out RegionID); 55 LLUUID.TryParse(parts[1].Substring(10, 36), out RegionID);
56 LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position); 56 LLVector3.TryParse(parts[2].Substring(11, parts[2].Length - 11), out Position);
57 } 57 }
58 } 58 }
59} \ No newline at end of file 59} \ No newline at end of file
diff --git a/OpenSim/Framework/General/AssetStorage.cs b/OpenSim/Framework/General/AssetStorage.cs
index b39ceeb..9d3de5b 100644
--- a/OpenSim/Framework/General/AssetStorage.cs
+++ b/OpenSim/Framework/General/AssetStorage.cs
@@ -1,48 +1,48 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework 30namespace OpenSim.Framework
31{ 31{
32 public class AssetStorage 32 public class AssetStorage
33 { 33 {
34 public AssetStorage() 34 public AssetStorage()
35 { 35 {
36 } 36 }
37 37
38 public AssetStorage(LLUUID assetUUID) 38 public AssetStorage(LLUUID assetUUID)
39 { 39 {
40 UUID = assetUUID; 40 UUID = assetUUID;
41 } 41 }
42 42
43 public byte[] Data; 43 public byte[] Data;
44 public sbyte Type; 44 public sbyte Type;
45 public string Name; 45 public string Name;
46 public LLUUID UUID; 46 public LLUUID UUID;
47 } 47 }
48} \ No newline at end of file 48} \ No newline at end of file
diff --git a/OpenSim/Framework/General/AuthenticateResponse.cs b/OpenSim/Framework/General/AuthenticateResponse.cs
index 0bf356e..88a8713 100644
--- a/OpenSim/Framework/General/AuthenticateResponse.cs
+++ b/OpenSim/Framework/General/AuthenticateResponse.cs
@@ -1,39 +1,39 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28namespace OpenSim.Framework 28namespace OpenSim.Framework
29{ 29{
30 public class AuthenticateResponse 30 public class AuthenticateResponse
31 { 31 {
32 public bool Authorised; 32 public bool Authorised;
33 public Login LoginInfo; 33 public Login LoginInfo;
34 34
35 public AuthenticateResponse() 35 public AuthenticateResponse()
36 { 36 {
37 } 37 }
38 } 38 }
39} \ No newline at end of file 39} \ No newline at end of file
diff --git a/OpenSim/Framework/General/ConfigurationMember.cs b/OpenSim/Framework/General/ConfigurationMember.cs
index 5883d73..b68896c 100644
--- a/OpenSim/Framework/General/ConfigurationMember.cs
+++ b/OpenSim/Framework/General/ConfigurationMember.cs
@@ -1,440 +1,440 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29using System; 29using System;
30using System.Collections.Generic; 30using System.Collections.Generic;
31using System.Globalization; 31using System.Globalization;
32using System.Net; 32using System.Net;
33using System.Reflection; 33using System.Reflection;
34using libsecondlife; 34using libsecondlife;
35using OpenSim.Framework.Console; 35using OpenSim.Framework.Console;
36 36
37namespace OpenSim.Framework 37namespace OpenSim.Framework
38{ 38{
39 public class ConfigurationMember 39 public class ConfigurationMember
40 { 40 {
41 public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result); 41 public delegate bool ConfigurationOptionResult(string configuration_key, object configuration_result);
42 42
43 public delegate void ConfigurationOptionsLoad(); 43 public delegate void ConfigurationOptionsLoad();
44 44
45 private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>(); 45 private List<ConfigurationOption> configurationOptions = new List<ConfigurationOption>();
46 private string configurationFilename = ""; 46 private string configurationFilename = "";
47 private string configurationDescription = ""; 47 private string configurationDescription = "";
48 48
49 private ConfigurationOptionsLoad loadFunction; 49 private ConfigurationOptionsLoad loadFunction;
50 private ConfigurationOptionResult resultFunction; 50 private ConfigurationOptionResult resultFunction;
51 51
52 private IGenericConfig configurationPlugin = null; 52 private IGenericConfig configurationPlugin = null;
53 53
54 /// <summary> 54 /// <summary>
55 /// This is the default configuration DLL loaded 55 /// This is the default configuration DLL loaded
56 /// </summary> 56 /// </summary>
57 private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll"; 57 private string configurationPluginFilename = "OpenSim.Framework.Configuration.XML.dll";
58 58
59 public ConfigurationMember(string configuration_filename, string configuration_description, 59 public ConfigurationMember(string configuration_filename, string configuration_description,
60 ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function) 60 ConfigurationOptionsLoad load_function, ConfigurationOptionResult result_function)
61 { 61 {
62 configurationFilename = configuration_filename; 62 configurationFilename = configuration_filename;
63 configurationDescription = configuration_description; 63 configurationDescription = configuration_description;
64 loadFunction = load_function; 64 loadFunction = load_function;
65 resultFunction = result_function; 65 resultFunction = result_function;
66 } 66 }
67 67
68 public void setConfigurationFilename(string filename) 68 public void setConfigurationFilename(string filename)
69 { 69 {
70 configurationFilename = filename; 70 configurationFilename = filename;
71 } 71 }
72 72
73 public void setConfigurationDescription(string desc) 73 public void setConfigurationDescription(string desc)
74 { 74 {
75 configurationDescription = desc; 75 configurationDescription = desc;
76 } 76 }
77 77
78 public void setConfigurationResultFunction(ConfigurationOptionResult result) 78 public void setConfigurationResultFunction(ConfigurationOptionResult result)
79 { 79 {
80 resultFunction = result; 80 resultFunction = result;
81 } 81 }
82 82
83 public void forceConfigurationPluginLibrary(string dll_filename) 83 public void forceConfigurationPluginLibrary(string dll_filename)
84 { 84 {
85 configurationPluginFilename = dll_filename; 85 configurationPluginFilename = dll_filename;
86 } 86 }
87 87
88 public void addConfigurationOption(string configuration_key, 88 public void addConfigurationOption(string configuration_key,
89 ConfigurationOption.ConfigurationTypes configuration_type, 89 ConfigurationOption.ConfigurationTypes configuration_type,
90 string configuration_question, string configuration_default, 90 string configuration_question, string configuration_default,
91 bool use_default_no_prompt) 91 bool use_default_no_prompt)
92 { 92 {
93 ConfigurationOption configOption = new ConfigurationOption(); 93 ConfigurationOption configOption = new ConfigurationOption();
94 configOption.configurationKey = configuration_key; 94 configOption.configurationKey = configuration_key;
95 configOption.configurationQuestion = configuration_question; 95 configOption.configurationQuestion = configuration_question;
96 configOption.configurationDefault = configuration_default; 96 configOption.configurationDefault = configuration_default;
97 configOption.configurationType = configuration_type; 97 configOption.configurationType = configuration_type;
98 configOption.configurationUseDefaultNoPrompt = use_default_no_prompt; 98 configOption.configurationUseDefaultNoPrompt = use_default_no_prompt;
99 99
100 if ((configuration_key != "" && configuration_question != "") || 100 if ((configuration_key != "" && configuration_question != "") ||
101 (configuration_key != "" && use_default_no_prompt)) 101 (configuration_key != "" && use_default_no_prompt))
102 { 102 {
103 if (!configurationOptions.Contains(configOption)) 103 if (!configurationOptions.Contains(configOption))
104 { 104 {
105 configurationOptions.Add(configOption); 105 configurationOptions.Add(configOption);
106 } 106 }
107 } 107 }
108 else 108 else
109 { 109 {
110 MainLog.Instance.Notice( 110 MainLog.Instance.Notice(
111 "Required fields for adding a configuration option is invalid. Will not add this option (" + 111 "Required fields for adding a configuration option is invalid. Will not add this option (" +
112 configuration_key + ")"); 112 configuration_key + ")");
113 } 113 }
114 } 114 }
115 115
116 public void performConfigurationRetrieve() 116 public void performConfigurationRetrieve()
117 { 117 {
118 configurationPlugin = LoadConfigDll(configurationPluginFilename); 118 configurationPlugin = LoadConfigDll(configurationPluginFilename);
119 configurationOptions.Clear(); 119 configurationOptions.Clear();
120 if (loadFunction == null) 120 if (loadFunction == null)
121 { 121 {
122 MainLog.Instance.Error("Load Function for '" + configurationDescription + 122 MainLog.Instance.Error("Load Function for '" + configurationDescription +
123 "' is null. Refusing to run configuration."); 123 "' is null. Refusing to run configuration.");
124 return; 124 return;
125 } 125 }
126 126
127 if (resultFunction == null) 127 if (resultFunction == null)
128 { 128 {
129 MainLog.Instance.Error("Result Function for '" + configurationDescription + 129 MainLog.Instance.Error("Result Function for '" + configurationDescription +
130 "' is null. Refusing to run configuration."); 130 "' is null. Refusing to run configuration.");
131 return; 131 return;
132 } 132 }
133 133
134 MainLog.Instance.Verbose("Calling Configuration Load Function..."); 134 MainLog.Instance.Verbose("Calling Configuration Load Function...");
135 loadFunction(); 135 loadFunction();
136 136
137 if (configurationOptions.Count <= 0) 137 if (configurationOptions.Count <= 0)
138 { 138 {
139 MainLog.Instance.Error("No configuration options were specified for '" + configurationOptions + 139 MainLog.Instance.Error("No configuration options were specified for '" + configurationOptions +
140 "'. Refusing to continue configuration."); 140 "'. Refusing to continue configuration.");
141 return; 141 return;
142 } 142 }
143 143
144 bool useFile = true; 144 bool useFile = true;
145 if (configurationPlugin == null) 145 if (configurationPlugin == null)
146 { 146 {
147 MainLog.Instance.Error("Configuration Plugin NOT LOADED!"); 147 MainLog.Instance.Error("Configuration Plugin NOT LOADED!");
148 return; 148 return;
149 } 149 }
150 150
151 if (configurationFilename.Trim() != "") 151 if (configurationFilename.Trim() != "")
152 { 152 {
153 configurationPlugin.SetFileName(configurationFilename); 153 configurationPlugin.SetFileName(configurationFilename);
154 configurationPlugin.LoadData(); 154 configurationPlugin.LoadData();
155 useFile = true; 155 useFile = true;
156 } 156 }
157 else 157 else
158 { 158 {
159 MainLog.Instance.Notice("XML Configuration Filename is not valid; will not save to the file."); 159 MainLog.Instance.Notice("XML Configuration Filename is not valid; will not save to the file.");
160 useFile = false; 160 useFile = false;
161 } 161 }
162 162
163 foreach (ConfigurationOption configOption in configurationOptions) 163 foreach (ConfigurationOption configOption in configurationOptions)
164 { 164 {
165 bool convertSuccess = false; 165 bool convertSuccess = false;
166 object return_result = null; 166 object return_result = null;
167 string errorMessage = ""; 167 string errorMessage = "";
168 bool ignoreNextFromConfig = false; 168 bool ignoreNextFromConfig = false;
169 while (convertSuccess == false) 169 while (convertSuccess == false)
170 { 170 {
171 string console_result = ""; 171 string console_result = "";
172 string attribute = null; 172 string attribute = null;
173 if (useFile) 173 if (useFile)
174 { 174 {
175 if (!ignoreNextFromConfig) 175 if (!ignoreNextFromConfig)
176 { 176 {
177 attribute = configurationPlugin.GetAttribute(configOption.configurationKey); 177 attribute = configurationPlugin.GetAttribute(configOption.configurationKey);
178 } 178 }
179 else 179 else
180 { 180 {
181 ignoreNextFromConfig = false; 181 ignoreNextFromConfig = false;
182 } 182 }
183 } 183 }
184 184
185 if (attribute == null) 185 if (attribute == null)
186 { 186 {
187 if (configOption.configurationUseDefaultNoPrompt) 187 if (configOption.configurationUseDefaultNoPrompt)
188 { 188 {
189 console_result = configOption.configurationDefault; 189 console_result = configOption.configurationDefault;
190 } 190 }
191 else 191 else
192 { 192 {
193 if (configurationDescription.Trim() != "") 193 if (configurationDescription.Trim() != "")
194 { 194 {
195 console_result = 195 console_result =
196 MainLog.Instance.CmdPrompt( 196 MainLog.Instance.CmdPrompt(
197 configurationDescription + ": " + configOption.configurationQuestion, 197 configurationDescription + ": " + configOption.configurationQuestion,
198 configOption.configurationDefault); 198 configOption.configurationDefault);
199 } 199 }
200 else 200 else
201 { 201 {
202 console_result = 202 console_result =
203 MainLog.Instance.CmdPrompt(configOption.configurationQuestion, 203 MainLog.Instance.CmdPrompt(configOption.configurationQuestion,
204 configOption.configurationDefault); 204 configOption.configurationDefault);
205 } 205 }
206 } 206 }
207 } 207 }
208 else 208 else
209 { 209 {
210 console_result = attribute; 210 console_result = attribute;
211 } 211 }
212 212
213 switch (configOption.configurationType) 213 switch (configOption.configurationType)
214 { 214 {
215 case ConfigurationOption.ConfigurationTypes.TYPE_STRING: 215 case ConfigurationOption.ConfigurationTypes.TYPE_STRING:
216 return_result = console_result; 216 return_result = console_result;
217 convertSuccess = true; 217 convertSuccess = true;
218 break; 218 break;
219 case ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY: 219 case ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY:
220 if (console_result.Length > 0) 220 if (console_result.Length > 0)
221 { 221 {
222 return_result = console_result; 222 return_result = console_result;
223 convertSuccess = true; 223 convertSuccess = true;
224 } 224 }
225 errorMessage = "a string that is not empty"; 225 errorMessage = "a string that is not empty";
226 break; 226 break;
227 case ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN: 227 case ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN:
228 bool boolResult; 228 bool boolResult;
229 if (Boolean.TryParse(console_result, out boolResult)) 229 if (Boolean.TryParse(console_result, out boolResult))
230 { 230 {
231 convertSuccess = true; 231 convertSuccess = true;
232 return_result = boolResult; 232 return_result = boolResult;
233 } 233 }
234 errorMessage = "'true' or 'false' (Boolean)"; 234 errorMessage = "'true' or 'false' (Boolean)";
235 break; 235 break;
236 case ConfigurationOption.ConfigurationTypes.TYPE_BYTE: 236 case ConfigurationOption.ConfigurationTypes.TYPE_BYTE:
237 byte byteResult; 237 byte byteResult;
238 if (Byte.TryParse(console_result, out byteResult)) 238 if (Byte.TryParse(console_result, out byteResult))
239 { 239 {
240 convertSuccess = true; 240 convertSuccess = true;
241 return_result = byteResult; 241 return_result = byteResult;
242 } 242 }
243 errorMessage = "a byte (Byte)"; 243 errorMessage = "a byte (Byte)";
244 break; 244 break;
245 case ConfigurationOption.ConfigurationTypes.TYPE_CHARACTER: 245 case ConfigurationOption.ConfigurationTypes.TYPE_CHARACTER:
246 char charResult; 246 char charResult;
247 if (Char.TryParse(console_result, out charResult)) 247 if (Char.TryParse(console_result, out charResult))
248 { 248 {
249 convertSuccess = true; 249 convertSuccess = true;
250 return_result = charResult; 250 return_result = charResult;
251 } 251 }
252 errorMessage = "a character (Char)"; 252 errorMessage = "a character (Char)";
253 break; 253 break;
254 case ConfigurationOption.ConfigurationTypes.TYPE_INT16: 254 case ConfigurationOption.ConfigurationTypes.TYPE_INT16:
255 short shortResult; 255 short shortResult;
256 if (Int16.TryParse(console_result, out shortResult)) 256 if (Int16.TryParse(console_result, out shortResult))
257 { 257 {
258 convertSuccess = true; 258 convertSuccess = true;
259 return_result = shortResult; 259 return_result = shortResult;
260 } 260 }
261 errorMessage = "a signed 32 bit integer (short)"; 261 errorMessage = "a signed 32 bit integer (short)";
262 break; 262 break;
263 case ConfigurationOption.ConfigurationTypes.TYPE_INT32: 263 case ConfigurationOption.ConfigurationTypes.TYPE_INT32:
264 int intResult; 264 int intResult;
265 if (Int32.TryParse(console_result, out intResult)) 265 if (Int32.TryParse(console_result, out intResult))
266 { 266 {
267 convertSuccess = true; 267 convertSuccess = true;
268 return_result = intResult; 268 return_result = intResult;
269 } 269 }
270 errorMessage = "a signed 32 bit integer (int)"; 270 errorMessage = "a signed 32 bit integer (int)";
271 break; 271 break;
272 case ConfigurationOption.ConfigurationTypes.TYPE_INT64: 272 case ConfigurationOption.ConfigurationTypes.TYPE_INT64:
273 long longResult; 273 long longResult;
274 if (Int64.TryParse(console_result, out longResult)) 274 if (Int64.TryParse(console_result, out longResult))
275 { 275 {
276 convertSuccess = true; 276 convertSuccess = true;
277 return_result = longResult; 277 return_result = longResult;
278 } 278 }
279 errorMessage = "a signed 32 bit integer (long)"; 279 errorMessage = "a signed 32 bit integer (long)";
280 break; 280 break;
281 case ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS: 281 case ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS:
282 IPAddress ipAddressResult; 282 IPAddress ipAddressResult;
283 if (IPAddress.TryParse(console_result, out ipAddressResult)) 283 if (IPAddress.TryParse(console_result, out ipAddressResult))
284 { 284 {
285 convertSuccess = true; 285 convertSuccess = true;
286 return_result = ipAddressResult; 286 return_result = ipAddressResult;
287 } 287 }
288 errorMessage = "an IP Address (IPAddress)"; 288 errorMessage = "an IP Address (IPAddress)";
289 break; 289 break;
290 case ConfigurationOption.ConfigurationTypes.TYPE_LLUUID: 290 case ConfigurationOption.ConfigurationTypes.TYPE_LLUUID:
291 LLUUID uuidResult; 291 LLUUID uuidResult;
292 if (LLUUID.TryParse(console_result, out uuidResult)) 292 if (LLUUID.TryParse(console_result, out uuidResult))
293 { 293 {
294 convertSuccess = true; 294 convertSuccess = true;
295 return_result = uuidResult; 295 return_result = uuidResult;
296 } 296 }
297 errorMessage = "a UUID (LLUUID)"; 297 errorMessage = "a UUID (LLUUID)";
298 break; 298 break;
299 case ConfigurationOption.ConfigurationTypes.TYPE_LLVECTOR3: 299 case ConfigurationOption.ConfigurationTypes.TYPE_LLVECTOR3:
300 LLVector3 vectorResult; 300 LLVector3 vectorResult;
301 if (LLVector3.TryParse(console_result, out vectorResult)) 301 if (LLVector3.TryParse(console_result, out vectorResult))
302 { 302 {
303 convertSuccess = true; 303 convertSuccess = true;
304 return_result = vectorResult; 304 return_result = vectorResult;
305 } 305 }
306 errorMessage = "a vector (LLVector3)"; 306 errorMessage = "a vector (LLVector3)";
307 break; 307 break;
308 case ConfigurationOption.ConfigurationTypes.TYPE_UINT16: 308 case ConfigurationOption.ConfigurationTypes.TYPE_UINT16:
309 ushort ushortResult; 309 ushort ushortResult;
310 if (UInt16.TryParse(console_result, out ushortResult)) 310 if (UInt16.TryParse(console_result, out ushortResult))
311 { 311 {
312 convertSuccess = true; 312 convertSuccess = true;
313 return_result = ushortResult; 313 return_result = ushortResult;
314 } 314 }
315 errorMessage = "an unsigned 16 bit integer (ushort)"; 315 errorMessage = "an unsigned 16 bit integer (ushort)";
316 break; 316 break;
317 case ConfigurationOption.ConfigurationTypes.TYPE_UINT32: 317 case ConfigurationOption.ConfigurationTypes.TYPE_UINT32:
318 uint uintResult; 318 uint uintResult;
319 if (UInt32.TryParse(console_result, out uintResult)) 319 if (UInt32.TryParse(console_result, out uintResult))
320 { 320 {
321 convertSuccess = true; 321 convertSuccess = true;
322 return_result = uintResult; 322 return_result = uintResult;
323 } 323 }
324 errorMessage = "an unsigned 32 bit integer (uint)"; 324 errorMessage = "an unsigned 32 bit integer (uint)";
325 break; 325 break;
326 case ConfigurationOption.ConfigurationTypes.TYPE_UINT64: 326 case ConfigurationOption.ConfigurationTypes.TYPE_UINT64:
327 ulong ulongResult; 327 ulong ulongResult;
328 if (UInt64.TryParse(console_result, out ulongResult)) 328 if (UInt64.TryParse(console_result, out ulongResult))
329 { 329 {
330 convertSuccess = true; 330 convertSuccess = true;
331 return_result = ulongResult; 331 return_result = ulongResult;
332 } 332 }
333 errorMessage = "an unsigned 64 bit integer (ulong)"; 333 errorMessage = "an unsigned 64 bit integer (ulong)";
334 break; 334 break;
335 case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT: 335 case ConfigurationOption.ConfigurationTypes.TYPE_FLOAT:
336 float floatResult; 336 float floatResult;
337 if ( 337 if (
338 float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, 338 float.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
339 out floatResult)) 339 out floatResult))
340 { 340 {
341 convertSuccess = true; 341 convertSuccess = true;
342 return_result = floatResult; 342 return_result = floatResult;
343 } 343 }
344 errorMessage = "a single-precision floating point number (float)"; 344 errorMessage = "a single-precision floating point number (float)";
345 break; 345 break;
346 case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE: 346 case ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE:
347 double doubleResult; 347 double doubleResult;
348 if ( 348 if (
349 Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo, 349 Double.TryParse(console_result, NumberStyles.AllowDecimalPoint, Culture.NumberFormatInfo,
350 out doubleResult)) 350 out doubleResult))
351 { 351 {
352 convertSuccess = true; 352 convertSuccess = true;
353 return_result = doubleResult; 353 return_result = doubleResult;
354 } 354 }
355 errorMessage = "an double-precision floating point number (double)"; 355 errorMessage = "an double-precision floating point number (double)";
356 break; 356 break;
357 } 357 }
358 358
359 if (convertSuccess) 359 if (convertSuccess)
360 { 360 {
361 if (useFile) 361 if (useFile)
362 { 362 {
363 configurationPlugin.SetAttribute(configOption.configurationKey, console_result); 363 configurationPlugin.SetAttribute(configOption.configurationKey, console_result);
364 } 364 }
365 365
366 366
367 if (!resultFunction(configOption.configurationKey, return_result)) 367 if (!resultFunction(configOption.configurationKey, return_result))
368 { 368 {
369 MainLog.Instance.Notice( 369 MainLog.Instance.Notice(
370 "The handler for the last configuration option denied that input, please try again."); 370 "The handler for the last configuration option denied that input, please try again.");
371 convertSuccess = false; 371 convertSuccess = false;
372 ignoreNextFromConfig = true; 372 ignoreNextFromConfig = true;
373 } 373 }
374 } 374 }
375 else 375 else
376 { 376 {
377 if (configOption.configurationUseDefaultNoPrompt) 377 if (configOption.configurationUseDefaultNoPrompt)
378 { 378 {
379 MainLog.Instance.Error("CONFIG", 379 MainLog.Instance.Error("CONFIG",
380 string.Format( 380 string.Format(
381 "[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n", 381 "[{3}]:[{1}] is not valid default for parameter [{0}].\nThe configuration result must be parsable to {2}.\n",
382 configOption.configurationKey, console_result, errorMessage, 382 configOption.configurationKey, console_result, errorMessage,
383 configurationFilename)); 383 configurationFilename));
384 convertSuccess = true; 384 convertSuccess = true;
385 } 385 }
386 else 386 else
387 { 387 {
388 MainLog.Instance.Warn("CONFIG", 388 MainLog.Instance.Warn("CONFIG",
389 string.Format( 389 string.Format(
390 "[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n", 390 "[{3}]:[{1}] is not a valid value [{0}].\nThe configuration result must be parsable to {2}.\n",
391 configOption.configurationKey, console_result, errorMessage, 391 configOption.configurationKey, console_result, errorMessage,
392 configurationFilename)); 392 configurationFilename));
393 ignoreNextFromConfig = true; 393 ignoreNextFromConfig = true;
394 } 394 }
395 } 395 }
396 } 396 }
397 } 397 }
398 398
399 if (useFile) 399 if (useFile)
400 { 400 {
401 configurationPlugin.Commit(); 401 configurationPlugin.Commit();
402 configurationPlugin.Close(); 402 configurationPlugin.Close();
403 } 403 }
404 } 404 }
405 405
406 private IGenericConfig LoadConfigDll(string dllName) 406 private IGenericConfig LoadConfigDll(string dllName)
407 { 407 {
408 Assembly pluginAssembly = Assembly.LoadFrom(dllName); 408 Assembly pluginAssembly = Assembly.LoadFrom(dllName);
409 IGenericConfig plug = null; 409 IGenericConfig plug = null;
410 410
411 foreach (Type pluginType in pluginAssembly.GetTypes()) 411 foreach (Type pluginType in pluginAssembly.GetTypes())
412 { 412 {
413 if (pluginType.IsPublic) 413 if (pluginType.IsPublic)
414 { 414 {
415 if (!pluginType.IsAbstract) 415 if (!pluginType.IsAbstract)
416 { 416 {
417 Type typeInterface = pluginType.GetInterface("IGenericConfig", true); 417 Type typeInterface = pluginType.GetInterface("IGenericConfig", true);
418 418
419 if (typeInterface != null) 419 if (typeInterface != null)
420 { 420 {
421 plug = 421 plug =
422 (IGenericConfig) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); 422 (IGenericConfig) Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
423 } 423 }
424 } 424 }
425 } 425 }
426 } 426 }
427 427
428 pluginAssembly = null; 428 pluginAssembly = null;
429 return plug; 429 return plug;
430 } 430 }
431 431
432 public void forceSetConfigurationOption(string configuration_key, string configuration_value) 432 public void forceSetConfigurationOption(string configuration_key, string configuration_value)
433 { 433 {
434 configurationPlugin.LoadData(); 434 configurationPlugin.LoadData();
435 configurationPlugin.SetAttribute(configuration_key, configuration_value); 435 configurationPlugin.SetAttribute(configuration_key, configuration_value);
436 configurationPlugin.Commit(); 436 configurationPlugin.Commit();
437 configurationPlugin.Close(); 437 configurationPlugin.Close();
438 } 438 }
439 } 439 }
440} \ No newline at end of file 440} \ No newline at end of file
diff --git a/OpenSim/Framework/General/ConfigurationOption.cs b/OpenSim/Framework/General/ConfigurationOption.cs
index 5a8fd08..ec39d3d 100644
--- a/OpenSim/Framework/General/ConfigurationOption.cs
+++ b/OpenSim/Framework/General/ConfigurationOption.cs
@@ -1,60 +1,60 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29namespace OpenSim.Framework 29namespace OpenSim.Framework
30{ 30{
31 public class ConfigurationOption 31 public class ConfigurationOption
32 { 32 {
33 public enum ConfigurationTypes 33 public enum ConfigurationTypes
34 { 34 {
35 TYPE_STRING, 35 TYPE_STRING,
36 TYPE_STRING_NOT_EMPTY, 36 TYPE_STRING_NOT_EMPTY,
37 TYPE_UINT16, 37 TYPE_UINT16,
38 TYPE_UINT32, 38 TYPE_UINT32,
39 TYPE_UINT64, 39 TYPE_UINT64,
40 TYPE_INT16, 40 TYPE_INT16,
41 TYPE_INT32, 41 TYPE_INT32,
42 TYPE_INT64, 42 TYPE_INT64,
43 TYPE_IP_ADDRESS, 43 TYPE_IP_ADDRESS,
44 TYPE_CHARACTER, 44 TYPE_CHARACTER,
45 TYPE_BOOLEAN, 45 TYPE_BOOLEAN,
46 TYPE_BYTE, 46 TYPE_BYTE,
47 TYPE_LLUUID, 47 TYPE_LLUUID,
48 TYPE_LLVECTOR3, 48 TYPE_LLVECTOR3,
49 TYPE_FLOAT, 49 TYPE_FLOAT,
50 TYPE_DOUBLE 50 TYPE_DOUBLE
51 } ; 51 } ;
52 52
53 public string configurationKey = ""; 53 public string configurationKey = "";
54 public string configurationQuestion = ""; 54 public string configurationQuestion = "";
55 public string configurationDefault = ""; 55 public string configurationDefault = "";
56 56
57 public ConfigurationTypes configurationType = ConfigurationTypes.TYPE_STRING; 57 public ConfigurationTypes configurationType = ConfigurationTypes.TYPE_STRING;
58 public bool configurationUseDefaultNoPrompt = false; 58 public bool configurationUseDefaultNoPrompt = false;
59 } 59 }
60} \ No newline at end of file 60} \ No newline at end of file
diff --git a/OpenSim/Framework/General/EstateSettings.cs b/OpenSim/Framework/General/EstateSettings.cs
index c70b6ca..63b62c6 100644
--- a/OpenSim/Framework/General/EstateSettings.cs
+++ b/OpenSim/Framework/General/EstateSettings.cs
@@ -1,707 +1,707 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.IO; 29using System.IO;
30using libsecondlife; 30using libsecondlife;
31 31
32namespace OpenSim.Framework 32namespace OpenSim.Framework
33{ 33{
34 public class EstateSettings 34 public class EstateSettings
35 { 35 {
36 //Settings to this island 36 //Settings to this island
37 private float m_billableFactor; 37 private float m_billableFactor;
38 38
39 public float billableFactor 39 public float billableFactor
40 { 40 {
41 get { return m_billableFactor; } 41 get { return m_billableFactor; }
42 set 42 set
43 { 43 {
44 m_billableFactor = value; 44 m_billableFactor = value;
45 configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString()); 45 configMember.forceSetConfigurationOption("billable_factor", m_billableFactor.ToString());
46 } 46 }
47 } 47 }
48 48
49 49
50 private uint m_estateID; 50 private uint m_estateID;
51 51
52 public uint estateID 52 public uint estateID
53 { 53 {
54 get { return m_estateID; } 54 get { return m_estateID; }
55 set 55 set
56 { 56 {
57 m_estateID = value; 57 m_estateID = value;
58 configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString()); 58 configMember.forceSetConfigurationOption("estate_id", m_estateID.ToString());
59 } 59 }
60 } 60 }
61 61
62 62
63 private uint m_parentEstateID; 63 private uint m_parentEstateID;
64 64
65 public uint parentEstateID 65 public uint parentEstateID
66 { 66 {
67 get { return m_parentEstateID; } 67 get { return m_parentEstateID; }
68 set 68 set
69 { 69 {
70 m_parentEstateID = value; 70 m_parentEstateID = value;
71 configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString()); 71 configMember.forceSetConfigurationOption("parent_estate_id", m_parentEstateID.ToString());
72 } 72 }
73 } 73 }
74 74
75 private byte m_maxAgents; 75 private byte m_maxAgents;
76 76
77 public byte maxAgents 77 public byte maxAgents
78 { 78 {
79 get { return m_maxAgents; } 79 get { return m_maxAgents; }
80 set 80 set
81 { 81 {
82 m_maxAgents = value; 82 m_maxAgents = value;
83 configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString()); 83 configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString());
84 } 84 }
85 } 85 }
86 86
87 private float m_objectBonusFactor; 87 private float m_objectBonusFactor;
88 88
89 public float objectBonusFactor 89 public float objectBonusFactor
90 { 90 {
91 get { return m_objectBonusFactor; } 91 get { return m_objectBonusFactor; }
92 set 92 set
93 { 93 {
94 m_objectBonusFactor = value; 94 m_objectBonusFactor = value;
95 configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString()); 95 configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString());
96 } 96 }
97 } 97 }
98 98
99 private int m_redirectGridX; 99 private int m_redirectGridX;
100 100
101 public int redirectGridX 101 public int redirectGridX
102 { 102 {
103 get { return m_redirectGridX; } 103 get { return m_redirectGridX; }
104 set 104 set
105 { 105 {
106 m_redirectGridX = value; 106 m_redirectGridX = value;
107 configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString()); 107 configMember.forceSetConfigurationOption("redirect_grid_x", m_redirectGridX.ToString());
108 } 108 }
109 } 109 }
110 110
111 private int m_redirectGridY; 111 private int m_redirectGridY;
112 112
113 public int redirectGridY 113 public int redirectGridY
114 { 114 {
115 get { return m_redirectGridY; } 115 get { return m_redirectGridY; }
116 set 116 set
117 { 117 {
118 m_redirectGridY = value; 118 m_redirectGridY = value;
119 configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString()); 119 configMember.forceSetConfigurationOption("redirect_grid_y", m_redirectGridY.ToString());
120 } 120 }
121 } 121 }
122 122
123 private Simulator.RegionFlags m_regionFlags; 123 private Simulator.RegionFlags m_regionFlags;
124 124
125 public Simulator.RegionFlags regionFlags 125 public Simulator.RegionFlags regionFlags
126 { 126 {
127 get { return m_regionFlags; } 127 get { return m_regionFlags; }
128 set 128 set
129 { 129 {
130 m_regionFlags = value; 130 m_regionFlags = value;
131 configMember.forceSetConfigurationOption("region_flags", m_regionFlags.ToString()); 131 configMember.forceSetConfigurationOption("region_flags", m_regionFlags.ToString());
132 } 132 }
133 } 133 }
134 134
135 135
136 private Simulator.SimAccess m_simAccess; 136 private Simulator.SimAccess m_simAccess;
137 137
138 public Simulator.SimAccess simAccess 138 public Simulator.SimAccess simAccess
139 { 139 {
140 get { return m_simAccess; } 140 get { return m_simAccess; }
141 set 141 set
142 { 142 {
143 m_simAccess = value; 143 m_simAccess = value;
144 configMember.forceSetConfigurationOption("sim_access", m_simAccess.ToString()); 144 configMember.forceSetConfigurationOption("sim_access", m_simAccess.ToString());
145 } 145 }
146 } 146 }
147 147
148 private float m_sunHour; 148 private float m_sunHour;
149 149
150 public float sunHour 150 public float sunHour
151 { 151 {
152 get { return m_sunHour; } 152 get { return m_sunHour; }
153 set 153 set
154 { 154 {
155 m_sunHour = value; 155 m_sunHour = value;
156 configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString()); 156 configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString());
157 } 157 }
158 } 158 }
159 159
160 private float m_terrainRaiseLimit; 160 private float m_terrainRaiseLimit;
161 161
162 public float terrainRaiseLimit 162 public float terrainRaiseLimit
163 { 163 {
164 get { return m_terrainRaiseLimit; } 164 get { return m_terrainRaiseLimit; }
165 set 165 set
166 { 166 {
167 m_terrainRaiseLimit = value; 167 m_terrainRaiseLimit = value;
168 configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString()); 168 configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString());
169 } 169 }
170 } 170 }
171 171
172 private float m_terrainLowerLimit; 172 private float m_terrainLowerLimit;
173 173
174 public float terrainLowerLimit 174 public float terrainLowerLimit
175 { 175 {
176 get { return m_terrainLowerLimit; } 176 get { return m_terrainLowerLimit; }
177 set 177 set
178 { 178 {
179 m_terrainLowerLimit = value; 179 m_terrainLowerLimit = value;
180 configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString()); 180 configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString());
181 } 181 }
182 } 182 }
183 183
184 private bool m_useFixedSun; 184 private bool m_useFixedSun;
185 185
186 public bool useFixedSun 186 public bool useFixedSun
187 { 187 {
188 get { return m_useFixedSun; } 188 get { return m_useFixedSun; }
189 set 189 set
190 { 190 {
191 m_useFixedSun = value; 191 m_useFixedSun = value;
192 configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString()); 192 configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString());
193 } 193 }
194 } 194 }
195 195
196 196
197 private int m_pricePerMeter; 197 private int m_pricePerMeter;
198 198
199 public int pricePerMeter 199 public int pricePerMeter
200 { 200 {
201 get { return m_pricePerMeter; } 201 get { return m_pricePerMeter; }
202 set 202 set
203 { 203 {
204 m_pricePerMeter = value; 204 m_pricePerMeter = value;
205 configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString()); 205 configMember.forceSetConfigurationOption("price_per_meter", m_pricePerMeter.ToString());
206 } 206 }
207 } 207 }
208 208
209 209
210 private ushort m_regionWaterHeight; 210 private ushort m_regionWaterHeight;
211 211
212 public ushort regionWaterHeight 212 public ushort regionWaterHeight
213 { 213 {
214 get { return m_regionWaterHeight; } 214 get { return m_regionWaterHeight; }
215 set 215 set
216 { 216 {
217 m_regionWaterHeight = value; 217 m_regionWaterHeight = value;
218 configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString()); 218 configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString());
219 } 219 }
220 } 220 }
221 221
222 222
223 private bool m_regionAllowTerraform; 223 private bool m_regionAllowTerraform;
224 224
225 public bool regionAllowTerraform 225 public bool regionAllowTerraform
226 { 226 {
227 get { return m_regionAllowTerraform; } 227 get { return m_regionAllowTerraform; }
228 set 228 set
229 { 229 {
230 m_regionAllowTerraform = value; 230 m_regionAllowTerraform = value;
231 configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString()); 231 configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString());
232 } 232 }
233 } 233 }
234 234
235 235
236 // Region Information 236 // Region Information
237 // Low resolution 'base' textures. No longer used. 237 // Low resolution 'base' textures. No longer used.
238 private LLUUID m_terrainBase0; 238 private LLUUID m_terrainBase0;
239 239
240 public LLUUID terrainBase0 240 public LLUUID terrainBase0
241 { 241 {
242 get { return m_terrainBase0; } 242 get { return m_terrainBase0; }
243 set 243 set
244 { 244 {
245 m_terrainBase0 = value; 245 m_terrainBase0 = value;
246 configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString()); 246 configMember.forceSetConfigurationOption("terrain_base_0", m_terrainBase0.ToString());
247 } 247 }
248 } 248 }
249 249
250 private LLUUID m_terrainBase1; 250 private LLUUID m_terrainBase1;
251 251
252 public LLUUID terrainBase1 252 public LLUUID terrainBase1
253 { 253 {
254 get { return m_terrainBase1; } 254 get { return m_terrainBase1; }
255 set 255 set
256 { 256 {
257 m_terrainBase1 = value; 257 m_terrainBase1 = value;
258 configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString()); 258 configMember.forceSetConfigurationOption("terrain_base_1", m_terrainBase1.ToString());
259 } 259 }
260 } 260 }
261 261
262 private LLUUID m_terrainBase2; 262 private LLUUID m_terrainBase2;
263 263
264 public LLUUID terrainBase2 264 public LLUUID terrainBase2
265 { 265 {
266 get { return m_terrainBase2; } 266 get { return m_terrainBase2; }
267 set 267 set
268 { 268 {
269 m_terrainBase2 = value; 269 m_terrainBase2 = value;
270 configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString()); 270 configMember.forceSetConfigurationOption("terrain_base_2", m_terrainBase2.ToString());
271 } 271 }
272 } 272 }
273 273
274 private LLUUID m_terrainBase3; 274 private LLUUID m_terrainBase3;
275 275
276 public LLUUID terrainBase3 276 public LLUUID terrainBase3
277 { 277 {
278 get { return m_terrainBase3; } 278 get { return m_terrainBase3; }
279 set 279 set
280 { 280 {
281 m_terrainBase3 = value; 281 m_terrainBase3 = value;
282 configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString()); 282 configMember.forceSetConfigurationOption("terrain_base_3", m_terrainBase3.ToString());
283 } 283 }
284 } 284 }
285 285
286 286
287 // Higher resolution terrain textures 287 // Higher resolution terrain textures
288 private LLUUID m_terrainDetail0; 288 private LLUUID m_terrainDetail0;
289 289
290 public LLUUID terrainDetail0 290 public LLUUID terrainDetail0
291 { 291 {
292 get { return m_terrainDetail0; } 292 get { return m_terrainDetail0; }
293 set 293 set
294 { 294 {
295 m_terrainDetail0 = value; 295 m_terrainDetail0 = value;
296 configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString()); 296 configMember.forceSetConfigurationOption("terrain_detail_0", m_terrainDetail0.ToString());
297 } 297 }
298 } 298 }
299 299
300 private LLUUID m_terrainDetail1; 300 private LLUUID m_terrainDetail1;
301 301
302 public LLUUID terrainDetail1 302 public LLUUID terrainDetail1
303 { 303 {
304 get { return m_terrainDetail1; } 304 get { return m_terrainDetail1; }
305 set 305 set
306 { 306 {
307 m_terrainDetail1 = value; 307 m_terrainDetail1 = value;
308 configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString()); 308 configMember.forceSetConfigurationOption("terrain_detail_1", m_terrainDetail1.ToString());
309 } 309 }
310 } 310 }
311 311
312 private LLUUID m_terrainDetail2; 312 private LLUUID m_terrainDetail2;
313 313
314 public LLUUID terrainDetail2 314 public LLUUID terrainDetail2
315 { 315 {
316 get { return m_terrainDetail2; } 316 get { return m_terrainDetail2; }
317 set 317 set
318 { 318 {
319 m_terrainDetail2 = value; 319 m_terrainDetail2 = value;
320 configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString()); 320 configMember.forceSetConfigurationOption("terrain_detail_2", m_terrainDetail2.ToString());
321 } 321 }
322 } 322 }
323 323
324 private LLUUID m_terrainDetail3; 324 private LLUUID m_terrainDetail3;
325 325
326 public LLUUID terrainDetail3 326 public LLUUID terrainDetail3
327 { 327 {
328 get { return m_terrainDetail3; } 328 get { return m_terrainDetail3; }
329 set 329 set
330 { 330 {
331 m_terrainDetail3 = value; 331 m_terrainDetail3 = value;
332 configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString()); 332 configMember.forceSetConfigurationOption("terrain_detail_3", m_terrainDetail3.ToString());
333 } 333 }
334 } 334 }
335 335
336 // First quad - each point is bilinearly interpolated at each meter of terrain 336 // First quad - each point is bilinearly interpolated at each meter of terrain
337 private float m_terrainStartHeight0; 337 private float m_terrainStartHeight0;
338 338
339 public float terrainStartHeight0 339 public float terrainStartHeight0
340 { 340 {
341 get { return m_terrainStartHeight0; } 341 get { return m_terrainStartHeight0; }
342 set 342 set
343 { 343 {
344 m_terrainStartHeight0 = value; 344 m_terrainStartHeight0 = value;
345 configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString()); 345 configMember.forceSetConfigurationOption("terrain_start_height_0", m_terrainStartHeight0.ToString());
346 } 346 }
347 } 347 }
348 348
349 349
350 private float m_terrainStartHeight1; 350 private float m_terrainStartHeight1;
351 351
352 public float terrainStartHeight1 352 public float terrainStartHeight1
353 { 353 {
354 get { return m_terrainStartHeight1; } 354 get { return m_terrainStartHeight1; }
355 set 355 set
356 { 356 {
357 m_terrainStartHeight1 = value; 357 m_terrainStartHeight1 = value;
358 configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString()); 358 configMember.forceSetConfigurationOption("terrain_start_height_1", m_terrainStartHeight1.ToString());
359 } 359 }
360 } 360 }
361 361
362 private float m_terrainStartHeight2; 362 private float m_terrainStartHeight2;
363 363
364 public float terrainStartHeight2 364 public float terrainStartHeight2
365 { 365 {
366 get { return m_terrainStartHeight2; } 366 get { return m_terrainStartHeight2; }
367 set 367 set
368 { 368 {
369 m_terrainStartHeight2 = value; 369 m_terrainStartHeight2 = value;
370 configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString()); 370 configMember.forceSetConfigurationOption("terrain_start_height_2", m_terrainStartHeight2.ToString());
371 } 371 }
372 } 372 }
373 373
374 private float m_terrainStartHeight3; 374 private float m_terrainStartHeight3;
375 375
376 public float terrainStartHeight3 376 public float terrainStartHeight3
377 { 377 {
378 get { return m_terrainStartHeight3; } 378 get { return m_terrainStartHeight3; }
379 set 379 set
380 { 380 {
381 m_terrainStartHeight3 = value; 381 m_terrainStartHeight3 = value;
382 configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString()); 382 configMember.forceSetConfigurationOption("terrain_start_height_3", m_terrainStartHeight3.ToString());
383 } 383 }
384 } 384 }
385 385
386 // Second quad - also bilinearly interpolated. 386 // Second quad - also bilinearly interpolated.
387 // Terrain texturing is done that: 387 // Terrain texturing is done that:
388 // 0..3 (0 = base0, 3 = base3) = (terrain[x,y] - start[x,y]) / range[x,y] 388 // 0..3 (0 = base0, 3 = base3) = (terrain[x,y] - start[x,y]) / range[x,y]
389 private float m_terrainHeightRange0; 389 private float m_terrainHeightRange0;
390 390
391 public float terrainHeightRange0 391 public float terrainHeightRange0
392 { 392 {
393 get { return m_terrainHeightRange0; } 393 get { return m_terrainHeightRange0; }
394 set 394 set
395 { 395 {
396 m_terrainHeightRange0 = value; 396 m_terrainHeightRange0 = value;
397 configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString()); 397 configMember.forceSetConfigurationOption("terrain_height_range_0", m_terrainHeightRange0.ToString());
398 } 398 }
399 } 399 }
400 400
401 private float m_terrainHeightRange1; 401 private float m_terrainHeightRange1;
402 402
403 public float terrainHeightRange1 403 public float terrainHeightRange1
404 { 404 {
405 get { return m_terrainHeightRange1; } 405 get { return m_terrainHeightRange1; }
406 set 406 set
407 { 407 {
408 m_terrainHeightRange1 = value; 408 m_terrainHeightRange1 = value;
409 configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString()); 409 configMember.forceSetConfigurationOption("terrain_height_range_1", m_terrainHeightRange1.ToString());
410 } 410 }
411 } 411 }
412 412
413 private float m_terrainHeightRange2; 413 private float m_terrainHeightRange2;
414 414
415 public float terrainHeightRange2 415 public float terrainHeightRange2
416 { 416 {
417 get { return m_terrainHeightRange2; } 417 get { return m_terrainHeightRange2; }
418 set 418 set
419 { 419 {
420 m_terrainHeightRange2 = value; 420 m_terrainHeightRange2 = value;
421 configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString()); 421 configMember.forceSetConfigurationOption("terrain_height_range_2", m_terrainHeightRange2.ToString());
422 } 422 }
423 } 423 }
424 424
425 private float m_terrainHeightRange3; 425 private float m_terrainHeightRange3;
426 426
427 public float terrainHeightRange3 427 public float terrainHeightRange3
428 { 428 {
429 get { return m_terrainHeightRange3; } 429 get { return m_terrainHeightRange3; }
430 set 430 set
431 { 431 {
432 m_terrainHeightRange3 = value; 432 m_terrainHeightRange3 = value;
433 configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString()); 433 configMember.forceSetConfigurationOption("terrain_height_range_3", m_terrainHeightRange3.ToString());
434 } 434 }
435 } 435 }
436 436
437 // Terrain Default (Must be in F32 Format!) 437 // Terrain Default (Must be in F32 Format!)
438 private string m_terrainFile; 438 private string m_terrainFile;
439 439
440 public string terrainFile 440 public string terrainFile
441 { 441 {
442 get { return m_terrainFile; } 442 get { return m_terrainFile; }
443 set 443 set
444 { 444 {
445 m_terrainFile = value; 445 m_terrainFile = value;
446 configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString()); 446 configMember.forceSetConfigurationOption("terrain_file", m_terrainFile.ToString());
447 } 447 }
448 } 448 }
449 449
450 private double m_terrainMultiplier; 450 private double m_terrainMultiplier;
451 451
452 public double terrainMultiplier 452 public double terrainMultiplier
453 { 453 {
454 get { return m_terrainMultiplier; } 454 get { return m_terrainMultiplier; }
455 set 455 set
456 { 456 {
457 m_terrainMultiplier = value; 457 m_terrainMultiplier = value;
458 configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString()); 458 configMember.forceSetConfigurationOption("terrain_multiplier", m_terrainMultiplier.ToString());
459 } 459 }
460 } 460 }
461 461
462 private float m_waterHeight; 462 private float m_waterHeight;
463 463
464 public float waterHeight 464 public float waterHeight
465 { 465 {
466 get { return m_waterHeight; } 466 get { return m_waterHeight; }
467 set 467 set
468 { 468 {
469 m_waterHeight = value; 469 m_waterHeight = value;
470 configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString()); 470 configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString());
471 } 471 }
472 } 472 }
473 473
474 private LLUUID m_terrainImageID; 474 private LLUUID m_terrainImageID;
475 475
476 public LLUUID terrainImageID 476 public LLUUID terrainImageID
477 { 477 {
478 get { return m_terrainImageID; } 478 get { return m_terrainImageID; }
479 set 479 set
480 { 480 {
481 m_terrainImageID = value; 481 m_terrainImageID = value;
482 configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString()); 482 configMember.forceSetConfigurationOption("terrain_image_id", m_terrainImageID.ToString());
483 } 483 }
484 } 484 }
485 485
486 private ConfigurationMember configMember; 486 private ConfigurationMember configMember;
487 487
488 public EstateSettings() 488 public EstateSettings()
489 { 489 {
490 // Temporary hack to prevent multiple loadings. 490 // Temporary hack to prevent multiple loadings.
491 if (configMember == null) 491 if (configMember == null)
492 { 492 {
493 configMember = 493 configMember =
494 new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS", 494 new ConfigurationMember(Path.Combine(Util.configDir(), "estate_settings.xml"), "ESTATE SETTINGS",
495 loadConfigurationOptions, handleIncomingConfiguration); 495 loadConfigurationOptions, handleIncomingConfiguration);
496 configMember.performConfigurationRetrieve(); 496 configMember.performConfigurationRetrieve();
497 } 497 }
498 } 498 }
499 499
500 public void loadConfigurationOptions() 500 public void loadConfigurationOptions()
501 { 501 {
502 configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", 502 configMember.addConfigurationOption("billable_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "",
503 "0.0", true); 503 "0.0", true);
504 configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0", 504 configMember.addConfigurationOption("estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", "0",
505 true); 505 true);
506 configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 506 configMember.addConfigurationOption("parent_estate_id", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
507 "", "0", true); 507 "", "0", true);
508 configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "40", 508 configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "40",
509 true); 509 true);
510 510
511 configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, 511 configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
512 "", "1.0", true); 512 "", "1.0", true);
513 configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", 513 configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "",
514 "0", true); 514 "0", true);
515 configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "", 515 configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "",
516 "0", true); 516 "0", true);
517 configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "", 517 configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "",
518 "0", true); 518 "0", true);
519 configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "21", 519 configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, "", "21",
520 true); 520 true);
521 configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0", 521 configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "0",
522 true); 522 true);
523 configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, 523 configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
524 "", "0", true); 524 "", "0", true);
525 configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, 525 configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
526 "", "0", true); 526 "", "0", true);
527 configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", 527 configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "",
528 "false", true); 528 "false", true);
529 configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 529 configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
530 "", "1", true); 530 "", "1", true);
531 configMember.addConfigurationOption("region_water_height", 531 configMember.addConfigurationOption("region_water_height",
532 ConfigurationOption.ConfigurationTypes.TYPE_UINT16, "", "20", true); 532 ConfigurationOption.ConfigurationTypes.TYPE_UINT16, "", "20", true);
533 configMember.addConfigurationOption("region_allow_terraform", 533 configMember.addConfigurationOption("region_allow_terraform",
534 ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "true", true); 534 ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, "", "true", true);
535 535
536 configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", 536 configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
537 "b8d3965a-ad78-bf43-699b-bff8eca6c975", true); 537 "b8d3965a-ad78-bf43-699b-bff8eca6c975", true);
538 configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", 538 configMember.addConfigurationOption("terrain_base_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
539 "abb783e6-3e93-26c0-248a-247666855da3", true); 539 "abb783e6-3e93-26c0-248a-247666855da3", true);
540 configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", 540 configMember.addConfigurationOption("terrain_base_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
541 "179cdabd-398a-9b6b-1391-4dc333ba321f", true); 541 "179cdabd-398a-9b6b-1391-4dc333ba321f", true);
542 configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "", 542 configMember.addConfigurationOption("terrain_base_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, "",
543 "beb169c7-11ea-fff2-efe5-0f24dc881df2", true); 543 "beb169c7-11ea-fff2-efe5-0f24dc881df2", true);
544 544
545 configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, 545 configMember.addConfigurationOption("terrain_detail_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
546 "", "00000000-0000-0000-0000-000000000000", true); 546 "", "00000000-0000-0000-0000-000000000000", true);
547 configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, 547 configMember.addConfigurationOption("terrain_detail_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
548 "", "00000000-0000-0000-0000-000000000000", true); 548 "", "00000000-0000-0000-0000-000000000000", true);
549 configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, 549 configMember.addConfigurationOption("terrain_detail_2", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
550 "", "00000000-0000-0000-0000-000000000000", true); 550 "", "00000000-0000-0000-0000-000000000000", true);
551 configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, 551 configMember.addConfigurationOption("terrain_detail_3", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
552 "", "00000000-0000-0000-0000-000000000000", true); 552 "", "00000000-0000-0000-0000-000000000000", true);
553 553
554 configMember.addConfigurationOption("terrain_start_height_0", 554 configMember.addConfigurationOption("terrain_start_height_0",
555 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 555 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
556 configMember.addConfigurationOption("terrain_start_height_1", 556 configMember.addConfigurationOption("terrain_start_height_1",
557 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 557 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
558 configMember.addConfigurationOption("terrain_start_height_2", 558 configMember.addConfigurationOption("terrain_start_height_2",
559 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 559 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
560 configMember.addConfigurationOption("terrain_start_height_3", 560 configMember.addConfigurationOption("terrain_start_height_3",
561 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true); 561 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "10.0", true);
562 562
563 configMember.addConfigurationOption("terrain_height_range_0", 563 configMember.addConfigurationOption("terrain_height_range_0",
564 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 564 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
565 configMember.addConfigurationOption("terrain_height_range_1", 565 configMember.addConfigurationOption("terrain_height_range_1",
566 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 566 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
567 configMember.addConfigurationOption("terrain_height_range_2", 567 configMember.addConfigurationOption("terrain_height_range_2",
568 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 568 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
569 configMember.addConfigurationOption("terrain_height_range_3", 569 configMember.addConfigurationOption("terrain_height_range_3",
570 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true); 570 ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, "", "60.0", true);
571 571
572 configMember.addConfigurationOption("terrain_file", 572 configMember.addConfigurationOption("terrain_file",
573 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "", 573 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "",
574 "default.r32", true); 574 "default.r32", true);
575 configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, 575 configMember.addConfigurationOption("terrain_multiplier", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
576 "", "60.0", true); 576 "", "60.0", true);
577 configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, "", 577 configMember.addConfigurationOption("water_height", ConfigurationOption.ConfigurationTypes.TYPE_DOUBLE, "",
578 "20.0", true); 578 "20.0", true);
579 configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, 579 configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
580 "", "00000000-0000-0000-0000-000000000000", true); 580 "", "00000000-0000-0000-0000-000000000000", true);
581 } 581 }
582 582
583 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 583 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
584 { 584 {
585 switch (configuration_key) 585 switch (configuration_key)
586 { 586 {
587 case "billable_factor": 587 case "billable_factor":
588 m_billableFactor = (float) configuration_result; 588 m_billableFactor = (float) configuration_result;
589 break; 589 break;
590 case "estate_id": 590 case "estate_id":
591 m_estateID = (uint) configuration_result; 591 m_estateID = (uint) configuration_result;
592 break; 592 break;
593 case "parent_estate_id": 593 case "parent_estate_id":
594 m_parentEstateID = (uint) configuration_result; 594 m_parentEstateID = (uint) configuration_result;
595 break; 595 break;
596 case "max_agents": 596 case "max_agents":
597 m_maxAgents = (byte) configuration_result; 597 m_maxAgents = (byte) configuration_result;
598 break; 598 break;
599 599
600 case "object_bonus_factor": 600 case "object_bonus_factor":
601 m_objectBonusFactor = (float) configuration_result; 601 m_objectBonusFactor = (float) configuration_result;
602 break; 602 break;
603 case "redirect_grid_x": 603 case "redirect_grid_x":
604 m_redirectGridX = (int) configuration_result; 604 m_redirectGridX = (int) configuration_result;
605 break; 605 break;
606 case "redirect_grid_y": 606 case "redirect_grid_y":
607 m_redirectGridY = (int) configuration_result; 607 m_redirectGridY = (int) configuration_result;
608 break; 608 break;
609 case "region_flags": 609 case "region_flags":
610 m_regionFlags = (Simulator.RegionFlags) ((uint) configuration_result); 610 m_regionFlags = (Simulator.RegionFlags) ((uint) configuration_result);
611 break; 611 break;
612 case "sim_access": 612 case "sim_access":
613 m_simAccess = (Simulator.SimAccess) ((byte) configuration_result); 613 m_simAccess = (Simulator.SimAccess) ((byte) configuration_result);
614 break; 614 break;
615 case "sun_hour": 615 case "sun_hour":
616 m_sunHour = (float) configuration_result; 616 m_sunHour = (float) configuration_result;
617 break; 617 break;
618 case "terrain_raise_limit": 618 case "terrain_raise_limit":
619 m_terrainRaiseLimit = (float) configuration_result; 619 m_terrainRaiseLimit = (float) configuration_result;
620 break; 620 break;
621 case "terrain_lower_limit": 621 case "terrain_lower_limit":
622 m_terrainLowerLimit = (float) configuration_result; 622 m_terrainLowerLimit = (float) configuration_result;
623 break; 623 break;
624 case "use_fixed_sun": 624 case "use_fixed_sun":
625 m_useFixedSun = (bool) configuration_result; 625 m_useFixedSun = (bool) configuration_result;
626 break; 626 break;
627 case "price_per_meter": 627 case "price_per_meter":
628 m_pricePerMeter = Convert.ToInt32(configuration_result); 628 m_pricePerMeter = Convert.ToInt32(configuration_result);
629 break; 629 break;
630 case "region_water_height": 630 case "region_water_height":
631 m_regionWaterHeight = (ushort) configuration_result; 631 m_regionWaterHeight = (ushort) configuration_result;
632 break; 632 break;
633 case "region_allow_terraform": 633 case "region_allow_terraform":
634 m_regionAllowTerraform = (bool) configuration_result; 634 m_regionAllowTerraform = (bool) configuration_result;
635 break; 635 break;
636 636
637 case "terrain_base_0": 637 case "terrain_base_0":
638 m_terrainBase0 = (LLUUID) configuration_result; 638 m_terrainBase0 = (LLUUID) configuration_result;
639 break; 639 break;
640 case "terrain_base_1": 640 case "terrain_base_1":
641 m_terrainBase1 = (LLUUID) configuration_result; 641 m_terrainBase1 = (LLUUID) configuration_result;
642 break; 642 break;
643 case "terrain_base_2": 643 case "terrain_base_2":
644 m_terrainBase2 = (LLUUID) configuration_result; 644 m_terrainBase2 = (LLUUID) configuration_result;
645 break; 645 break;
646 case "terrain_base_3": 646 case "terrain_base_3":
647 m_terrainBase3 = (LLUUID) configuration_result; 647 m_terrainBase3 = (LLUUID) configuration_result;
648 break; 648 break;
649 649
650 case "terrain_detail_0": 650 case "terrain_detail_0":
651 m_terrainDetail0 = (LLUUID) configuration_result; 651 m_terrainDetail0 = (LLUUID) configuration_result;
652 break; 652 break;
653 case "terrain_detail_1": 653 case "terrain_detail_1":
654 m_terrainDetail1 = (LLUUID) configuration_result; 654 m_terrainDetail1 = (LLUUID) configuration_result;
655 break; 655 break;
656 case "terrain_detail_2": 656 case "terrain_detail_2":
657 m_terrainDetail2 = (LLUUID) configuration_result; 657 m_terrainDetail2 = (LLUUID) configuration_result;
658 break; 658 break;
659 case "terrain_detail_3": 659 case "terrain_detail_3":
660 m_terrainDetail3 = (LLUUID) configuration_result; 660 m_terrainDetail3 = (LLUUID) configuration_result;
661 break; 661 break;
662 662
663 case "terrain_start_height_0": 663 case "terrain_start_height_0":
664 m_terrainStartHeight0 = (float) configuration_result; 664 m_terrainStartHeight0 = (float) configuration_result;
665 break; 665 break;
666 case "terrain_start_height_1": 666 case "terrain_start_height_1":
667 m_terrainStartHeight1 = (float) configuration_result; 667 m_terrainStartHeight1 = (float) configuration_result;
668 break; 668 break;
669 case "terrain_start_height_2": 669 case "terrain_start_height_2":
670 m_terrainStartHeight2 = (float) configuration_result; 670 m_terrainStartHeight2 = (float) configuration_result;
671 break; 671 break;
672 case "terrain_start_height_3": 672 case "terrain_start_height_3":
673 m_terrainStartHeight3 = (float) configuration_result; 673 m_terrainStartHeight3 = (float) configuration_result;
674 break; 674 break;
675 675
676 case "terrain_height_range_0": 676 case "terrain_height_range_0":
677 m_terrainHeightRange0 = (float) configuration_result; 677 m_terrainHeightRange0 = (float) configuration_result;
678 break; 678 break;
679 case "terrain_height_range_1": 679 case "terrain_height_range_1":
680 m_terrainHeightRange1 = (float) configuration_result; 680 m_terrainHeightRange1 = (float) configuration_result;
681 break; 681 break;
682 case "terrain_height_range_2": 682 case "terrain_height_range_2":
683 m_terrainHeightRange2 = (float) configuration_result; 683 m_terrainHeightRange2 = (float) configuration_result;
684 break; 684 break;
685 case "terrain_height_range_3": 685 case "terrain_height_range_3":
686 m_terrainHeightRange3 = (float) configuration_result; 686 m_terrainHeightRange3 = (float) configuration_result;
687 break; 687 break;
688 688
689 case "terrain_file": 689 case "terrain_file":
690 m_terrainFile = (string) configuration_result; 690 m_terrainFile = (string) configuration_result;
691 break; 691 break;
692 case "terrain_multiplier": 692 case "terrain_multiplier":
693 m_terrainMultiplier = Convert.ToDouble(configuration_result); 693 m_terrainMultiplier = Convert.ToDouble(configuration_result);
694 break; 694 break;
695 case "water_height": 695 case "water_height":
696 double tmpVal = (double) configuration_result; 696 double tmpVal = (double) configuration_result;
697 m_waterHeight = (float) tmpVal; 697 m_waterHeight = (float) tmpVal;
698 break; 698 break;
699 case "terrain_image_id": 699 case "terrain_image_id":
700 m_terrainImageID = (LLUUID) configuration_result; 700 m_terrainImageID = (LLUUID) configuration_result;
701 break; 701 break;
702 } 702 }
703 703
704 return true; 704 return true;
705 } 705 }
706 } 706 }
707} \ No newline at end of file 707} \ No newline at end of file
diff --git a/OpenSim/Framework/General/GridConfig.cs b/OpenSim/Framework/General/GridConfig.cs
index 66d6c3a..021e6c5 100644
--- a/OpenSim/Framework/General/GridConfig.cs
+++ b/OpenSim/Framework/General/GridConfig.cs
@@ -1,136 +1,136 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29namespace OpenSim.Framework 29namespace OpenSim.Framework
30{ 30{
31 public class GridConfig 31 public class GridConfig
32 { 32 {
33 public string GridOwner = ""; 33 public string GridOwner = "";
34 public string DefaultAssetServer = ""; 34 public string DefaultAssetServer = "";
35 public string AssetSendKey = ""; 35 public string AssetSendKey = "";
36 public string AssetRecvKey = ""; 36 public string AssetRecvKey = "";
37 37
38 public string DefaultUserServer = ""; 38 public string DefaultUserServer = "";
39 public string UserSendKey = ""; 39 public string UserSendKey = "";
40 public string UserRecvKey = ""; 40 public string UserRecvKey = "";
41 41
42 public string SimSendKey = ""; 42 public string SimSendKey = "";
43 public string SimRecvKey = ""; 43 public string SimRecvKey = "";
44 44
45 public string DatabaseProvider = ""; 45 public string DatabaseProvider = "";
46 46
47 public static uint DefaultHttpPort = 8001; 47 public static uint DefaultHttpPort = 8001;
48 public uint HttpPort = DefaultHttpPort; 48 public uint HttpPort = DefaultHttpPort;
49 49
50 private ConfigurationMember configMember; 50 private ConfigurationMember configMember;
51 51
52 public GridConfig(string description, string filename) 52 public GridConfig(string description, string filename)
53 { 53 {
54 configMember = 54 configMember =
55 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); 55 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
56 configMember.performConfigurationRetrieve(); 56 configMember.performConfigurationRetrieve();
57 } 57 }
58 58
59 public void loadConfigurationOptions() 59 public void loadConfigurationOptions()
60 { 60 {
61 configMember.addConfigurationOption("grid_owner", 61 configMember.addConfigurationOption("grid_owner",
62 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 62 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
63 "OGS Grid Owner", "OGS development team", false); 63 "OGS Grid Owner", "OGS development team", false);
64 configMember.addConfigurationOption("default_asset_server", 64 configMember.addConfigurationOption("default_asset_server",
65 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 65 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
66 "Default Asset Server URI", 66 "Default Asset Server URI",
67 "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/", 67 "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/",
68 false); 68 false);
69 configMember.addConfigurationOption("asset_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 69 configMember.addConfigurationOption("asset_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
70 "Key to send to asset server", "null", false); 70 "Key to send to asset server", "null", false);
71 configMember.addConfigurationOption("asset_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 71 configMember.addConfigurationOption("asset_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
72 "Key to expect from asset server", "null", false); 72 "Key to expect from asset server", "null", false);
73 73
74 configMember.addConfigurationOption("default_user_server", 74 configMember.addConfigurationOption("default_user_server",
75 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 75 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
76 "Default User Server URI", 76 "Default User Server URI",
77 "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString() + "/", false); 77 "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString() + "/", false);
78 configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 78 configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
79 "Key to send to user server", "null", false); 79 "Key to send to user server", "null", false);
80 configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 80 configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
81 "Key to expect from user server", "null", false); 81 "Key to expect from user server", "null", false);
82 82
83 configMember.addConfigurationOption("sim_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 83 configMember.addConfigurationOption("sim_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
84 "Key to send to a simulator", "null", false); 84 "Key to send to a simulator", "null", false);
85 configMember.addConfigurationOption("sim_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 85 configMember.addConfigurationOption("sim_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
86 "Key to expect from a simulator", "null", false); 86 "Key to expect from a simulator", "null", false);
87 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 87 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
88 "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false); 88 "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
89 89
90 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 90 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
91 "Http Listener port", DefaultHttpPort.ToString(), false); 91 "Http Listener port", DefaultHttpPort.ToString(), false);
92 } 92 }
93 93
94 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 94 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
95 { 95 {
96 switch (configuration_key) 96 switch (configuration_key)
97 { 97 {
98 case "grid_owner": 98 case "grid_owner":
99 GridOwner = (string) configuration_result; 99 GridOwner = (string) configuration_result;
100 break; 100 break;
101 case "default_asset_server": 101 case "default_asset_server":
102 DefaultAssetServer = (string) configuration_result; 102 DefaultAssetServer = (string) configuration_result;
103 break; 103 break;
104 case "asset_send_key": 104 case "asset_send_key":
105 AssetSendKey = (string) configuration_result; 105 AssetSendKey = (string) configuration_result;
106 break; 106 break;
107 case "asset_recv_key": 107 case "asset_recv_key":
108 AssetRecvKey = (string) configuration_result; 108 AssetRecvKey = (string) configuration_result;
109 break; 109 break;
110 case "default_user_server": 110 case "default_user_server":
111 DefaultUserServer = (string) configuration_result; 111 DefaultUserServer = (string) configuration_result;
112 break; 112 break;
113 case "user_send_key": 113 case "user_send_key":
114 UserSendKey = (string) configuration_result; 114 UserSendKey = (string) configuration_result;
115 break; 115 break;
116 case "user_recv_key": 116 case "user_recv_key":
117 UserRecvKey = (string) configuration_result; 117 UserRecvKey = (string) configuration_result;
118 break; 118 break;
119 case "sim_send_key": 119 case "sim_send_key":
120 SimSendKey = (string) configuration_result; 120 SimSendKey = (string) configuration_result;
121 break; 121 break;
122 case "sim_recv_key": 122 case "sim_recv_key":
123 SimRecvKey = (string) configuration_result; 123 SimRecvKey = (string) configuration_result;
124 break; 124 break;
125 case "database_provider": 125 case "database_provider":
126 DatabaseProvider = (string) configuration_result; 126 DatabaseProvider = (string) configuration_result;
127 break; 127 break;
128 case "http_port": 128 case "http_port":
129 HttpPort = (uint) configuration_result; 129 HttpPort = (uint) configuration_result;
130 break; 130 break;
131 } 131 }
132 132
133 return true; 133 return true;
134 } 134 }
135 } 135 }
136} \ No newline at end of file 136} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IAssetProvider.cs b/OpenSim/Framework/General/IAssetProvider.cs
index f452822..ad1cf66 100644
--- a/OpenSim/Framework/General/IAssetProvider.cs
+++ b/OpenSim/Framework/General/IAssetProvider.cs
@@ -1,41 +1,41 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29using libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework 31namespace OpenSim.Framework
32{ 32{
33 public interface IAssetProvider : IPlugin 33 public interface IAssetProvider : IPlugin
34 { 34 {
35 AssetBase FetchAsset(LLUUID uuid); 35 AssetBase FetchAsset(LLUUID uuid);
36 void CreateAsset(AssetBase asset); 36 void CreateAsset(AssetBase asset);
37 void UpdateAsset(AssetBase asset); 37 void UpdateAsset(AssetBase asset);
38 bool ExistsAsset(LLUUID uuid); 38 bool ExistsAsset(LLUUID uuid);
39 void CommitAssets(); // force a sync to the database 39 void CommitAssets(); // force a sync to the database
40 } 40 }
41} \ No newline at end of file 41} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IAssetServer.cs b/OpenSim/Framework/General/IAssetServer.cs
index f4cb533..9a7dbab 100644
--- a/OpenSim/Framework/General/IAssetServer.cs
+++ b/OpenSim/Framework/General/IAssetServer.cs
@@ -1,69 +1,69 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using libsecondlife; 30using libsecondlife;
31 31
32namespace OpenSim.Framework 32namespace OpenSim.Framework
33{ 33{
34 /// <summary> 34 /// <summary>
35 /// Description of IAssetServer. 35 /// Description of IAssetServer.
36 /// </summary> 36 /// </summary>
37 public interface IAssetServer 37 public interface IAssetServer
38 { 38 {
39 void SetReceiver(IAssetReceiver receiver); 39 void SetReceiver(IAssetReceiver receiver);
40 void FetchAsset(LLUUID assetID, bool isTexture); 40 void FetchAsset(LLUUID assetID, bool isTexture);
41 void UpdateAsset(AssetBase asset); 41 void UpdateAsset(AssetBase asset);
42 void StoreAndCommitAsset(AssetBase asset); 42 void StoreAndCommitAsset(AssetBase asset);
43 void Close(); 43 void Close();
44 void LoadAsset(AssetBase info, bool image, string filename); 44 void LoadAsset(AssetBase info, bool image, string filename);
45 List<AssetBase> GetDefaultAssets(); 45 List<AssetBase> GetDefaultAssets();
46 AssetBase CreateImageAsset(string assetIdStr, string name, string filename); 46 AssetBase CreateImageAsset(string assetIdStr, string name, string filename);
47 void ForEachDefaultAsset(Action<AssetBase> action); 47 void ForEachDefaultAsset(Action<AssetBase> action);
48 AssetBase CreateAsset(string assetIdStr, string name, string filename, bool isImage); 48 AssetBase CreateAsset(string assetIdStr, string name, string filename, bool isImage);
49 void ForEachXmlAsset(Action<AssetBase> action); 49 void ForEachXmlAsset(Action<AssetBase> action);
50 } 50 }
51 51
52 // could change to delegate? 52 // could change to delegate?
53 public interface IAssetReceiver 53 public interface IAssetReceiver
54 { 54 {
55 void AssetReceived(AssetBase asset, bool IsTexture); 55 void AssetReceived(AssetBase asset, bool IsTexture);
56 void AssetNotFound(LLUUID assetID); 56 void AssetNotFound(LLUUID assetID);
57 } 57 }
58 58
59 public interface IAssetPlugin 59 public interface IAssetPlugin
60 { 60 {
61 IAssetServer GetAssetServer(); 61 IAssetServer GetAssetServer();
62 } 62 }
63 63
64 public struct ARequest 64 public struct ARequest
65 { 65 {
66 public LLUUID AssetID; 66 public LLUUID AssetID;
67 public bool IsTexture; 67 public bool IsTexture;
68 } 68 }
69} \ No newline at end of file 69} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IClientAPI.cs b/OpenSim/Framework/General/IClientAPI.cs
index ec7a69e..4482ae6 100644
--- a/OpenSim/Framework/General/IClientAPI.cs
+++ b/OpenSim/Framework/General/IClientAPI.cs
@@ -1,447 +1,447 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Net; 30using System.Net;
31using libsecondlife; 31using libsecondlife;
32using libsecondlife.Packets; 32using libsecondlife.Packets;
33 33
34namespace OpenSim.Framework 34namespace OpenSim.Framework
35{ 35{
36 // Base Args Interface 36 // Base Args Interface
37 public interface IEventArgs 37 public interface IEventArgs
38 { 38 {
39 IScene Scene { get; set; } 39 IScene Scene { get; set; }
40 40
41 IClientAPI Sender { get; set; } 41 IClientAPI Sender { get; set; }
42 } 42 }
43 43
44 public delegate void ViewerEffectEventHandler(IClientAPI sender, ViewerEffectPacket.EffectBlock[] effectBlock); 44 public delegate void ViewerEffectEventHandler(IClientAPI sender, ViewerEffectPacket.EffectBlock[] effectBlock);
45 45
46 public delegate void ChatFromViewer(Object sender, ChatFromViewerArgs e); 46 public delegate void ChatFromViewer(Object sender, ChatFromViewerArgs e);
47 47
48 public enum ChatTypeEnum 48 public enum ChatTypeEnum
49 { 49 {
50 Whisper = 0, 50 Whisper = 0,
51 Say = 1, 51 Say = 1,
52 Shout = 2, 52 Shout = 2,
53 Broadcast = 0xFF 53 Broadcast = 0xFF
54 } ; 54 } ;
55 55
56 /// <summary> 56 /// <summary>
57 /// ChatFromViewer Arguments 57 /// ChatFromViewer Arguments
58 /// </summary> 58 /// </summary>
59 public class ChatFromViewerArgs : EventArgs, IEventArgs 59 public class ChatFromViewerArgs : EventArgs, IEventArgs
60 { 60 {
61 protected string m_message; 61 protected string m_message;
62 protected ChatTypeEnum m_type; 62 protected ChatTypeEnum m_type;
63 protected int m_channel; 63 protected int m_channel;
64 protected LLVector3 m_position; 64 protected LLVector3 m_position;
65 protected string m_from; 65 protected string m_from;
66 66
67 protected IClientAPI m_sender; 67 protected IClientAPI m_sender;
68 protected IScene m_scene; 68 protected IScene m_scene;
69 69
70 /// <summary> 70 /// <summary>
71 /// The message sent by the user 71 /// The message sent by the user
72 /// </summary> 72 /// </summary>
73 public string Message 73 public string Message
74 { 74 {
75 get { return m_message; } 75 get { return m_message; }
76 set { m_message = value; } 76 set { m_message = value; }
77 } 77 }
78 78
79 /// <summary> 79 /// <summary>
80 /// The type of message, eg say, shout, broadcast. 80 /// The type of message, eg say, shout, broadcast.
81 /// </summary> 81 /// </summary>
82 public ChatTypeEnum Type 82 public ChatTypeEnum Type
83 { 83 {
84 get { return m_type; } 84 get { return m_type; }
85 set { m_type = value; } 85 set { m_type = value; }
86 } 86 }
87 87
88 /// <summary> 88 /// <summary>
89 /// Which channel was this message sent on? Different channels may have different listeners. Public chat is on channel zero. 89 /// Which channel was this message sent on? Different channels may have different listeners. Public chat is on channel zero.
90 /// </summary> 90 /// </summary>
91 public int Channel 91 public int Channel
92 { 92 {
93 get { return m_channel; } 93 get { return m_channel; }
94 set { m_channel = value; } 94 set { m_channel = value; }
95 } 95 }
96 96
97 /// <summary> 97 /// <summary>
98 /// The position of the sender at the time of the message broadcast. 98 /// The position of the sender at the time of the message broadcast.
99 /// </summary> 99 /// </summary>
100 public LLVector3 Position 100 public LLVector3 Position
101 { 101 {
102 get { return m_position; } 102 get { return m_position; }
103 set { m_position = value; } 103 set { m_position = value; }
104 } 104 }
105 105
106 /// <summary> 106 /// <summary>
107 /// The name of the sender (needed for scripts) 107 /// The name of the sender (needed for scripts)
108 /// </summary> 108 /// </summary>
109 public string From 109 public string From
110 { 110 {
111 get { return m_from; } 111 get { return m_from; }
112 set { m_from = value; } 112 set { m_from = value; }
113 } 113 }
114 114
115 /// <summary> 115 /// <summary>
116 /// The client responsible for sending the message, or null. 116 /// The client responsible for sending the message, or null.
117 /// </summary> 117 /// </summary>
118 public IClientAPI Sender 118 public IClientAPI Sender
119 { 119 {
120 get { return m_sender; } 120 get { return m_sender; }
121 set { m_sender = value; } 121 set { m_sender = value; }
122 } 122 }
123 123
124 public IScene Scene 124 public IScene Scene
125 { 125 {
126 get { return m_scene; } 126 get { return m_scene; }
127 set { m_scene = value; } 127 set { m_scene = value; }
128 } 128 }
129 129
130 public ChatFromViewerArgs() 130 public ChatFromViewerArgs()
131 { 131 {
132 m_position = new LLVector3(); 132 m_position = new LLVector3();
133 } 133 }
134 } 134 }
135 135
136 public class TextureRequestArgs : EventArgs 136 public class TextureRequestArgs : EventArgs
137 { 137 {
138 protected LLUUID m_requestedAssetID; 138 protected LLUUID m_requestedAssetID;
139 private sbyte m_discardLevel; 139 private sbyte m_discardLevel;
140 private uint m_packetNumber; 140 private uint m_packetNumber;
141 141
142 public uint PacketNumber 142 public uint PacketNumber
143 { 143 {
144 get { return m_packetNumber; } 144 get { return m_packetNumber; }
145 set { m_packetNumber = value; } 145 set { m_packetNumber = value; }
146 } 146 }
147 147
148 public sbyte DiscardLevel 148 public sbyte DiscardLevel
149 { 149 {
150 get { return m_discardLevel; } 150 get { return m_discardLevel; }
151 set { m_discardLevel = value; } 151 set { m_discardLevel = value; }
152 } 152 }
153 153
154 public LLUUID RequestedAssetID 154 public LLUUID RequestedAssetID
155 { 155 {
156 get { return m_requestedAssetID; } 156 get { return m_requestedAssetID; }
157 set { m_requestedAssetID = value; } 157 set { m_requestedAssetID = value; }
158 } 158 }
159 } 159 }
160 160
161 public delegate void TextureRequest(Object sender, TextureRequestArgs e); 161 public delegate void TextureRequest(Object sender, TextureRequestArgs e);
162 162
163 public delegate void ImprovedInstantMessage( 163 public delegate void ImprovedInstantMessage(
164 LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp, 164 LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
165 string fromAgentName, string message, byte dialog); // Cut down from full list 165 string fromAgentName, string message, byte dialog); // Cut down from full list
166 public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos); 166 public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos);
167 167
168 public delegate void ModifyTerrain( 168 public delegate void ModifyTerrain(
169 float height, float seconds, byte size, byte action, float north, float west, IClientAPI remoteClient); 169 float height, float seconds, byte size, byte action, float north, float west, IClientAPI remoteClient);
170 170
171 public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam); 171 public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
172 172
173 public delegate void StartAnim(IClientAPI remoteClient, LLUUID animID, int seq); 173 public delegate void StartAnim(IClientAPI remoteClient, LLUUID animID, int seq);
174 174
175 public delegate void LinkObjects(uint parent, List<uint> children); 175 public delegate void LinkObjects(uint parent, List<uint> children);
176 176
177 public delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY); 177 public delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY);
178 178
179 public delegate void TeleportLocationRequest( 179 public delegate void TeleportLocationRequest(
180 IClientAPI remoteClient, ulong regionHandle, LLVector3 position, LLVector3 lookAt, uint flags); 180 IClientAPI remoteClient, ulong regionHandle, LLVector3 position, LLVector3 lookAt, uint flags);
181 181
182 public delegate void DisconnectUser(); 182 public delegate void DisconnectUser();
183 183
184 public delegate void RequestAvatarProperties(IClientAPI remoteClient, LLUUID avatarID); 184 public delegate void RequestAvatarProperties(IClientAPI remoteClient, LLUUID avatarID);
185 185
186 public delegate void GenericCall(IClientAPI remoteClient); 186 public delegate void GenericCall(IClientAPI remoteClient);
187 187
188 public delegate void GenericCall2(); 188 public delegate void GenericCall2();
189 189
190 public delegate void GenericCall3(Packet packet); 190 public delegate void GenericCall3(Packet packet);
191 191
192 // really don't want to be passing packets in these events, so this is very temporary. 192 // really don't want to be passing packets in these events, so this is very temporary.
193 public delegate void GenericCall4(Packet packet, IClientAPI remoteClient); 193 public delegate void GenericCall4(Packet packet, IClientAPI remoteClient);
194 194
195 public delegate void GenericCall5(IClientAPI remoteClient, bool status); 195 public delegate void GenericCall5(IClientAPI remoteClient, bool status);
196 196
197 public delegate void GenericCall6(LLUUID uid); 197 public delegate void GenericCall6(LLUUID uid);
198 198
199 public delegate void GenericCall7(uint localID, string message); 199 public delegate void GenericCall7(uint localID, string message);
200 200
201 public delegate void UpdateShape(uint localID, ObjectShapePacket.ObjectDataBlock shapeBlock); 201 public delegate void UpdateShape(uint localID, ObjectShapePacket.ObjectDataBlock shapeBlock);
202 202
203 public delegate void ObjectExtraParams(uint localID, ushort type, bool inUse, byte[] data); 203 public delegate void ObjectExtraParams(uint localID, ushort type, bool inUse, byte[] data);
204 204
205 public delegate void ObjectSelect(uint localID, IClientAPI remoteClient); 205 public delegate void ObjectSelect(uint localID, IClientAPI remoteClient);
206 206
207 public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient); 207 public delegate void ObjectDeselect(uint localID, IClientAPI remoteClient);
208 208
209 public delegate void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient); 209 public delegate void UpdatePrimFlags(uint localID, Packet packet, IClientAPI remoteClient);
210 210
211 public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient); 211 public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient);
212 212
213 public delegate void UpdateVector(uint localID, LLVector3 pos, IClientAPI remoteClient); 213 public delegate void UpdateVector(uint localID, LLVector3 pos, IClientAPI remoteClient);
214 214
215 public delegate void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient); 215 public delegate void UpdatePrimRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient);
216 216
217 public delegate void UpdatePrimSingleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient); 217 public delegate void UpdatePrimSingleRotation(uint localID, LLQuaternion rot, IClientAPI remoteClient);
218 218
219 public delegate void UpdatePrimGroupRotation(uint localID, LLVector3 pos, LLQuaternion rot, IClientAPI remoteClient); 219 public delegate void UpdatePrimGroupRotation(uint localID, LLVector3 pos, LLQuaternion rot, IClientAPI remoteClient);
220 220
221 public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags); 221 public delegate void ObjectDuplicate(uint localID, LLVector3 offset, uint dupeFlags);
222 222
223 public delegate void StatusChange(bool status); 223 public delegate void StatusChange(bool status);
224 224
225 public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status); 225 public delegate void NewAvatar(IClientAPI remoteClient, LLUUID agentID, bool status);
226 226
227 public delegate void UpdateAgent(IClientAPI remoteClient, uint flags, LLQuaternion bodyRotation); 227 public delegate void UpdateAgent(IClientAPI remoteClient, uint flags, LLQuaternion bodyRotation);
228 228
229 public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset); 229 public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset);
230 230
231 public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID); 231 public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID);
232 232
233 public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient); 233 public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient);
234 234
235 public delegate void ParcelPropertiesRequest( 235 public delegate void ParcelPropertiesRequest(
236 int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client); 236 int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client);
237 237
238 public delegate void ParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client); 238 public delegate void ParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client);
239 239
240 public delegate void ParcelJoinRequest(int west, int south, int east, int north, IClientAPI remote_client); 240 public delegate void ParcelJoinRequest(int west, int south, int east, int north, IClientAPI remote_client);
241 241
242 public delegate void ParcelPropertiesUpdateRequest(ParcelPropertiesUpdatePacket packet, IClientAPI remote_client); 242 public delegate void ParcelPropertiesUpdateRequest(ParcelPropertiesUpdatePacket packet, IClientAPI remote_client);
243 243
244 public delegate void ParcelSelectObjects(int land_local_id, int request_type, IClientAPI remote_client); 244 public delegate void ParcelSelectObjects(int land_local_id, int request_type, IClientAPI remote_client);
245 245
246 public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client); 246 public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client);
247 247
248 public delegate void EstateOwnerMessageRequest(EstateOwnerMessagePacket packet, IClientAPI remote_client); 248 public delegate void EstateOwnerMessageRequest(EstateOwnerMessagePacket packet, IClientAPI remote_client);
249 249
250 public delegate void UUIDNameRequest(LLUUID id, IClientAPI remote_client); 250 public delegate void UUIDNameRequest(LLUUID id, IClientAPI remote_client);
251 251
252 public delegate void AddNewPrim(LLUUID ownerID, LLVector3 pos, PrimitiveBaseShape shape); 252 public delegate void AddNewPrim(LLUUID ownerID, LLVector3 pos, PrimitiveBaseShape shape);
253 253
254 public delegate void CreateInventoryFolder( 254 public delegate void CreateInventoryFolder(
255 IClientAPI remoteClient, LLUUID folderID, ushort folderType, string folderName, LLUUID parentID); 255 IClientAPI remoteClient, LLUUID folderID, ushort folderType, string folderName, LLUUID parentID);
256 256
257 public delegate void CreateNewInventoryItem( 257 public delegate void CreateNewInventoryItem(
258 IClientAPI remoteClient, LLUUID transActionID, LLUUID folderID, uint callbackID, string description, string name, 258 IClientAPI remoteClient, LLUUID transActionID, LLUUID folderID, uint callbackID, string description, string name,
259 sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask); 259 sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask);
260 260
261 public delegate void FetchInventoryDescendents( 261 public delegate void FetchInventoryDescendents(
262 IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder); 262 IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder);
263 263
264 public delegate void FetchInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID ownerID); 264 public delegate void FetchInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID ownerID);
265 265
266 public delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID); 266 public delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID);
267 267
268 public delegate void UpdateInventoryItemTransaction( 268 public delegate void UpdateInventoryItemTransaction(
269 IClientAPI remoteClient, LLUUID transactionID, LLUUID assetID, LLUUID itemID); 269 IClientAPI remoteClient, LLUUID transactionID, LLUUID assetID, LLUUID itemID);
270 270
271 public delegate void RezScript(IClientAPI remoteClient, LLUUID itemID, uint localID); 271 public delegate void RezScript(IClientAPI remoteClient, LLUUID itemID, uint localID);
272 272
273 public delegate void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID, uint localID); 273 public delegate void UpdateTaskInventory(IClientAPI remoteClient, LLUUID itemID, LLUUID folderID, uint localID);
274 274
275 public delegate void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID); 275 public delegate void RemoveTaskInventory(IClientAPI remoteClient, LLUUID itemID, uint localID);
276 276
277 public delegate void UDPAssetUploadRequest( 277 public delegate void UDPAssetUploadRequest(
278 IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, byte[] data, bool storeLocal); 278 IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, byte[] data, bool storeLocal);
279 279
280 public delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data); 280 public delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data);
281 281
282 public delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName); 282 public delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName);
283 283
284 public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID); 284 public delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID);
285 285
286 public interface IClientAPI 286 public interface IClientAPI
287 { 287 {
288 event ImprovedInstantMessage OnInstantMessage; 288 event ImprovedInstantMessage OnInstantMessage;
289 event ChatFromViewer OnChatFromViewer; 289 event ChatFromViewer OnChatFromViewer;
290 event TextureRequest OnRequestTexture; 290 event TextureRequest OnRequestTexture;
291 event RezObject OnRezObject; 291 event RezObject OnRezObject;
292 event ModifyTerrain OnModifyTerrain; 292 event ModifyTerrain OnModifyTerrain;
293 event SetAppearance OnSetAppearance; 293 event SetAppearance OnSetAppearance;
294 event StartAnim OnStartAnim; 294 event StartAnim OnStartAnim;
295 event LinkObjects OnLinkObjects; 295 event LinkObjects OnLinkObjects;
296 event RequestMapBlocks OnRequestMapBlocks; 296 event RequestMapBlocks OnRequestMapBlocks;
297 event TeleportLocationRequest OnTeleportLocationRequest; 297 event TeleportLocationRequest OnTeleportLocationRequest;
298 event DisconnectUser OnDisconnectUser; 298 event DisconnectUser OnDisconnectUser;
299 event RequestAvatarProperties OnRequestAvatarProperties; 299 event RequestAvatarProperties OnRequestAvatarProperties;
300 300
301 event GenericCall4 OnDeRezObject; 301 event GenericCall4 OnDeRezObject;
302 event GenericCall OnRegionHandShakeReply; 302 event GenericCall OnRegionHandShakeReply;
303 event GenericCall OnRequestWearables; 303 event GenericCall OnRequestWearables;
304 event GenericCall2 OnCompleteMovementToRegion; 304 event GenericCall2 OnCompleteMovementToRegion;
305 event UpdateAgent OnAgentUpdate; 305 event UpdateAgent OnAgentUpdate;
306 event AgentRequestSit OnAgentRequestSit; 306 event AgentRequestSit OnAgentRequestSit;
307 event AgentSit OnAgentSit; 307 event AgentSit OnAgentSit;
308 event GenericCall OnRequestAvatarsData; 308 event GenericCall OnRequestAvatarsData;
309 event AddNewPrim OnAddPrim; 309 event AddNewPrim OnAddPrim;
310 event ObjectDuplicate OnObjectDuplicate; 310 event ObjectDuplicate OnObjectDuplicate;
311 event UpdateVector OnGrabObject; 311 event UpdateVector OnGrabObject;
312 event ObjectSelect OnDeGrabObject; 312 event ObjectSelect OnDeGrabObject;
313 event MoveObject OnGrabUpdate; 313 event MoveObject OnGrabUpdate;
314 314
315 event UpdateShape OnUpdatePrimShape; 315 event UpdateShape OnUpdatePrimShape;
316 event ObjectExtraParams OnUpdateExtraParams; 316 event ObjectExtraParams OnUpdateExtraParams;
317 event ObjectSelect OnObjectSelect; 317 event ObjectSelect OnObjectSelect;
318 event ObjectDeselect OnObjectDeselect; 318 event ObjectDeselect OnObjectDeselect;
319 event GenericCall7 OnObjectDescription; 319 event GenericCall7 OnObjectDescription;
320 event GenericCall7 OnObjectName; 320 event GenericCall7 OnObjectName;
321 event UpdatePrimFlags OnUpdatePrimFlags; 321 event UpdatePrimFlags OnUpdatePrimFlags;
322 event UpdatePrimTexture OnUpdatePrimTexture; 322 event UpdatePrimTexture OnUpdatePrimTexture;
323 event UpdateVector OnUpdatePrimGroupPosition; 323 event UpdateVector OnUpdatePrimGroupPosition;
324 event UpdateVector OnUpdatePrimSinglePosition; 324 event UpdateVector OnUpdatePrimSinglePosition;
325 event UpdatePrimRotation OnUpdatePrimGroupRotation; 325 event UpdatePrimRotation OnUpdatePrimGroupRotation;
326 event UpdatePrimSingleRotation OnUpdatePrimSingleRotation; 326 event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
327 event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation; 327 event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
328 event UpdateVector OnUpdatePrimScale; 328 event UpdateVector OnUpdatePrimScale;
329 event StatusChange OnChildAgentStatus; 329 event StatusChange OnChildAgentStatus;
330 event GenericCall2 OnStopMovement; 330 event GenericCall2 OnStopMovement;
331 event GenericCall6 OnRemoveAvatar; 331 event GenericCall6 OnRemoveAvatar;
332 332
333 event CreateNewInventoryItem OnCreateNewInventoryItem; 333 event CreateNewInventoryItem OnCreateNewInventoryItem;
334 event CreateInventoryFolder OnCreateNewInventoryFolder; 334 event CreateInventoryFolder OnCreateNewInventoryFolder;
335 event FetchInventoryDescendents OnFetchInventoryDescendents; 335 event FetchInventoryDescendents OnFetchInventoryDescendents;
336 event FetchInventory OnFetchInventory; 336 event FetchInventory OnFetchInventory;
337 event RequestTaskInventory OnRequestTaskInventory; 337 event RequestTaskInventory OnRequestTaskInventory;
338 event UpdateInventoryItemTransaction OnUpdateInventoryItem; 338 event UpdateInventoryItemTransaction OnUpdateInventoryItem;
339 event UDPAssetUploadRequest OnAssetUploadRequest; 339 event UDPAssetUploadRequest OnAssetUploadRequest;
340 event XferReceive OnXferReceive; 340 event XferReceive OnXferReceive;
341 event RequestXfer OnRequestXfer; 341 event RequestXfer OnRequestXfer;
342 event ConfirmXfer OnConfirmXfer; 342 event ConfirmXfer OnConfirmXfer;
343 event RezScript OnRezScript; 343 event RezScript OnRezScript;
344 event UpdateTaskInventory OnUpdateTaskInventory; 344 event UpdateTaskInventory OnUpdateTaskInventory;
345 event RemoveTaskInventory OnRemoveTaskItem; 345 event RemoveTaskInventory OnRemoveTaskItem;
346 346
347 event UUIDNameRequest OnNameFromUUIDRequest; 347 event UUIDNameRequest OnNameFromUUIDRequest;
348 348
349 event ParcelPropertiesRequest OnParcelPropertiesRequest; 349 event ParcelPropertiesRequest OnParcelPropertiesRequest;
350 event ParcelDivideRequest OnParcelDivideRequest; 350 event ParcelDivideRequest OnParcelDivideRequest;
351 event ParcelJoinRequest OnParcelJoinRequest; 351 event ParcelJoinRequest OnParcelJoinRequest;
352 event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest; 352 event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
353 event ParcelSelectObjects OnParcelSelectObjects; 353 event ParcelSelectObjects OnParcelSelectObjects;
354 event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest; 354 event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
355 event EstateOwnerMessageRequest OnEstateOwnerMessage; 355 event EstateOwnerMessageRequest OnEstateOwnerMessage;
356 356
357 LLVector3 StartPos { get; set; } 357 LLVector3 StartPos { get; set; }
358 358
359 LLUUID AgentId { get; } 359 LLUUID AgentId { get; }
360 360
361 LLUUID SessionId { get; } 361 LLUUID SessionId { get; }
362 362
363 string FirstName { get; } 363 string FirstName { get; }
364 364
365 string LastName { get; } 365 string LastName { get; }
366 366
367 uint CircuitCode { get; set; } 367 uint CircuitCode { get; set; }
368 368
369 void OutPacket(Packet newPack); 369 void OutPacket(Packet newPack);
370 void SendWearables(AvatarWearable[] wearables); 370 void SendWearables(AvatarWearable[] wearables);
371 void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry); 371 void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry);
372 void SendStartPingCheck(byte seq); 372 void SendStartPingCheck(byte seq);
373 void SendKillObject(ulong regionHandle, uint localID); 373 void SendKillObject(ulong regionHandle, uint localID);
374 void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId); 374 void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId);
375 void SendRegionHandshake(RegionInfo regionInfo); 375 void SendRegionHandshake(RegionInfo regionInfo);
376 void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); 376 void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
377 void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); 377 void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
378 378
379 void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent, 379 void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
380 LLUUID imSessionID, string fromName, byte dialog, uint timeStamp); 380 LLUUID imSessionID, string fromName, byte dialog, uint timeStamp);
381 381
382 void SendLayerData(float[] map); 382 void SendLayerData(float[] map);
383 void SendLayerData(int px, int py, float[] map); 383 void SendLayerData(int px, int py, float[] map);
384 void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look); 384 void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look);
385 void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint); 385 void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint);
386 AgentCircuitData RequestClientInfo(); 386 AgentCircuitData RequestClientInfo();
387 387
388 void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint, 388 void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint,
389 string capsURL); 389 string capsURL);
390 390
391 void SendMapBlock(List<MapBlockData> mapBlocks); 391 void SendMapBlock(List<MapBlockData> mapBlocks);
392 void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags); 392 void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags);
393 393
394 void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, 394 void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID,
395 uint flags, string capsURL); 395 uint flags, string capsURL);
396 396
397 void SendTeleportCancel(); 397 void SendTeleportCancel();
398 void SendTeleportLocationStart(); 398 void SendTeleportLocationStart();
399 void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance); 399 void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance);
400 400
401 void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, 401 void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID,
402 LLVector3 Pos, byte[] textureEntry, uint parentID); 402 LLVector3 Pos, byte[] textureEntry, uint parentID);
403 403
404 void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, 404 void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
405 LLVector3 velocity, LLQuaternion rotation); 405 LLVector3 velocity, LLQuaternion rotation);
406 406
407 void SendCoarseLocationUpdate(List<LLVector3> CoarseLocations); 407 void SendCoarseLocationUpdate(List<LLVector3> CoarseLocations);
408 408
409 void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint); 409 void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
410 410
411 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, 411 void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape,
412 LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, 412 LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text,
413 uint parentID, byte[] particleSystem, LLQuaternion rotation); 413 uint parentID, byte[] particleSystem, LLQuaternion rotation);
414 414
415 void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, 415 void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position,
416 LLQuaternion rotation); 416 LLQuaternion rotation);
417 417
418 void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items); 418 void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items);
419 void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item); 419 void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item);
420 void SendInventoryItemUpdate(InventoryItemBase Item); 420 void SendInventoryItemUpdate(InventoryItemBase Item);
421 void SendRemoveInventoryItem(LLUUID itemID); 421 void SendRemoveInventoryItem(LLUUID itemID);
422 void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName); 422 void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName);
423 void SendXferPacket(ulong xferID, uint packet, byte[] data); 423 void SendXferPacket(ulong xferID, uint packet, byte[] data);
424 424
425 void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID); 425 void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID);
426 void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags); 426 void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags);
427 427
428 void SendNameReply(LLUUID profileId, string firstname, string lastname); 428 void SendNameReply(LLUUID profileId, string firstname, string lastname);
429 void SendAlertMessage(string message); 429 void SendAlertMessage(string message);
430 void SendAgentAlertMessage(string message, bool modal); 430 void SendAgentAlertMessage(string message, bool modal);
431 void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url); 431 void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url);
432 bool AddMoney(int debit); 432 bool AddMoney(int debit);
433 433
434 void SendViewerTime(int phase); 434 void SendViewerTime(int phase);
435 435
436 void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember, string flAbout, 436 void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember, string flAbout,
437 uint flags, LLUUID flImageID, LLUUID imageID, string profileURL, LLUUID partnerID); 437 uint flags, LLUUID flImageID, LLUUID imageID, string profileURL, LLUUID partnerID);
438 438
439 void SetDebug(int newDebug); 439 void SetDebug(int newDebug);
440 void InPacket(Packet NewPack); 440 void InPacket(Packet NewPack);
441 void Close(); 441 void Close();
442 event ViewerEffectEventHandler OnViewerEffect; 442 event ViewerEffectEventHandler OnViewerEffect;
443 event Action<IClientAPI> OnLogout; 443 event Action<IClientAPI> OnLogout;
444 event Action<IClientAPI> OnConnectionClosed; 444 event Action<IClientAPI> OnConnectionClosed;
445 void SendLogoutPacket(); 445 void SendLogoutPacket();
446 } 446 }
447} \ No newline at end of file 447} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IGenericConfig.cs b/OpenSim/Framework/General/IGenericConfig.cs
index 0c9ee1e..889d178 100644
--- a/OpenSim/Framework/General/IGenericConfig.cs
+++ b/OpenSim/Framework/General/IGenericConfig.cs
@@ -1,40 +1,40 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28namespace OpenSim.Framework 28namespace OpenSim.Framework
29{ 29{
30 public interface IGenericConfig 30 public interface IGenericConfig
31 { 31 {
32 void SetFileName(string fileName); 32 void SetFileName(string fileName);
33 void LoadData(); 33 void LoadData();
34 void LoadDataFromString(string data); 34 void LoadDataFromString(string data);
35 string GetAttribute(string attributeName); 35 string GetAttribute(string attributeName);
36 bool SetAttribute(string attributeName, string attributeValue); 36 bool SetAttribute(string attributeName, string attributeValue);
37 void Commit(); 37 void Commit();
38 void Close(); 38 void Close();
39 } 39 }
40} \ No newline at end of file 40} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IPlugin.cs b/OpenSim/Framework/General/IPlugin.cs
index cc835da..e649274 100644
--- a/OpenSim/Framework/General/IPlugin.cs
+++ b/OpenSim/Framework/General/IPlugin.cs
@@ -1,53 +1,53 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29namespace OpenSim.Framework 29namespace OpenSim.Framework
30{ 30{
31 /// <summary> 31 /// <summary>
32 /// This interface, describes a generic plugin 32 /// This interface, describes a generic plugin
33 /// </summary> 33 /// </summary>
34 public interface IPlugin 34 public interface IPlugin
35 { 35 {
36 /// <summary> 36 /// <summary>
37 /// Returns the plugin version 37 /// Returns the plugin version
38 /// </summary> 38 /// </summary>
39 /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns> 39 /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns>
40 string Version { get; } 40 string Version { get; }
41 41
42 /// <summary> 42 /// <summary>
43 /// Returns the plugin name 43 /// Returns the plugin name
44 /// </summary> 44 /// </summary>
45 /// <returns>Plugin name, eg MySQL User Provider</returns> 45 /// <returns>Plugin name, eg MySQL User Provider</returns>
46 string Name { get; } 46 string Name { get; }
47 47
48 /// <summary> 48 /// <summary>
49 /// Initialises the plugin (artificial constructor) 49 /// Initialises the plugin (artificial constructor)
50 /// </summary> 50 /// </summary>
51 void Initialise(); 51 void Initialise();
52 } 52 }
53} \ No newline at end of file 53} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IScene.cs b/OpenSim/Framework/General/IScene.cs
index cf5ee93..3d6ca1c 100644
--- a/OpenSim/Framework/General/IScene.cs
+++ b/OpenSim/Framework/General/IScene.cs
@@ -1,43 +1,43 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework 30namespace OpenSim.Framework
31{ 31{
32 public interface IScene 32 public interface IScene
33 { 33 {
34 void AddNewClient(IClientAPI client, bool child); 34 void AddNewClient(IClientAPI client, bool child);
35 void RemoveClient(LLUUID agentID); 35 void RemoveClient(LLUUID agentID);
36 36
37 RegionInfo RegionInfo { get; } 37 RegionInfo RegionInfo { get; }
38 object SyncRoot { get; } 38 object SyncRoot { get; }
39 uint NextLocalId { get; } 39 uint NextLocalId { get; }
40 40
41 ClientManager ClientManager { get; } 41 ClientManager ClientManager { get; }
42 } 42 }
43} \ No newline at end of file 43} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IUserData.cs b/OpenSim/Framework/General/IUserData.cs
index b955ef1..cb2502a 100644
--- a/OpenSim/Framework/General/IUserData.cs
+++ b/OpenSim/Framework/General/IUserData.cs
@@ -1,134 +1,134 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework 30namespace OpenSim.Framework
31{ 31{
32 /// <summary> 32 /// <summary>
33 /// An interface for connecting to user storage servers. 33 /// An interface for connecting to user storage servers.
34 /// </summary> 34 /// </summary>
35 public interface IUserData 35 public interface IUserData
36 { 36 {
37 /// <summary> 37 /// <summary>
38 /// Returns a user profile from a database via their UUID 38 /// Returns a user profile from a database via their UUID
39 /// </summary> 39 /// </summary>
40 /// <param name="user">The accounts UUID</param> 40 /// <param name="user">The accounts UUID</param>
41 /// <returns>The user data profile</returns> 41 /// <returns>The user data profile</returns>
42 UserProfileData GetUserByUUID(LLUUID user); 42 UserProfileData GetUserByUUID(LLUUID user);
43 43
44 /// <summary> 44 /// <summary>
45 /// Returns a users profile by searching their username 45 /// Returns a users profile by searching their username
46 /// </summary> 46 /// </summary>
47 /// <param name="name">The users username</param> 47 /// <param name="name">The users username</param>
48 /// <returns>The user data profile</returns> 48 /// <returns>The user data profile</returns>
49 UserProfileData GetUserByName(string name); 49 UserProfileData GetUserByName(string name);
50 50
51 /// <summary> 51 /// <summary>
52 /// Returns a users profile by searching their username parts 52 /// Returns a users profile by searching their username parts
53 /// </summary> 53 /// </summary>
54 /// <param name="fname">Account firstname</param> 54 /// <param name="fname">Account firstname</param>
55 /// <param name="lname">Account lastname</param> 55 /// <param name="lname">Account lastname</param>
56 /// <returns>The user data profile</returns> 56 /// <returns>The user data profile</returns>
57 UserProfileData GetUserByName(string fname, string lname); 57 UserProfileData GetUserByName(string fname, string lname);
58 58
59 /// <summary> 59 /// <summary>
60 /// Returns the current agent for a user searching by it's UUID 60 /// Returns the current agent for a user searching by it's UUID
61 /// </summary> 61 /// </summary>
62 /// <param name="user">The users UUID</param> 62 /// <param name="user">The users UUID</param>
63 /// <returns>The current agent session</returns> 63 /// <returns>The current agent session</returns>
64 UserAgentData GetAgentByUUID(LLUUID user); 64 UserAgentData GetAgentByUUID(LLUUID user);
65 65
66 /// <summary> 66 /// <summary>
67 /// Returns the current session agent for a user searching by username 67 /// Returns the current session agent for a user searching by username
68 /// </summary> 68 /// </summary>
69 /// <param name="name">The users account name</param> 69 /// <param name="name">The users account name</param>
70 /// <returns>The current agent session</returns> 70 /// <returns>The current agent session</returns>
71 UserAgentData GetAgentByName(string name); 71 UserAgentData GetAgentByName(string name);
72 72
73 /// <summary> 73 /// <summary>
74 /// Returns the current session agent for a user searching by username parts 74 /// Returns the current session agent for a user searching by username parts
75 /// </summary> 75 /// </summary>
76 /// <param name="fname">The users first account name</param> 76 /// <param name="fname">The users first account name</param>
77 /// <param name="lname">The users account surname</param> 77 /// <param name="lname">The users account surname</param>
78 /// <returns>The current agent session</returns> 78 /// <returns>The current agent session</returns>
79 UserAgentData GetAgentByName(string fname, string lname); 79 UserAgentData GetAgentByName(string fname, string lname);
80 80
81 /// <summary> 81 /// <summary>
82 /// Adds a new User profile to the database 82 /// Adds a new User profile to the database
83 /// </summary> 83 /// </summary>
84 /// <param name="user">UserProfile to add</param> 84 /// <param name="user">UserProfile to add</param>
85 void AddNewUserProfile(UserProfileData user); 85 void AddNewUserProfile(UserProfileData user);
86 86
87 /// <summary> 87 /// <summary>
88 /// Updates an existing user profile 88 /// Updates an existing user profile
89 /// </summary> 89 /// </summary>
90 /// <param name="user">UserProfile to update</param> 90 /// <param name="user">UserProfile to update</param>
91 bool UpdateUserProfile(UserProfileData user); 91 bool UpdateUserProfile(UserProfileData user);
92 92
93 /// <summary> 93 /// <summary>
94 /// Adds a new agent to the database 94 /// Adds a new agent to the database
95 /// </summary> 95 /// </summary>
96 /// <param name="agent">The agent to add</param> 96 /// <param name="agent">The agent to add</param>
97 void AddNewUserAgent(UserAgentData agent); 97 void AddNewUserAgent(UserAgentData agent);
98 98
99 /// <summary> 99 /// <summary>
100 /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES) 100 /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
101 /// </summary> 101 /// </summary>
102 /// <param name="from">The account to transfer from</param> 102 /// <param name="from">The account to transfer from</param>
103 /// <param name="to">The account to transfer to</param> 103 /// <param name="to">The account to transfer to</param>
104 /// <param name="amount">The amount to transfer</param> 104 /// <param name="amount">The amount to transfer</param>
105 /// <returns>Successful?</returns> 105 /// <returns>Successful?</returns>
106 bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount); 106 bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount);
107 107
108 /// <summary> 108 /// <summary>
109 /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account. 109 /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account.
110 /// </summary> 110 /// </summary>
111 /// <param name="from">User to transfer from</param> 111 /// <param name="from">User to transfer from</param>
112 /// <param name="to">User to transfer to</param> 112 /// <param name="to">User to transfer to</param>
113 /// <param name="inventory">Specified inventory item</param> 113 /// <param name="inventory">Specified inventory item</param>
114 /// <returns>Successful?</returns> 114 /// <returns>Successful?</returns>
115 bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory); 115 bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory);
116 116
117 /// <summary> 117 /// <summary>
118 /// Returns the plugin version 118 /// Returns the plugin version
119 /// </summary> 119 /// </summary>
120 /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns> 120 /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns>
121 string GetVersion(); 121 string GetVersion();
122 122
123 /// <summary> 123 /// <summary>
124 /// Returns the plugin name 124 /// Returns the plugin name
125 /// </summary> 125 /// </summary>
126 /// <returns>Plugin name, eg MySQL User Provider</returns> 126 /// <returns>Plugin name, eg MySQL User Provider</returns>
127 string getName(); 127 string getName();
128 128
129 /// <summary> 129 /// <summary>
130 /// Initialises the plugin (artificial constructor) 130 /// Initialises the plugin (artificial constructor)
131 /// </summary> 131 /// </summary>
132 void Initialise(); 132 void Initialise();
133 } 133 }
134} \ No newline at end of file 134} \ No newline at end of file
diff --git a/OpenSim/Framework/General/IUserService.cs b/OpenSim/Framework/General/IUserService.cs
index bf1c7e8..ed9032b 100644
--- a/OpenSim/Framework/General/IUserService.cs
+++ b/OpenSim/Framework/General/IUserService.cs
@@ -1,48 +1,48 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework.Interfaces 30namespace OpenSim.Framework.Interfaces
31{ 31{
32 public interface IUserService 32 public interface IUserService
33 { 33 {
34 UserProfileData GetUserProfile(string firstName, string lastName); 34 UserProfileData GetUserProfile(string firstName, string lastName);
35 UserProfileData GetUserProfile(string name); 35 UserProfileData GetUserProfile(string name);
36 UserProfileData GetUserProfile(LLUUID userId); 36 UserProfileData GetUserProfile(LLUUID userId);
37 void clearUserAgent(LLUUID avatarID); 37 void clearUserAgent(LLUUID avatarID);
38 38
39 UserProfileData SetupMasterUser(string firstName, string lastName); 39 UserProfileData SetupMasterUser(string firstName, string lastName);
40 UserProfileData SetupMasterUser(string firstName, string lastName, string password); 40 UserProfileData SetupMasterUser(string firstName, string lastName, string password);
41 41
42 /// <summary> 42 /// <summary>
43 /// 43 ///
44 /// </summary> 44 /// </summary>
45 /// <param name="user"></param> 45 /// <param name="user"></param>
46 void AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY); 46 void AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY);
47 } 47 }
48} \ No newline at end of file 48} \ No newline at end of file
diff --git a/OpenSim/Framework/General/InventoryConfig.cs b/OpenSim/Framework/General/InventoryConfig.cs
index 9ba3e07..8e64b68 100644
--- a/OpenSim/Framework/General/InventoryConfig.cs
+++ b/OpenSim/Framework/General/InventoryConfig.cs
@@ -1,67 +1,67 @@
1using System; 1using System;
2using System.Collections.Generic; 2using System.Collections.Generic;
3using System.Text; 3using System.Text;
4 4
5namespace OpenSim.Framework 5namespace OpenSim.Framework
6{ 6{
7 /// <summary> 7 /// <summary>
8 /// UserConfig -- For User Server Configuration 8 /// UserConfig -- For User Server Configuration
9 /// </summary> 9 /// </summary>
10 public class InventoryConfig 10 public class InventoryConfig
11 { 11 {
12 public string DefaultStartupMsg = ""; 12 public string DefaultStartupMsg = "";
13 public string UserServerURL = ""; 13 public string UserServerURL = "";
14 public string UserSendKey = ""; 14 public string UserSendKey = "";
15 public string UserRecvKey = ""; 15 public string UserRecvKey = "";
16 16
17 public string DatabaseProvider = ""; 17 public string DatabaseProvider = "";
18 public static uint DefaultHttpPort = 8004; 18 public static uint DefaultHttpPort = 8004;
19 19
20 public int HttpPort = 8004; 20 public int HttpPort = 8004;
21 21
22 private ConfigurationMember configMember; 22 private ConfigurationMember configMember;
23 23
24 public InventoryConfig(string description, string filename) 24 public InventoryConfig(string description, string filename)
25 { 25 {
26 configMember = new ConfigurationMember(filename, description, this.loadConfigurationOptions, this.handleIncomingConfiguration); 26 configMember = new ConfigurationMember(filename, description, this.loadConfigurationOptions, this.handleIncomingConfiguration);
27 configMember.performConfigurationRetrieve(); 27 configMember.performConfigurationRetrieve();
28 } 28 }
29 29
30 public void loadConfigurationOptions() 30 public void loadConfigurationOptions()
31 { 31 {
32 configMember.addConfigurationOption("default_startup_message", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default Startup Message", "Welcome to OGS", false); 32 configMember.addConfigurationOption("default_startup_message", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default Startup Message", "Welcome to OGS", false);
33 configMember.addConfigurationOption("default_user_server", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default User Server URI", "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString(), false); 33 configMember.addConfigurationOption("default_user_server", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, "Default User Server URI", "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString(), false);
34 configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to send to user server", "null", false); 34 configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to send to user server", "null", false);
35 configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to expect from user server", "null", false); 35 configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Key to expect from user server", "null", false);
36 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false); 36 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
37 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Http Listener port", DefaultHttpPort.ToString(), false); 37 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, "Http Listener port", DefaultHttpPort.ToString(), false);
38 } 38 }
39 39
40 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 40 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
41 { 41 {
42 switch (configuration_key) 42 switch (configuration_key)
43 { 43 {
44 case "default_startup_message": 44 case "default_startup_message":
45 this.DefaultStartupMsg = (string)configuration_result; 45 this.DefaultStartupMsg = (string)configuration_result;
46 break; 46 break;
47 case "default_user_server": 47 case "default_user_server":
48 this.UserServerURL = (string)configuration_result; 48 this.UserServerURL = (string)configuration_result;
49 break; 49 break;
50 case "user_send_key": 50 case "user_send_key":
51 this.UserSendKey = (string)configuration_result; 51 this.UserSendKey = (string)configuration_result;
52 break; 52 break;
53 case "user_recv_key": 53 case "user_recv_key":
54 this.UserRecvKey = (string)configuration_result; 54 this.UserRecvKey = (string)configuration_result;
55 break; 55 break;
56 case "database_provider": 56 case "database_provider":
57 this.DatabaseProvider = (string)configuration_result; 57 this.DatabaseProvider = (string)configuration_result;
58 break; 58 break;
59 case "http_port": 59 case "http_port":
60 HttpPort = (int)configuration_result; 60 HttpPort = (int)configuration_result;
61 break; 61 break;
62 } 62 }
63 63
64 return true; 64 return true;
65 } 65 }
66 } 66 }
67} 67}
diff --git a/OpenSim/Framework/General/InventoryItemBase.cs b/OpenSim/Framework/General/InventoryItemBase.cs
index f782913..331013f 100644
--- a/OpenSim/Framework/General/InventoryItemBase.cs
+++ b/OpenSim/Framework/General/InventoryItemBase.cs
@@ -1,273 +1,273 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Xml.Serialization; 29using System.Xml.Serialization;
30using System.Collections; 30using System.Collections;
31using System.Collections.Generic; 31using System.Collections.Generic;
32using libsecondlife; 32using libsecondlife;
33 33
34namespace OpenSim.Framework 34namespace OpenSim.Framework
35{ 35{
36 /// <summary> 36 /// <summary>
37 /// Inventory Item - contains all the properties associated with an individual inventory piece. 37 /// Inventory Item - contains all the properties associated with an individual inventory piece.
38 /// </summary> 38 /// </summary>
39 public class InventoryItemBase 39 public class InventoryItemBase
40 { 40 {
41 /// <summary> 41 /// <summary>
42 /// A UUID containing the ID for the inventory item itself 42 /// A UUID containing the ID for the inventory item itself
43 /// </summary> 43 /// </summary>
44 public LLUUID inventoryID; 44 public LLUUID inventoryID;
45 45
46 /// <summary> 46 /// <summary>
47 /// The UUID of the associated asset on the asset server 47 /// The UUID of the associated asset on the asset server
48 /// </summary> 48 /// </summary>
49 public LLUUID assetID; 49 public LLUUID assetID;
50 50
51 /// <summary> 51 /// <summary>
52 /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc) 52 /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc)
53 /// </summary> 53 /// </summary>
54 public int assetType; 54 public int assetType;
55 55
56 /// <summary> 56 /// <summary>
57 /// The type of inventory item. (Can be slightly different to the asset type 57 /// The type of inventory item. (Can be slightly different to the asset type
58 /// </summary> 58 /// </summary>
59 public int invType; 59 public int invType;
60 60
61 /// <summary> 61 /// <summary>
62 /// The folder this item is contained in 62 /// The folder this item is contained in
63 /// </summary> 63 /// </summary>
64 public LLUUID parentFolderID; 64 public LLUUID parentFolderID;
65 65
66 /// <summary> 66 /// <summary>
67 /// The owner of this inventory item 67 /// The owner of this inventory item
68 /// </summary> 68 /// </summary>
69 public LLUUID avatarID; 69 public LLUUID avatarID;
70 70
71 /// <summary> 71 /// <summary>
72 /// The creator of this item 72 /// The creator of this item
73 /// </summary> 73 /// </summary>
74 public LLUUID creatorsID; 74 public LLUUID creatorsID;
75 75
76 /// <summary> 76 /// <summary>
77 /// The name of the inventory item (must be less than 64 characters) 77 /// The name of the inventory item (must be less than 64 characters)
78 /// </summary> 78 /// </summary>
79 public string inventoryName; 79 public string inventoryName;
80 80
81 /// <summary> 81 /// <summary>
82 /// The description of the inventory item (must be less than 64 characters) 82 /// The description of the inventory item (must be less than 64 characters)
83 /// </summary> 83 /// </summary>
84 public string inventoryDescription; 84 public string inventoryDescription;
85 85
86 /// <summary> 86 /// <summary>
87 /// A mask containing the permissions for the next owner (cannot be enforced) 87 /// A mask containing the permissions for the next owner (cannot be enforced)
88 /// </summary> 88 /// </summary>
89 public uint inventoryNextPermissions; 89 public uint inventoryNextPermissions;
90 90
91 /// <summary> 91 /// <summary>
92 /// A mask containing permissions for the current owner (cannot be enforced) 92 /// A mask containing permissions for the current owner (cannot be enforced)
93 /// </summary> 93 /// </summary>
94 public uint inventoryCurrentPermissions; 94 public uint inventoryCurrentPermissions;
95 95
96 /// <summary> 96 /// <summary>
97 /// 97 ///
98 /// </summary> 98 /// </summary>
99 public uint inventoryBasePermissions; 99 public uint inventoryBasePermissions;
100 100
101 /// <summary> 101 /// <summary>
102 /// 102 ///
103 /// </summary> 103 /// </summary>
104 public uint inventoryEveryOnePermissions; 104 public uint inventoryEveryOnePermissions;
105 } 105 }
106 106
107 /// <summary> 107 /// <summary>
108 /// A Class for folders which contain users inventory 108 /// A Class for folders which contain users inventory
109 /// </summary> 109 /// </summary>
110 public class InventoryFolderBase 110 public class InventoryFolderBase
111 { 111 {
112 /// <summary> 112 /// <summary>
113 /// The name of the folder (64 characters or less) 113 /// The name of the folder (64 characters or less)
114 /// </summary> 114 /// </summary>
115 public string name; 115 public string name;
116 116
117 /// <summary> 117 /// <summary>
118 /// The agent who's inventory this is contained by 118 /// The agent who's inventory this is contained by
119 /// </summary> 119 /// </summary>
120 public LLUUID agentID; 120 public LLUUID agentID;
121 121
122 /// <summary> 122 /// <summary>
123 /// The folder this folder is contained in 123 /// The folder this folder is contained in
124 /// </summary> 124 /// </summary>
125 public LLUUID parentID; 125 public LLUUID parentID;
126 126
127 /// <summary> 127 /// <summary>
128 /// The UUID for this folder 128 /// The UUID for this folder
129 /// </summary> 129 /// </summary>
130 public LLUUID folderID; 130 public LLUUID folderID;
131 131
132 /// <summary> 132 /// <summary>
133 /// Tyep of Items normally stored in this folder 133 /// Tyep of Items normally stored in this folder
134 /// </summary> 134 /// </summary>
135 public short type; 135 public short type;
136 136
137 /// <summary> 137 /// <summary>
138 /// 138 ///
139 /// </summary> 139 /// </summary>
140 public ushort version; 140 public ushort version;
141 } 141 }
142 142
143 /// <summary> 143 /// <summary>
144 /// An interface for accessing inventory data from a storage server 144 /// An interface for accessing inventory data from a storage server
145 /// </summary> 145 /// </summary>
146 public interface IInventoryData 146 public interface IInventoryData
147 { 147 {
148 /// <summary> 148 /// <summary>
149 /// Initialises the interface 149 /// Initialises the interface
150 /// </summary> 150 /// </summary>
151 void Initialise(); 151 void Initialise();
152 152
153 /// <summary> 153 /// <summary>
154 /// Closes the interface 154 /// Closes the interface
155 /// </summary> 155 /// </summary>
156 void Close(); 156 void Close();
157 157
158 /// <summary> 158 /// <summary>
159 /// The plugin being loaded 159 /// The plugin being loaded
160 /// </summary> 160 /// </summary>
161 /// <returns>A string containing the plugin name</returns> 161 /// <returns>A string containing the plugin name</returns>
162 string getName(); 162 string getName();
163 163
164 /// <summary> 164 /// <summary>
165 /// The plugins version 165 /// The plugins version
166 /// </summary> 166 /// </summary>
167 /// <returns>A string containing the plugin version</returns> 167 /// <returns>A string containing the plugin version</returns>
168 string getVersion(); 168 string getVersion();
169 169
170 /// <summary> 170 /// <summary>
171 /// Returns a list of inventory items contained within the specified folder 171 /// Returns a list of inventory items contained within the specified folder
172 /// </summary> 172 /// </summary>
173 /// <param name="folderID">The UUID of the target folder</param> 173 /// <param name="folderID">The UUID of the target folder</param>
174 /// <returns>A List of InventoryItemBase items</returns> 174 /// <returns>A List of InventoryItemBase items</returns>
175 List<InventoryItemBase> getInventoryInFolder(LLUUID folderID); 175 List<InventoryItemBase> getInventoryInFolder(LLUUID folderID);
176 176
177 /// <summary> 177 /// <summary>
178 /// Returns a list of the root folders within a users inventory 178 /// Returns a list of the root folders within a users inventory
179 /// </summary> 179 /// </summary>
180 /// <param name="user">The user whos inventory is to be searched</param> 180 /// <param name="user">The user whos inventory is to be searched</param>
181 /// <returns>A list of folder objects</returns> 181 /// <returns>A list of folder objects</returns>
182 List<InventoryFolderBase> getUserRootFolders(LLUUID user); 182 List<InventoryFolderBase> getUserRootFolders(LLUUID user);
183 183
184 /// <summary> 184 /// <summary>
185 /// Returns the users inventory root folder. 185 /// Returns the users inventory root folder.
186 /// </summary> 186 /// </summary>
187 /// <param name="user">The UUID of the user who is having inventory being returned</param> 187 /// <param name="user">The UUID of the user who is having inventory being returned</param>
188 /// <returns>Root inventory folder</returns> 188 /// <returns>Root inventory folder</returns>
189 InventoryFolderBase getUserRootFolder(LLUUID user); 189 InventoryFolderBase getUserRootFolder(LLUUID user);
190 190
191 /// <summary> 191 /// <summary>
192 /// Returns a list of inventory folders contained in the folder 'parentID' 192 /// Returns a list of inventory folders contained in the folder 'parentID'
193 /// </summary> 193 /// </summary>
194 /// <param name="parentID">The folder to get subfolders for</param> 194 /// <param name="parentID">The folder to get subfolders for</param>
195 /// <returns>A list of inventory folders</returns> 195 /// <returns>A list of inventory folders</returns>
196 List<InventoryFolderBase> getInventoryFolders(LLUUID parentID); 196 List<InventoryFolderBase> getInventoryFolders(LLUUID parentID);
197 197
198 /// <summary> 198 /// <summary>
199 /// Returns an inventory item by its UUID 199 /// Returns an inventory item by its UUID
200 /// </summary> 200 /// </summary>
201 /// <param name="item">The UUID of the item to be returned</param> 201 /// <param name="item">The UUID of the item to be returned</param>
202 /// <returns>A class containing item information</returns> 202 /// <returns>A class containing item information</returns>
203 InventoryItemBase getInventoryItem(LLUUID item); 203 InventoryItemBase getInventoryItem(LLUUID item);
204 204
205 /// <summary> 205 /// <summary>
206 /// Returns a specified inventory folder by its UUID 206 /// Returns a specified inventory folder by its UUID
207 /// </summary> 207 /// </summary>
208 /// <param name="folder">The UUID of the folder to be returned</param> 208 /// <param name="folder">The UUID of the folder to be returned</param>
209 /// <returns>A class containing folder information</returns> 209 /// <returns>A class containing folder information</returns>
210 InventoryFolderBase getInventoryFolder(LLUUID folder); 210 InventoryFolderBase getInventoryFolder(LLUUID folder);
211 211
212 /// <summary> 212 /// <summary>
213 /// Creates a new inventory item based on item 213 /// Creates a new inventory item based on item
214 /// </summary> 214 /// </summary>
215 /// <param name="item">The item to be created</param> 215 /// <param name="item">The item to be created</param>
216 void addInventoryItem(InventoryItemBase item); 216 void addInventoryItem(InventoryItemBase item);
217 217
218 /// <summary> 218 /// <summary>
219 /// Updates an inventory item with item (updates based on ID) 219 /// Updates an inventory item with item (updates based on ID)
220 /// </summary> 220 /// </summary>
221 /// <param name="item">The updated item</param> 221 /// <param name="item">The updated item</param>
222 void updateInventoryItem(InventoryItemBase item); 222 void updateInventoryItem(InventoryItemBase item);
223 223
224 /// <summary> 224 /// <summary>
225 /// 225 ///
226 /// </summary> 226 /// </summary>
227 /// <param name="item"></param> 227 /// <param name="item"></param>
228 void deleteInventoryItem(LLUUID item); 228 void deleteInventoryItem(LLUUID item);
229 229
230 /// <summary> 230 /// <summary>
231 /// Adds a new folder specified by folder 231 /// Adds a new folder specified by folder
232 /// </summary> 232 /// </summary>
233 /// <param name="folder">The inventory folder</param> 233 /// <param name="folder">The inventory folder</param>
234 void addInventoryFolder(InventoryFolderBase folder); 234 void addInventoryFolder(InventoryFolderBase folder);
235 235
236 /// <summary> 236 /// <summary>
237 /// Updates a folder based on its ID with folder 237 /// Updates a folder based on its ID with folder
238 /// </summary> 238 /// </summary>
239 /// <param name="folder">The inventory folder</param> 239 /// <param name="folder">The inventory folder</param>
240 void updateInventoryFolder(InventoryFolderBase folder); 240 void updateInventoryFolder(InventoryFolderBase folder);
241 241
242 /// <summary> 242 /// <summary>
243 /// Deletes a folder based on its ID with folder 243 /// Deletes a folder based on its ID with folder
244 /// </summary> 244 /// </summary>
245 /// <param name="folder">The id of the folder</param> 245 /// <param name="folder">The id of the folder</param>
246 void deleteInventoryFolder(LLUUID folder); 246 void deleteInventoryFolder(LLUUID folder);
247 } 247 }
248 248
249 /* 249 /*
250 * .Net has some issues, serializing a dictionary, so we cannot reuse the InventoryFolder 250 * .Net has some issues, serializing a dictionary, so we cannot reuse the InventoryFolder
251 * class defined in Communications.Framework.Communications.Caches. So we serialize/deserialize 251 * class defined in Communications.Framework.Communications.Caches. So we serialize/deserialize
252 * into this simpler class, and then use that. 252 * into this simpler class, and then use that.
253 */ 253 */
254 [XmlRoot(ElementName = "inventory", IsNullable = true)] 254 [XmlRoot(ElementName = "inventory", IsNullable = true)]
255 public class SerializableInventory 255 public class SerializableInventory
256 { 256 {
257 [XmlRoot(ElementName = "folder", IsNullable = true)] 257 [XmlRoot(ElementName = "folder", IsNullable = true)]
258 public class SerializableFolder : InventoryFolderBase 258 public class SerializableFolder : InventoryFolderBase
259 { 259 {
260 [XmlArray(ElementName = "folders", IsNullable = true)] 260 [XmlArray(ElementName = "folders", IsNullable = true)]
261 [XmlArrayItem(ElementName = "folder", IsNullable = true, Type = typeof(SerializableFolder))] 261 [XmlArrayItem(ElementName = "folder", IsNullable = true, Type = typeof(SerializableFolder))]
262 public ArrayList SubFolders; 262 public ArrayList SubFolders;
263 263
264 [XmlArray(ElementName = "items", IsNullable = true)] 264 [XmlArray(ElementName = "items", IsNullable = true)]
265 [XmlArrayItem(ElementName = "item", IsNullable = true, Type = typeof(InventoryItemBase))] 265 [XmlArrayItem(ElementName = "item", IsNullable = true, Type = typeof(InventoryItemBase))]
266 public ArrayList Items; 266 public ArrayList Items;
267 } 267 }
268 268
269 [XmlElement(ElementName = "folder", IsNullable = true)] 269 [XmlElement(ElementName = "folder", IsNullable = true)]
270 public SerializableFolder root; 270 public SerializableFolder root;
271 } 271 }
272 272
273} 273}
diff --git a/OpenSim/Framework/General/LandData.cs b/OpenSim/Framework/General/LandData.cs
index cab71a9..ca948ef 100644
--- a/OpenSim/Framework/General/LandData.cs
+++ b/OpenSim/Framework/General/LandData.cs
@@ -1,123 +1,123 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework 30namespace OpenSim.Framework
31{ 31{
32 public class LandData 32 public class LandData
33 { 33 {
34 public byte[] landBitmapByteArray = new byte[512]; 34 public byte[] landBitmapByteArray = new byte[512];
35 public string landName = "Your Parcel"; 35 public string landName = "Your Parcel";
36 public string landDesc = ""; 36 public string landDesc = "";
37 public LLUUID ownerID = new LLUUID(); 37 public LLUUID ownerID = new LLUUID();
38 public bool isGroupOwned = false; 38 public bool isGroupOwned = false;
39 public LLVector3 AABBMin = new LLVector3(); 39 public LLVector3 AABBMin = new LLVector3();
40 public LLVector3 AABBMax = new LLVector3(); 40 public LLVector3 AABBMax = new LLVector3();
41 public int area = 0; 41 public int area = 0;
42 public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned 42 public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned
43 public LLUUID authBuyerID = new LLUUID(); //Unemplemented. Authorized Buyer's UUID 43 public LLUUID authBuyerID = new LLUUID(); //Unemplemented. Authorized Buyer's UUID
44 public Parcel.ParcelCategory category = new Parcel.ParcelCategory(); //Unemplemented. Parcel's chosen category 44 public Parcel.ParcelCategory category = new Parcel.ParcelCategory(); //Unemplemented. Parcel's chosen category
45 public int claimDate = 0; //Unemplemented 45 public int claimDate = 0; //Unemplemented
46 public int claimPrice = 0; //Unemplemented 46 public int claimPrice = 0; //Unemplemented
47 public LLUUID groupID = new LLUUID(); //Unemplemented 47 public LLUUID groupID = new LLUUID(); //Unemplemented
48 public int groupPrims = 0; 48 public int groupPrims = 0;
49 public int otherPrims = 0; 49 public int otherPrims = 0;
50 public int ownerPrims = 0; 50 public int ownerPrims = 0;
51 public int selectedPrims = 0; 51 public int selectedPrims = 0;
52 public int simwidePrims = 0; 52 public int simwidePrims = 0;
53 public int simwideArea = 0; 53 public int simwideArea = 0;
54 public int salePrice = 0; //Unemeplemented. Parcels price. 54 public int salePrice = 0; //Unemeplemented. Parcels price.
55 public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased; 55 public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased;
56 56
57 public uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark | 57 public uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark |
58 (uint) Parcel.ParcelFlags.AllowAllObjectEntry | 58 (uint) Parcel.ParcelFlags.AllowAllObjectEntry |
59 (uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform | 59 (uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform |
60 (uint) Parcel.ParcelFlags.CreateObjects | (uint) Parcel.ParcelFlags.AllowOtherScripts | 60 (uint) Parcel.ParcelFlags.CreateObjects | (uint) Parcel.ParcelFlags.AllowOtherScripts |
61 (uint) Parcel.ParcelFlags.SoundLocal; 61 (uint) Parcel.ParcelFlags.SoundLocal;
62 62
63 public byte landingType = 0; 63 public byte landingType = 0;
64 public byte mediaAutoScale = 0; 64 public byte mediaAutoScale = 0;
65 public LLUUID mediaID = LLUUID.Zero; 65 public LLUUID mediaID = LLUUID.Zero;
66 public int localID = 0; 66 public int localID = 0;
67 public LLUUID globalID = new LLUUID(); 67 public LLUUID globalID = new LLUUID();
68 68
69 public string mediaURL = ""; 69 public string mediaURL = "";
70 public string musicURL = ""; 70 public string musicURL = "";
71 public float passHours = 0; 71 public float passHours = 0;
72 public int passPrice = 0; 72 public int passPrice = 0;
73 public LLUUID snapshotID = LLUUID.Zero; 73 public LLUUID snapshotID = LLUUID.Zero;
74 public LLVector3 userLocation = new LLVector3(); 74 public LLVector3 userLocation = new LLVector3();
75 public LLVector3 userLookAt = new LLVector3(); 75 public LLVector3 userLookAt = new LLVector3();
76 76
77 public LandData() 77 public LandData()
78 { 78 {
79 globalID = LLUUID.Random(); 79 globalID = LLUUID.Random();
80 } 80 }
81 81
82 public LandData Copy() 82 public LandData Copy()
83 { 83 {
84 LandData landData = new LandData(); 84 LandData landData = new LandData();
85 85
86 landData.AABBMax = AABBMax; 86 landData.AABBMax = AABBMax;
87 landData.AABBMin = AABBMin; 87 landData.AABBMin = AABBMin;
88 landData.area = area; 88 landData.area = area;
89 landData.auctionID = auctionID; 89 landData.auctionID = auctionID;
90 landData.authBuyerID = authBuyerID; 90 landData.authBuyerID = authBuyerID;
91 landData.category = category; 91 landData.category = category;
92 landData.claimDate = claimDate; 92 landData.claimDate = claimDate;
93 landData.claimPrice = claimPrice; 93 landData.claimPrice = claimPrice;
94 landData.globalID = globalID; 94 landData.globalID = globalID;
95 landData.groupID = groupID; 95 landData.groupID = groupID;
96 landData.groupPrims = groupPrims; 96 landData.groupPrims = groupPrims;
97 landData.otherPrims = otherPrims; 97 landData.otherPrims = otherPrims;
98 landData.ownerPrims = ownerPrims; 98 landData.ownerPrims = ownerPrims;
99 landData.selectedPrims = selectedPrims; 99 landData.selectedPrims = selectedPrims;
100 landData.isGroupOwned = isGroupOwned; 100 landData.isGroupOwned = isGroupOwned;
101 landData.localID = localID; 101 landData.localID = localID;
102 landData.landingType = landingType; 102 landData.landingType = landingType;
103 landData.mediaAutoScale = mediaAutoScale; 103 landData.mediaAutoScale = mediaAutoScale;
104 landData.mediaID = mediaID; 104 landData.mediaID = mediaID;
105 landData.mediaURL = mediaURL; 105 landData.mediaURL = mediaURL;
106 landData.musicURL = musicURL; 106 landData.musicURL = musicURL;
107 landData.ownerID = ownerID; 107 landData.ownerID = ownerID;
108 landData.landBitmapByteArray = (byte[]) landBitmapByteArray.Clone(); 108 landData.landBitmapByteArray = (byte[]) landBitmapByteArray.Clone();
109 landData.landDesc = landDesc; 109 landData.landDesc = landDesc;
110 landData.landFlags = landFlags; 110 landData.landFlags = landFlags;
111 landData.landName = landName; 111 landData.landName = landName;
112 landData.landStatus = landStatus; 112 landData.landStatus = landStatus;
113 landData.passHours = passHours; 113 landData.passHours = passHours;
114 landData.passPrice = passPrice; 114 landData.passPrice = passPrice;
115 landData.salePrice = salePrice; 115 landData.salePrice = salePrice;
116 landData.snapshotID = snapshotID; 116 landData.snapshotID = snapshotID;
117 landData.userLocation = userLocation; 117 landData.userLocation = userLocation;
118 landData.userLookAt = userLookAt; 118 landData.userLookAt = userLookAt;
119 119
120 return landData; 120 return landData;
121 } 121 }
122 } 122 }
123} \ No newline at end of file 123} \ No newline at end of file
diff --git a/OpenSim/Framework/General/Login.cs b/OpenSim/Framework/General/Login.cs
index d9a5ab2..7ceed19 100644
--- a/OpenSim/Framework/General/Login.cs
+++ b/OpenSim/Framework/General/Login.cs
@@ -1,50 +1,50 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29 29
30namespace OpenSim.Framework 30namespace OpenSim.Framework
31{ 31{
32 public class Login 32 public class Login
33 { 33 {
34 public string First = "Test"; 34 public string First = "Test";
35 public string Last = "User"; 35 public string Last = "User";
36 public LLUUID Agent; 36 public LLUUID Agent;
37 public LLUUID Session; 37 public LLUUID Session;
38 public LLUUID SecureSession = LLUUID.Zero; 38 public LLUUID SecureSession = LLUUID.Zero;
39 public LLUUID InventoryFolder; 39 public LLUUID InventoryFolder;
40 public LLUUID BaseFolder; 40 public LLUUID BaseFolder;
41 public uint CircuitCode; 41 public uint CircuitCode;
42 public string CapsPath = ""; 42 public string CapsPath = "";
43 public LLVector3 StartPos; 43 public LLVector3 StartPos;
44 44
45 public Login() 45 public Login()
46 { 46 {
47 StartPos = new LLVector3(128, 128, 70); 47 StartPos = new LLVector3(128, 128, 70);
48 } 48 }
49 } 49 }
50} \ No newline at end of file 50} \ No newline at end of file
diff --git a/OpenSim/Framework/General/MapBlockData.cs b/OpenSim/Framework/General/MapBlockData.cs
index d794015..8609533 100644
--- a/OpenSim/Framework/General/MapBlockData.cs
+++ b/OpenSim/Framework/General/MapBlockData.cs
@@ -1,50 +1,50 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29using System; 29using System;
30using libsecondlife; 30using libsecondlife;
31 31
32namespace OpenSim.Framework 32namespace OpenSim.Framework
33{ 33{
34 public class MapBlockData 34 public class MapBlockData
35 { 35 {
36 public uint Flags; 36 public uint Flags;
37 public ushort X; 37 public ushort X;
38 public ushort Y; 38 public ushort Y;
39 public byte Agents; 39 public byte Agents;
40 public byte Access; 40 public byte Access;
41 public byte WaterHeight; 41 public byte WaterHeight;
42 public LLUUID MapImageId; 42 public LLUUID MapImageId;
43 public String Name; 43 public String Name;
44 public uint RegionFlags; 44 public uint RegionFlags;
45 45
46 public MapBlockData() 46 public MapBlockData()
47 { 47 {
48 } 48 }
49 } 49 }
50} \ No newline at end of file 50} \ No newline at end of file
diff --git a/OpenSim/Framework/General/NeighbourInfo.cs b/OpenSim/Framework/General/NeighbourInfo.cs
index 457f7d0..d5a0a2f 100644
--- a/OpenSim/Framework/General/NeighbourInfo.cs
+++ b/OpenSim/Framework/General/NeighbourInfo.cs
@@ -1,42 +1,42 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28namespace OpenSim.Framework 28namespace OpenSim.Framework
29{ 29{
30 public class NeighbourInfo 30 public class NeighbourInfo
31 { 31 {
32 public NeighbourInfo() 32 public NeighbourInfo()
33 { 33 {
34 } 34 }
35 35
36 public ulong regionhandle; 36 public ulong regionhandle;
37 public uint RegionLocX; 37 public uint RegionLocX;
38 public uint RegionLocY; 38 public uint RegionLocY;
39 public string sim_ip; 39 public string sim_ip;
40 public uint sim_port; 40 public uint sim_port;
41 } 41 }
42} \ No newline at end of file 42} \ No newline at end of file
diff --git a/OpenSim/Framework/General/NetworkServersInfo.cs b/OpenSim/Framework/General/NetworkServersInfo.cs
index aa8aa2b..b9ce143 100644
--- a/OpenSim/Framework/General/NetworkServersInfo.cs
+++ b/OpenSim/Framework/General/NetworkServersInfo.cs
@@ -1,100 +1,100 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29using Nini.Config; 29using Nini.Config;
30 30
31namespace OpenSim.Framework 31namespace OpenSim.Framework
32{ 32{
33 public class NetworkServersInfo 33 public class NetworkServersInfo
34 { 34 {
35 public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/"; 35 public string AssetURL = "http://127.0.0.1:" + AssetConfig.DefaultHttpPort.ToString() + "/";
36 public string AssetSendKey = ""; 36 public string AssetSendKey = "";
37 37
38 public string GridURL = ""; 38 public string GridURL = "";
39 public string GridSendKey = ""; 39 public string GridSendKey = "";
40 public string GridRecvKey = ""; 40 public string GridRecvKey = "";
41 public string UserURL = ""; 41 public string UserURL = "";
42 public string UserSendKey = ""; 42 public string UserSendKey = "";
43 public string UserRecvKey = ""; 43 public string UserRecvKey = "";
44 public bool isSandbox; 44 public bool isSandbox;
45 45
46 public string InventoryURL = ""; 46 public string InventoryURL = "";
47 47
48 public static int DefaultHttpListenerPort = 9000; 48 public static int DefaultHttpListenerPort = 9000;
49 public int HttpListenerPort = DefaultHttpListenerPort; 49 public int HttpListenerPort = DefaultHttpListenerPort;
50 50
51 public static int RemotingListenerPort = 8895; 51 public static int RemotingListenerPort = 8895;
52 52
53 53
54 public NetworkServersInfo() 54 public NetworkServersInfo()
55 { 55 {
56 } 56 }
57 57
58 public NetworkServersInfo(uint defaultHomeLocX, uint defaultHomeLocY) 58 public NetworkServersInfo(uint defaultHomeLocX, uint defaultHomeLocY)
59 { 59 {
60 m_defaultHomeLocX = defaultHomeLocX; 60 m_defaultHomeLocX = defaultHomeLocX;
61 m_defaultHomeLocY = defaultHomeLocY; 61 m_defaultHomeLocY = defaultHomeLocY;
62 } 62 }
63 63
64 private uint? m_defaultHomeLocX; 64 private uint? m_defaultHomeLocX;
65 65
66 public uint DefaultHomeLocX 66 public uint DefaultHomeLocX
67 { 67 {
68 get { return m_defaultHomeLocX.Value; } 68 get { return m_defaultHomeLocX.Value; }
69 } 69 }
70 70
71 private uint? m_defaultHomeLocY; 71 private uint? m_defaultHomeLocY;
72 72
73 public uint DefaultHomeLocY 73 public uint DefaultHomeLocY
74 { 74 {
75 get { return m_defaultHomeLocY.Value; } 75 get { return m_defaultHomeLocY.Value; }
76 } 76 }
77 77
78 public void loadFromConfiguration(IConfigSource config) 78 public void loadFromConfiguration(IConfigSource config)
79 { 79 {
80 m_defaultHomeLocX = (uint) config.Configs["StandAlone"].GetInt("default_location_x", 1000); 80 m_defaultHomeLocX = (uint) config.Configs["StandAlone"].GetInt("default_location_x", 1000);
81 m_defaultHomeLocY = (uint) config.Configs["StandAlone"].GetInt("default_location_y", 1000); 81 m_defaultHomeLocY = (uint) config.Configs["StandAlone"].GetInt("default_location_y", 1000);
82 82
83 HttpListenerPort = config.Configs["Network"].GetInt("http_listener_port", DefaultHttpListenerPort); 83 HttpListenerPort = config.Configs["Network"].GetInt("http_listener_port", DefaultHttpListenerPort);
84 RemotingListenerPort = config.Configs["Network"].GetInt("remoting_listener_port", RemotingListenerPort); 84 RemotingListenerPort = config.Configs["Network"].GetInt("remoting_listener_port", RemotingListenerPort);
85 GridURL = 85 GridURL =
86 config.Configs["Network"].GetString("grid_server_url", 86 config.Configs["Network"].GetString("grid_server_url",
87 "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString()); 87 "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString());
88 GridSendKey = config.Configs["Network"].GetString("grid_send_key", "null"); 88 GridSendKey = config.Configs["Network"].GetString("grid_send_key", "null");
89 GridRecvKey = config.Configs["Network"].GetString("grid_recv_key", "null"); 89 GridRecvKey = config.Configs["Network"].GetString("grid_recv_key", "null");
90 UserURL = 90 UserURL =
91 config.Configs["Network"].GetString("user_server_url", 91 config.Configs["Network"].GetString("user_server_url",
92 "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString()); 92 "http://127.0.0.1:" + UserConfig.DefaultHttpPort.ToString());
93 UserSendKey = config.Configs["Network"].GetString("user_send_key", "null"); 93 UserSendKey = config.Configs["Network"].GetString("user_send_key", "null");
94 UserRecvKey = config.Configs["Network"].GetString("user_recv_key", "null"); 94 UserRecvKey = config.Configs["Network"].GetString("user_recv_key", "null");
95 AssetURL = config.Configs["Network"].GetString("asset_server_url", AssetURL); 95 AssetURL = config.Configs["Network"].GetString("asset_server_url", AssetURL);
96 InventoryURL = config.Configs["Network"].GetString("inventory_server_url", 96 InventoryURL = config.Configs["Network"].GetString("inventory_server_url",
97 "http://127.0.0.1:" + InventoryConfig.DefaultHttpPort.ToString()); 97 "http://127.0.0.1:" + InventoryConfig.DefaultHttpPort.ToString());
98 } 98 }
99 } 99 }
100} 100}
diff --git a/OpenSim/Framework/General/PrimitiveBaseShape.cs b/OpenSim/Framework/General/PrimitiveBaseShape.cs
index 2123ecb..5cdbfb2 100644
--- a/OpenSim/Framework/General/PrimitiveBaseShape.cs
+++ b/OpenSim/Framework/General/PrimitiveBaseShape.cs
@@ -1,214 +1,214 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29using System.Xml.Serialization; 29using System.Xml.Serialization;
30using libsecondlife; 30using libsecondlife;
31 31
32namespace OpenSim.Framework 32namespace OpenSim.Framework
33{ 33{
34 public enum ProfileShape : byte 34 public enum ProfileShape : byte
35 { 35 {
36 Circle = 0, 36 Circle = 0,
37 Square = 1, 37 Square = 1,
38 IsometricTriangle = 2, 38 IsometricTriangle = 2,
39 EquilateralTriangle = 3, 39 EquilateralTriangle = 3,
40 RightTriangle = 4, 40 RightTriangle = 4,
41 HalfCircle = 5 41 HalfCircle = 5
42 } 42 }
43 43
44 public enum HollowShape : byte 44 public enum HollowShape : byte
45 { 45 {
46 Same = 0, 46 Same = 0,
47 Circle = 16, 47 Circle = 16,
48 Square = 32, 48 Square = 32,
49 Triangle = 48 49 Triangle = 48
50 } 50 }
51 51
52 public enum PCodeEnum : byte 52 public enum PCodeEnum : byte
53 { 53 {
54 Primitive = 9, 54 Primitive = 9,
55 Avatar = 47 55 Avatar = 47
56 } 56 }
57 57
58 public enum Extrusion : byte 58 public enum Extrusion : byte
59 { 59 {
60 Straight = 16, 60 Straight = 16,
61 Curve1 = 32, 61 Curve1 = 32,
62 Curve2 = 48, 62 Curve2 = 48,
63 Flexible = 128 63 Flexible = 128
64 } 64 }
65 65
66 public class PrimitiveBaseShape 66 public class PrimitiveBaseShape
67 { 67 {
68 private static byte[] m_defaultTextureEntry; 68 private static byte[] m_defaultTextureEntry;
69 69
70 public byte PCode; 70 public byte PCode;
71 public ushort PathBegin; 71 public ushort PathBegin;
72 public ushort PathEnd; 72 public ushort PathEnd;
73 public byte PathScaleX; 73 public byte PathScaleX;
74 public byte PathScaleY; 74 public byte PathScaleY;
75 public byte PathShearX; 75 public byte PathShearX;
76 public byte PathShearY; 76 public byte PathShearY;
77 public sbyte PathSkew; 77 public sbyte PathSkew;
78 public ushort ProfileBegin; 78 public ushort ProfileBegin;
79 public ushort ProfileEnd; 79 public ushort ProfileEnd;
80 public LLVector3 Scale; 80 public LLVector3 Scale;
81 public byte PathCurve; 81 public byte PathCurve;
82 public byte ProfileCurve; 82 public byte ProfileCurve;
83 public ushort ProfileHollow; 83 public ushort ProfileHollow;
84 public sbyte PathRadiusOffset; 84 public sbyte PathRadiusOffset;
85 public byte PathRevolutions; 85 public byte PathRevolutions;
86 public sbyte PathTaperX; 86 public sbyte PathTaperX;
87 public sbyte PathTaperY; 87 public sbyte PathTaperY;
88 public sbyte PathTwist; 88 public sbyte PathTwist;
89 public sbyte PathTwistBegin; 89 public sbyte PathTwistBegin;
90 public byte[] TextureEntry; // a LL textureEntry in byte[] format 90 public byte[] TextureEntry; // a LL textureEntry in byte[] format
91 public byte[] ExtraParams; 91 public byte[] ExtraParams;
92 92
93 public ProfileShape ProfileShape 93 public ProfileShape ProfileShape
94 { 94 {
95 get { return (ProfileShape) (ProfileCurve & 0xf); } 95 get { return (ProfileShape) (ProfileCurve & 0xf); }
96 set 96 set
97 { 97 {
98 byte oldValueMasked = (byte) (ProfileCurve & 0xf0); 98 byte oldValueMasked = (byte) (ProfileCurve & 0xf0);
99 ProfileCurve = (byte) (oldValueMasked | (byte) value); 99 ProfileCurve = (byte) (oldValueMasked | (byte) value);
100 } 100 }
101 } 101 }
102 102
103 [XmlIgnore] 103 [XmlIgnore]
104 public HollowShape HollowShape 104 public HollowShape HollowShape
105 { 105 {
106 get { return (HollowShape) (ProfileHollow & 0xf0); } 106 get { return (HollowShape) (ProfileHollow & 0xf0); }
107 set 107 set
108 { 108 {
109 byte oldValueMasked = (byte) (ProfileHollow & 0xf0); 109 byte oldValueMasked = (byte) (ProfileHollow & 0xf0);
110 ProfileHollow = (byte) (oldValueMasked | (byte) value); 110 ProfileHollow = (byte) (oldValueMasked | (byte) value);
111 } 111 }
112 } 112 }
113 113
114 public LLVector3 PrimScale 114 public LLVector3 PrimScale
115 { 115 {
116 get { return Scale; } 116 get { return Scale; }
117 } 117 }
118 118
119 static PrimitiveBaseShape() 119 static PrimitiveBaseShape()
120 { 120 {
121 m_defaultTextureEntry = 121 m_defaultTextureEntry =
122 new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes(); 122 new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-9999-000000000005")).ToBytes();
123 } 123 }
124 124
125 public PrimitiveBaseShape() 125 public PrimitiveBaseShape()
126 { 126 {
127 PCode = (byte) PCodeEnum.Primitive; 127 PCode = (byte) PCodeEnum.Primitive;
128 ExtraParams = new byte[1]; 128 ExtraParams = new byte[1];
129 TextureEntry = m_defaultTextureEntry; 129 TextureEntry = m_defaultTextureEntry;
130 } 130 }
131 131
132 //void returns need to change of course 132 //void returns need to change of course
133 public virtual void GetMesh() 133 public virtual void GetMesh()
134 { 134 {
135 } 135 }
136 136
137 public PrimitiveBaseShape Copy() 137 public PrimitiveBaseShape Copy()
138 { 138 {
139 return (PrimitiveBaseShape) MemberwiseClone(); 139 return (PrimitiveBaseShape) MemberwiseClone();
140 } 140 }
141 } 141 }
142 142
143 public class GenericShape : PrimitiveBaseShape 143 public class GenericShape : PrimitiveBaseShape
144 { 144 {
145 public GenericShape() 145 public GenericShape()
146 : base() 146 : base()
147 { 147 {
148 } 148 }
149 } 149 }
150 150
151 public class BoxShape : PrimitiveBaseShape 151 public class BoxShape : PrimitiveBaseShape
152 { 152 {
153 public BoxShape() 153 public BoxShape()
154 : base() 154 : base()
155 { 155 {
156 PathCurve = (byte) Extrusion.Straight; 156 PathCurve = (byte) Extrusion.Straight;
157 ProfileShape = ProfileShape.Square; 157 ProfileShape = ProfileShape.Square;
158 PathScaleX = 100; 158 PathScaleX = 100;
159 PathScaleY = 100; 159 PathScaleY = 100;
160 } 160 }
161 161
162 public BoxShape(float side) 162 public BoxShape(float side)
163 : this() 163 : this()
164 { 164 {
165 SetSide(side); 165 SetSide(side);
166 } 166 }
167 167
168 public void SetSide(float side) 168 public void SetSide(float side)
169 { 169 {
170 Scale = new LLVector3(side, side, side); 170 Scale = new LLVector3(side, side, side);
171 } 171 }
172 172
173 public static BoxShape Default 173 public static BoxShape Default
174 { 174 {
175 get 175 get
176 { 176 {
177 BoxShape boxShape = new BoxShape(); 177 BoxShape boxShape = new BoxShape();
178 178
179 boxShape.SetSide(0.5f); 179 boxShape.SetSide(0.5f);
180 180
181 return boxShape; 181 return boxShape;
182 } 182 }
183 } 183 }
184 } 184 }
185 185
186 public class CylinderShape : PrimitiveBaseShape 186 public class CylinderShape : PrimitiveBaseShape
187 { 187 {
188 public CylinderShape() 188 public CylinderShape()
189 : base() 189 : base()
190 { 190 {
191 PathCurve = (byte) Extrusion.Straight; 191 PathCurve = (byte) Extrusion.Straight;
192 ProfileShape = ProfileShape.Circle; 192 ProfileShape = ProfileShape.Circle;
193 PathScaleX = 100; 193 PathScaleX = 100;
194 PathScaleY = 100; 194 PathScaleY = 100;
195 } 195 }
196 196
197 public CylinderShape(float radius, float heigth) 197 public CylinderShape(float radius, float heigth)
198 : this() 198 : this()
199 { 199 {
200 SetRadius(radius); 200 SetRadius(radius);
201 SetHeigth(heigth); 201 SetHeigth(heigth);
202 } 202 }
203 203
204 private void SetHeigth(float heigth) 204 private void SetHeigth(float heigth)
205 { 205 {
206 Scale.Z = heigth; 206 Scale.Z = heigth;
207 } 207 }
208 208
209 private void SetRadius(float radius) 209 private void SetRadius(float radius)
210 { 210 {
211 Scale.X = Scale.Y = radius*2f; 211 Scale.X = Scale.Y = radius*2f;
212 } 212 }
213 } 213 }
214} \ No newline at end of file 214} \ No newline at end of file
diff --git a/OpenSim/Framework/General/RegionHandle.cs b/OpenSim/Framework/General/RegionHandle.cs
index 807a17c..440aaf6 100644
--- a/OpenSim/Framework/General/RegionHandle.cs
+++ b/OpenSim/Framework/General/RegionHandle.cs
@@ -1,150 +1,150 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29using System; 29using System;
30using System.Net; 30using System.Net;
31using System.Net.Sockets; 31using System.Net.Sockets;
32 32
33namespace OpenSim.Framework 33namespace OpenSim.Framework
34{ 34{
35 /// <summary> 35 /// <summary>
36 /// A class for manipulating RegionHandle coordinates 36 /// A class for manipulating RegionHandle coordinates
37 /// </summary> 37 /// </summary>
38 internal class RegionHandle 38 internal class RegionHandle
39 { 39 {
40 private UInt64 handle; 40 private UInt64 handle;
41 41
42 /// <summary> 42 /// <summary>
43 /// Initialises a new grid-aware RegionHandle 43 /// Initialises a new grid-aware RegionHandle
44 /// </summary> 44 /// </summary>
45 /// <param name="ip">IP Address of the Grid Server for this region</param> 45 /// <param name="ip">IP Address of the Grid Server for this region</param>
46 /// <param name="x">Grid X Coordinate</param> 46 /// <param name="x">Grid X Coordinate</param>
47 /// <param name="y">Grid Y Coordinate</param> 47 /// <param name="y">Grid Y Coordinate</param>
48 public RegionHandle(string ip, short x, short y) 48 public RegionHandle(string ip, short x, short y)
49 { 49 {
50 IPAddress addr = IPAddress.Parse(ip); 50 IPAddress addr = IPAddress.Parse(ip);
51 51
52 if (addr.AddressFamily != AddressFamily.InterNetwork) 52 if (addr.AddressFamily != AddressFamily.InterNetwork)
53 throw new Exception("Bad RegionHandle Parameter - must be an IPv4 address"); 53 throw new Exception("Bad RegionHandle Parameter - must be an IPv4 address");
54 54
55 uint baseHandle = BitConverter.ToUInt32(addr.GetAddressBytes(), 0); 55 uint baseHandle = BitConverter.ToUInt32(addr.GetAddressBytes(), 0);
56 56
57 // Split the IP address in half 57 // Split the IP address in half
58 short a = (short) ((baseHandle << 16) & 0xFFFF); 58 short a = (short) ((baseHandle << 16) & 0xFFFF);
59 short b = (short) ((baseHandle << 0) & 0xFFFF); 59 short b = (short) ((baseHandle << 0) & 0xFFFF);
60 60
61 // Raise the bounds a little 61 // Raise the bounds a little
62 uint nx = (uint) x; 62 uint nx = (uint) x;
63 uint ny = (uint) y; 63 uint ny = (uint) y;
64 64
65 // Multiply grid coords to get region coords 65 // Multiply grid coords to get region coords
66 nx *= 256; 66 nx *= 256;
67 ny *= 256; 67 ny *= 256;
68 68
69 // Stuff the IP address in too 69 // Stuff the IP address in too
70 nx = (uint) a << 16; 70 nx = (uint) a << 16;
71 ny = (uint) b << 16; 71 ny = (uint) b << 16;
72 72
73 handle = ((UInt64) nx << 32) | (uint) ny; 73 handle = ((UInt64) nx << 32) | (uint) ny;
74 } 74 }
75 75
76 /// <summary> 76 /// <summary>
77 /// Initialises a new RegionHandle that is not inter-grid aware 77 /// Initialises a new RegionHandle that is not inter-grid aware
78 /// </summary> 78 /// </summary>
79 /// <param name="x">Grid X Coordinate</param> 79 /// <param name="x">Grid X Coordinate</param>
80 /// <param name="y">Grid Y Coordinate</param> 80 /// <param name="y">Grid Y Coordinate</param>
81 public RegionHandle(uint x, uint y) 81 public RegionHandle(uint x, uint y)
82 { 82 {
83 handle = ((x*256) << 32) | (y*256); 83 handle = ((x*256) << 32) | (y*256);
84 } 84 }
85 85
86 /// <summary> 86 /// <summary>
87 /// Initialises a new RegionHandle from an existing value 87 /// Initialises a new RegionHandle from an existing value
88 /// </summary> 88 /// </summary>
89 /// <param name="Region">A U64 RegionHandle</param> 89 /// <param name="Region">A U64 RegionHandle</param>
90 public RegionHandle(UInt64 Region) 90 public RegionHandle(UInt64 Region)
91 { 91 {
92 handle = Region; 92 handle = Region;
93 } 93 }
94 94
95 /// <summary> 95 /// <summary>
96 /// Returns the Grid Masked RegionHandle - For use in Teleport packets and other packets where sending the grid IP address may be handy. 96 /// Returns the Grid Masked RegionHandle - For use in Teleport packets and other packets where sending the grid IP address may be handy.
97 /// </summary> 97 /// </summary>
98 /// <remarks>Do not use for SimulatorEnable packets. The client will choke.</remarks> 98 /// <remarks>Do not use for SimulatorEnable packets. The client will choke.</remarks>
99 /// <returns>Region Handle including IP Address encoding</returns> 99 /// <returns>Region Handle including IP Address encoding</returns>
100 public UInt64 getTeleportHandle() 100 public UInt64 getTeleportHandle()
101 { 101 {
102 return handle; 102 return handle;
103 } 103 }
104 104
105 /// <summary> 105 /// <summary>
106 /// Returns a RegionHandle which may be used for SimulatorEnable packets. Removes the IP address encoding and returns the lower bounds. 106 /// Returns a RegionHandle which may be used for SimulatorEnable packets. Removes the IP address encoding and returns the lower bounds.
107 /// </summary> 107 /// </summary>
108 /// <returns>A U64 RegionHandle for use in SimulatorEnable packets.</returns> 108 /// <returns>A U64 RegionHandle for use in SimulatorEnable packets.</returns>
109 public UInt64 getNeighbourHandle() 109 public UInt64 getNeighbourHandle()
110 { 110 {
111 UInt64 mask = 0x0000FFFF0000FFFF; 111 UInt64 mask = 0x0000FFFF0000FFFF;
112 112
113 return handle | mask; 113 return handle | mask;
114 } 114 }
115 115
116 /// <summary> 116 /// <summary>
117 /// Returns the IP Address of the GridServer from a Grid-Encoded RegionHandle 117 /// Returns the IP Address of the GridServer from a Grid-Encoded RegionHandle
118 /// </summary> 118 /// </summary>
119 /// <returns>Grid Server IP Address</returns> 119 /// <returns>Grid Server IP Address</returns>
120 public IPAddress getGridIP() 120 public IPAddress getGridIP()
121 { 121 {
122 uint a = (uint) ((handle >> 16) & 0xFFFF); 122 uint a = (uint) ((handle >> 16) & 0xFFFF);
123 uint b = (uint) ((handle >> 48) & 0xFFFF); 123 uint b = (uint) ((handle >> 48) & 0xFFFF);
124 124
125 return new IPAddress((long) (a << 16) | (long) b); 125 return new IPAddress((long) (a << 16) | (long) b);
126 } 126 }
127 127
128 /// <summary> 128 /// <summary>
129 /// Returns the X Coordinate from a Grid-Encoded RegionHandle 129 /// Returns the X Coordinate from a Grid-Encoded RegionHandle
130 /// </summary> 130 /// </summary>
131 /// <returns>X Coordinate</returns> 131 /// <returns>X Coordinate</returns>
132 public uint getGridX() 132 public uint getGridX()
133 { 133 {
134 uint x = (uint) ((handle >> 32) & 0xFFFF); 134 uint x = (uint) ((handle >> 32) & 0xFFFF);
135 135
136 return x; 136 return x;
137 } 137 }
138 138
139 /// <summary> 139 /// <summary>
140 /// Returns the Y Coordinate from a Grid-Encoded RegionHandle 140 /// Returns the Y Coordinate from a Grid-Encoded RegionHandle
141 /// </summary> 141 /// </summary>
142 /// <returns>Y Coordinate</returns> 142 /// <returns>Y Coordinate</returns>
143 public uint getGridY() 143 public uint getGridY()
144 { 144 {
145 uint y = (uint) ((handle >> 0) & 0xFFFF); 145 uint y = (uint) ((handle >> 0) & 0xFFFF);
146 146
147 return y; 147 return y;
148 } 148 }
149 } 149 }
150} \ No newline at end of file 150} \ No newline at end of file
diff --git a/OpenSim/Framework/General/RegionInfo.cs b/OpenSim/Framework/General/RegionInfo.cs
index c14afd2..1257849 100644
--- a/OpenSim/Framework/General/RegionInfo.cs
+++ b/OpenSim/Framework/General/RegionInfo.cs
@@ -1,328 +1,328 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Net; 29using System.Net;
30using System.Net.Sockets; 30using System.Net.Sockets;
31using libsecondlife; 31using libsecondlife;
32using Nini.Config; 32using Nini.Config;
33 33
34namespace OpenSim.Framework 34namespace OpenSim.Framework
35{ 35{
36 public class SimpleRegionInfo 36 public class SimpleRegionInfo
37 { 37 {
38 public SimpleRegionInfo() 38 public SimpleRegionInfo()
39 { 39 {
40 } 40 }
41 41
42 public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) 42 public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
43 { 43 {
44 m_regionLocX = regionLocX; 44 m_regionLocX = regionLocX;
45 m_regionLocY = regionLocY; 45 m_regionLocY = regionLocY;
46 46
47 m_internalEndPoint = internalEndPoint; 47 m_internalEndPoint = internalEndPoint;
48 m_externalHostName = externalUri; 48 m_externalHostName = externalUri;
49 } 49 }
50 50
51 public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port) 51 public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port)
52 { 52 {
53 m_regionLocX = regionLocX; 53 m_regionLocX = regionLocX;
54 m_regionLocY = regionLocY; 54 m_regionLocY = regionLocY;
55 55
56 m_externalHostName = externalUri; 56 m_externalHostName = externalUri;
57 57
58 m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port); 58 m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port);
59 } 59 }
60 60
61 public LLUUID RegionID = new LLUUID(); 61 public LLUUID RegionID = new LLUUID();
62 62
63 private uint m_remotingPort; 63 private uint m_remotingPort;
64 64
65 public uint RemotingPort 65 public uint RemotingPort
66 { 66 {
67 get { return m_remotingPort; } 67 get { return m_remotingPort; }
68 set { m_remotingPort = value; } 68 set { m_remotingPort = value; }
69 } 69 }
70 70
71 public string RemotingAddress; 71 public string RemotingAddress;
72 72
73 73
74 public IPEndPoint ExternalEndPoint 74 public IPEndPoint ExternalEndPoint
75 { 75 {
76 get 76 get
77 { 77 {
78 // Old one defaults to IPv6 78 // Old one defaults to IPv6
79 //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port ); 79 //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port );
80 80
81 IPAddress ia = null; 81 IPAddress ia = null;
82 // If it is already an IP, don't resolve it - just return directly 82 // If it is already an IP, don't resolve it - just return directly
83 if (IPAddress.TryParse(m_externalHostName, out ia)) 83 if (IPAddress.TryParse(m_externalHostName, out ia))
84 return new IPEndPoint(ia, m_internalEndPoint.Port); 84 return new IPEndPoint(ia, m_internalEndPoint.Port);
85 85
86 // Reset for next check 86 // Reset for next check
87 ia = null; 87 ia = null;
88 88
89 89
90 // New method favors IPv4 90 // New method favors IPv4
91 foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName)) 91 foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName))
92 { 92 {
93 if (ia == null) 93 if (ia == null)
94 ia = Adr; 94 ia = Adr;
95 95
96 if (Adr.AddressFamily == AddressFamily.InterNetwork) 96 if (Adr.AddressFamily == AddressFamily.InterNetwork)
97 { 97 {
98 ia = Adr; 98 ia = Adr;
99 break; 99 break;
100 } 100 }
101 } 101 }
102 102
103 return new IPEndPoint(ia, m_internalEndPoint.Port); 103 return new IPEndPoint(ia, m_internalEndPoint.Port);
104 } 104 }
105 105
106 set { m_externalHostName = value.ToString(); } 106 set { m_externalHostName = value.ToString(); }
107 } 107 }
108 108
109 protected string m_externalHostName; 109 protected string m_externalHostName;
110 110
111 public string ExternalHostName 111 public string ExternalHostName
112 { 112 {
113 get { return m_externalHostName; } 113 get { return m_externalHostName; }
114 set { m_externalHostName = value; } 114 set { m_externalHostName = value; }
115 } 115 }
116 116
117 protected IPEndPoint m_internalEndPoint; 117 protected IPEndPoint m_internalEndPoint;
118 118
119 public IPEndPoint InternalEndPoint 119 public IPEndPoint InternalEndPoint
120 { 120 {
121 get { return m_internalEndPoint; } 121 get { return m_internalEndPoint; }
122 set { m_internalEndPoint = value; } 122 set { m_internalEndPoint = value; }
123 } 123 }
124 124
125 protected uint? m_regionLocX; 125 protected uint? m_regionLocX;
126 126
127 public uint RegionLocX 127 public uint RegionLocX
128 { 128 {
129 get { return m_regionLocX.Value; } 129 get { return m_regionLocX.Value; }
130 set { m_regionLocX = value; } 130 set { m_regionLocX = value; }
131 } 131 }
132 132
133 protected uint? m_regionLocY; 133 protected uint? m_regionLocY;
134 134
135 public uint RegionLocY 135 public uint RegionLocY
136 { 136 {
137 get { return m_regionLocY.Value; } 137 get { return m_regionLocY.Value; }
138 set { m_regionLocY = value; } 138 set { m_regionLocY = value; }
139 } 139 }
140 140
141 public ulong RegionHandle 141 public ulong RegionHandle
142 { 142 {
143 get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); } 143 get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); }
144 } 144 }
145 } 145 }
146 146
147 public class RegionInfo : SimpleRegionInfo 147 public class RegionInfo : SimpleRegionInfo
148 { 148 {
149 public string RegionName = ""; 149 public string RegionName = "";
150 150
151 public string DataStore = ""; 151 public string DataStore = "";
152 public bool isSandbox = false; 152 public bool isSandbox = false;
153 153
154 public LLUUID MasterAvatarAssignedUUID = new LLUUID(); 154 public LLUUID MasterAvatarAssignedUUID = new LLUUID();
155 public string MasterAvatarFirstName = ""; 155 public string MasterAvatarFirstName = "";
156 public string MasterAvatarLastName = ""; 156 public string MasterAvatarLastName = "";
157 public string MasterAvatarSandboxPassword = ""; 157 public string MasterAvatarSandboxPassword = "";
158 158
159 // Apparently, we're applying the same estatesettings regardless of whether it's local or remote. 159 // Apparently, we're applying the same estatesettings regardless of whether it's local or remote.
160 private static EstateSettings m_estateSettings; 160 private static EstateSettings m_estateSettings;
161 161
162 public EstateSettings EstateSettings 162 public EstateSettings EstateSettings
163 { 163 {
164 get 164 get
165 { 165 {
166 if (m_estateSettings == null) 166 if (m_estateSettings == null)
167 { 167 {
168 m_estateSettings = new EstateSettings(); 168 m_estateSettings = new EstateSettings();
169 } 169 }
170 170
171 return m_estateSettings; 171 return m_estateSettings;
172 } 172 }
173 } 173 }
174 174
175 public ConfigurationMember configMember; 175 public ConfigurationMember configMember;
176 176
177 public RegionInfo(string description, string filename) 177 public RegionInfo(string description, string filename)
178 { 178 {
179 configMember = 179 configMember =
180 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); 180 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
181 configMember.performConfigurationRetrieve(); 181 configMember.performConfigurationRetrieve();
182 } 182 }
183 183
184 public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) : 184 public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) :
185 base(regionLocX, regionLocY, internalEndPoint, externalUri) 185 base(regionLocX, regionLocY, internalEndPoint, externalUri)
186 { 186 {
187 } 187 }
188 188
189 public RegionInfo() 189 public RegionInfo()
190 { 190 {
191 } 191 }
192 192
193 //not in use, should swap to nini though. 193 //not in use, should swap to nini though.
194 public void LoadFromNiniSource(IConfigSource source) 194 public void LoadFromNiniSource(IConfigSource source)
195 { 195 {
196 LoadFromNiniSource(source, "RegionInfo"); 196 LoadFromNiniSource(source, "RegionInfo");
197 } 197 }
198 198
199 //not in use, should swap to nini though. 199 //not in use, should swap to nini though.
200 public void LoadFromNiniSource(IConfigSource source, string sectionName) 200 public void LoadFromNiniSource(IConfigSource source, string sectionName)
201 { 201 {
202 string errorMessage = ""; 202 string errorMessage = "";
203 RegionID = 203 RegionID =
204 new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated())); 204 new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated()));
205 RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test"); 205 RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test");
206 m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000")); 206 m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000"));
207 m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000")); 207 m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000"));
208 DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db"); 208 DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db");
209 209
210 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0"); 210 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0");
211 IPAddress ipAddressResult; 211 IPAddress ipAddressResult;
212 if (IPAddress.TryParse(ipAddress, out ipAddressResult)) 212 if (IPAddress.TryParse(ipAddress, out ipAddressResult))
213 { 213 {
214 m_internalEndPoint = new IPEndPoint(ipAddressResult, 0); 214 m_internalEndPoint = new IPEndPoint(ipAddressResult, 0);
215 } 215 }
216 else 216 else
217 { 217 {
218 errorMessage = "needs an IP Address (IPAddress)"; 218 errorMessage = "needs an IP Address (IPAddress)";
219 } 219 }
220 m_internalEndPoint.Port = 220 m_internalEndPoint.Port =
221 source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort); 221 source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort);
222 222
223 string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1"); 223 string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1");
224 if (externalHost != "SYSTEMIP") 224 if (externalHost != "SYSTEMIP")
225 { 225 {
226 m_externalHostName = externalHost; 226 m_externalHostName = externalHost;
227 } 227 }
228 else 228 else
229 { 229 {
230 m_externalHostName = Util.GetLocalHost().ToString(); 230 m_externalHostName = Util.GetLocalHost().ToString();
231 } 231 }
232 232
233 MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test"); 233 MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test");
234 MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User"); 234 MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User");
235 MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test"); 235 MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test");
236 236
237 if (errorMessage != "") 237 if (errorMessage != "")
238 { 238 {
239 // a error 239 // a error
240 } 240 }
241 } 241 }
242 242
243 public void loadConfigurationOptions() 243 public void loadConfigurationOptions()
244 { 244 {
245 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, 245 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
246 "UUID of Region (Default is recommended, random UUID)", 246 "UUID of Region (Default is recommended, random UUID)",
247 LLUUID.Random().ToString(), true); 247 LLUUID.Random().ToString(), true);
248 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 248 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
249 "Region Name", "OpenSim Test", false); 249 "Region Name", "OpenSim Test", false);
250 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 250 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
251 "Grid Location (X Axis)", "1000", false); 251 "Grid Location (X Axis)", "1000", false);
252 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 252 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
253 "Grid Location (Y Axis)", "1000", false); 253 "Grid Location (Y Axis)", "1000", false);
254 configMember.addConfigurationOption("datastore", 254 configMember.addConfigurationOption("datastore",
255 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 255 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
256 "Filename for local storage", "OpenSim.db", false); 256 "Filename for local storage", "OpenSim.db", false);
257 configMember.addConfigurationOption("internal_ip_address", 257 configMember.addConfigurationOption("internal_ip_address",
258 ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, 258 ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS,
259 "Internal IP Address for incoming UDP client connections", "0.0.0.0", 259 "Internal IP Address for incoming UDP client connections", "0.0.0.0",
260 false); 260 false);
261 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, 261 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32,
262 "Internal IP Port for incoming UDP client connections", 262 "Internal IP Port for incoming UDP client connections",
263 NetworkServersInfo.DefaultHttpListenerPort.ToString(), false); 263 NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
264 configMember.addConfigurationOption("external_host_name", 264 configMember.addConfigurationOption("external_host_name",
265 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 265 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
266 "External Host Name", "127.0.0.1", false); 266 "External Host Name", "127.0.0.1", false);
267 configMember.addConfigurationOption("master_avatar_first", 267 configMember.addConfigurationOption("master_avatar_first",
268 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 268 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
269 "First Name of Master Avatar", "Test", false); 269 "First Name of Master Avatar", "Test", false);
270 configMember.addConfigurationOption("master_avatar_last", 270 configMember.addConfigurationOption("master_avatar_last",
271 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 271 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
272 "Last Name of Master Avatar", "User", false); 272 "Last Name of Master Avatar", "User", false);
273 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 273 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
274 "(Sandbox Mode Only)Password for Master Avatar account", "test", false); 274 "(Sandbox Mode Only)Password for Master Avatar account", "test", false);
275 } 275 }
276 276
277 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 277 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
278 { 278 {
279 switch (configuration_key) 279 switch (configuration_key)
280 { 280 {
281 case "sim_UUID": 281 case "sim_UUID":
282 RegionID = (LLUUID) configuration_result; 282 RegionID = (LLUUID) configuration_result;
283 break; 283 break;
284 case "sim_name": 284 case "sim_name":
285 RegionName = (string) configuration_result; 285 RegionName = (string) configuration_result;
286 break; 286 break;
287 case "sim_location_x": 287 case "sim_location_x":
288 m_regionLocX = (uint) configuration_result; 288 m_regionLocX = (uint) configuration_result;
289 break; 289 break;
290 case "sim_location_y": 290 case "sim_location_y":
291 m_regionLocY = (uint) configuration_result; 291 m_regionLocY = (uint) configuration_result;
292 break; 292 break;
293 case "datastore": 293 case "datastore":
294 DataStore = (string) configuration_result; 294 DataStore = (string) configuration_result;
295 break; 295 break;
296 case "internal_ip_address": 296 case "internal_ip_address":
297 IPAddress address = (IPAddress) configuration_result; 297 IPAddress address = (IPAddress) configuration_result;
298 m_internalEndPoint = new IPEndPoint(address, 0); 298 m_internalEndPoint = new IPEndPoint(address, 0);
299 break; 299 break;
300 case "internal_ip_port": 300 case "internal_ip_port":
301 m_internalEndPoint.Port = (int) configuration_result; 301 m_internalEndPoint.Port = (int) configuration_result;
302 break; 302 break;
303 case "external_host_name": 303 case "external_host_name":
304 if ((string) configuration_result != "SYSTEMIP") 304 if ((string) configuration_result != "SYSTEMIP")
305 { 305 {
306 m_externalHostName = (string) configuration_result; 306 m_externalHostName = (string) configuration_result;
307 } 307 }
308 else 308 else
309 { 309 {
310 m_externalHostName = Util.GetLocalHost().ToString(); 310 m_externalHostName = Util.GetLocalHost().ToString();
311 } 311 }
312 break; 312 break;
313 case "master_avatar_first": 313 case "master_avatar_first":
314 MasterAvatarFirstName = (string) configuration_result; 314 MasterAvatarFirstName = (string) configuration_result;
315 break; 315 break;
316 case "master_avatar_last": 316 case "master_avatar_last":
317 MasterAvatarLastName = (string) configuration_result; 317 MasterAvatarLastName = (string) configuration_result;
318 break; 318 break;
319 case "master_avatar_pass": 319 case "master_avatar_pass":
320 string tempMD5Passwd = (string) configuration_result; 320 string tempMD5Passwd = (string) configuration_result;
321 MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + ""); 321 MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + "");
322 break; 322 break;
323 } 323 }
324 324
325 return true; 325 return true;
326 } 326 }
327 } 327 }
328} \ No newline at end of file 328} \ No newline at end of file
diff --git a/OpenSim/Framework/General/UUID.cs b/OpenSim/Framework/General/UUID.cs
index f27cd6c..3b292b1 100644
--- a/OpenSim/Framework/General/UUID.cs
+++ b/OpenSim/Framework/General/UUID.cs
@@ -1,155 +1,155 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29using System; 29using System;
30using libsecondlife; 30using libsecondlife;
31 31
32namespace OpenSim.Framework 32namespace OpenSim.Framework
33{ 33{
34 internal class UUID 34 internal class UUID
35 { 35 {
36 public LLUUID llUUID; 36 public LLUUID llUUID;
37 37
38 public UUID(string uuid) 38 public UUID(string uuid)
39 { 39 {
40 llUUID = new LLUUID(uuid); 40 llUUID = new LLUUID(uuid);
41 } 41 }
42 42
43 public UUID(byte[] uuid) 43 public UUID(byte[] uuid)
44 { 44 {
45 llUUID = new LLUUID(uuid, 0); 45 llUUID = new LLUUID(uuid, 0);
46 } 46 }
47 47
48 public UUID(byte[] uuid, int offset) 48 public UUID(byte[] uuid, int offset)
49 { 49 {
50 llUUID = new LLUUID(uuid, offset); 50 llUUID = new LLUUID(uuid, offset);
51 } 51 }
52 52
53 public UUID() 53 public UUID()
54 { 54 {
55 llUUID = LLUUID.Zero; 55 llUUID = LLUUID.Zero;
56 } 56 }
57 57
58 public UUID(ulong uuid) 58 public UUID(ulong uuid)
59 { 59 {
60 llUUID = new LLUUID(uuid); 60 llUUID = new LLUUID(uuid);
61 } 61 }
62 62
63 public UUID(UInt32 first, UInt32 second, UInt32 third, UInt32 fourth) 63 public UUID(UInt32 first, UInt32 second, UInt32 third, UInt32 fourth)
64 { 64 {
65 byte[] uuid = new byte[16]; 65 byte[] uuid = new byte[16];
66 66
67 byte[] n = BitConverter.GetBytes(first); 67 byte[] n = BitConverter.GetBytes(first);
68 n.CopyTo(uuid, 0); 68 n.CopyTo(uuid, 0);
69 n = BitConverter.GetBytes(second); 69 n = BitConverter.GetBytes(second);
70 n.CopyTo(uuid, 4); 70 n.CopyTo(uuid, 4);
71 n = BitConverter.GetBytes(third); 71 n = BitConverter.GetBytes(third);
72 n.CopyTo(uuid, 8); 72 n.CopyTo(uuid, 8);
73 n = BitConverter.GetBytes(fourth); 73 n = BitConverter.GetBytes(fourth);
74 n.CopyTo(uuid, 12); 74 n.CopyTo(uuid, 12);
75 75
76 llUUID = new LLUUID(uuid, 0); 76 llUUID = new LLUUID(uuid, 0);
77 } 77 }
78 78
79 public override string ToString() 79 public override string ToString()
80 { 80 {
81 return llUUID.ToString(); 81 return llUUID.ToString();
82 } 82 }
83 83
84 public string ToStringHyphenated() 84 public string ToStringHyphenated()
85 { 85 {
86 return llUUID.ToStringHyphenated(); 86 return llUUID.ToStringHyphenated();
87 } 87 }
88 88
89 public byte[] GetBytes() 89 public byte[] GetBytes()
90 { 90 {
91 return llUUID.GetBytes(); 91 return llUUID.GetBytes();
92 } 92 }
93 93
94 public UInt32[] GetInts() 94 public UInt32[] GetInts()
95 { 95 {
96 UInt32[] ints = new UInt32[4]; 96 UInt32[] ints = new UInt32[4];
97 ints[0] = BitConverter.ToUInt32(llUUID.Data, 0); 97 ints[0] = BitConverter.ToUInt32(llUUID.Data, 0);
98 ints[1] = BitConverter.ToUInt32(llUUID.Data, 4); 98 ints[1] = BitConverter.ToUInt32(llUUID.Data, 4);
99 ints[2] = BitConverter.ToUInt32(llUUID.Data, 8); 99 ints[2] = BitConverter.ToUInt32(llUUID.Data, 8);
100 ints[3] = BitConverter.ToUInt32(llUUID.Data, 12); 100 ints[3] = BitConverter.ToUInt32(llUUID.Data, 12);
101 101
102 return ints; 102 return ints;
103 } 103 }
104 104
105 public LLUUID GetLLUUID() 105 public LLUUID GetLLUUID()
106 { 106 {
107 return llUUID; 107 return llUUID;
108 } 108 }
109 109
110 public uint CRC() 110 public uint CRC()
111 { 111 {
112 return llUUID.CRC(); 112 return llUUID.CRC();
113 } 113 }
114 114
115 public override int GetHashCode() 115 public override int GetHashCode()
116 { 116 {
117 return llUUID.GetHashCode(); 117 return llUUID.GetHashCode();
118 } 118 }
119 119
120 public void Combine(UUID other) 120 public void Combine(UUID other)
121 { 121 {
122 llUUID.Combine(other.GetLLUUID()); 122 llUUID.Combine(other.GetLLUUID());
123 } 123 }
124 124
125 public void Combine(LLUUID other) 125 public void Combine(LLUUID other)
126 { 126 {
127 llUUID.Combine(other); 127 llUUID.Combine(other);
128 } 128 }
129 129
130 public override bool Equals(Object other) 130 public override bool Equals(Object other)
131 { 131 {
132 return llUUID.Equals(other); 132 return llUUID.Equals(other);
133 } 133 }
134 134
135 public static bool operator ==(UUID a, UUID b) 135 public static bool operator ==(UUID a, UUID b)
136 { 136 {
137 return a.llUUID.Equals(b.GetLLUUID()); 137 return a.llUUID.Equals(b.GetLLUUID());
138 } 138 }
139 139
140 public static bool operator !=(UUID a, UUID b) 140 public static bool operator !=(UUID a, UUID b)
141 { 141 {
142 return !a.llUUID.Equals(b.GetLLUUID()); 142 return !a.llUUID.Equals(b.GetLLUUID());
143 } 143 }
144 144
145 public static bool operator ==(UUID a, LLUUID b) 145 public static bool operator ==(UUID a, LLUUID b)
146 { 146 {
147 return a.Equals(b); 147 return a.Equals(b);
148 } 148 }
149 149
150 public static bool operator !=(UUID a, LLUUID b) 150 public static bool operator !=(UUID a, LLUUID b)
151 { 151 {
152 return !a.Equals(b); 152 return !a.Equals(b);
153 } 153 }
154 } 154 }
155} \ No newline at end of file 155} \ No newline at end of file
diff --git a/OpenSim/Framework/General/UserConfig.cs b/OpenSim/Framework/General/UserConfig.cs
index 9abe61f..fdb8f82 100644
--- a/OpenSim/Framework/General/UserConfig.cs
+++ b/OpenSim/Framework/General/UserConfig.cs
@@ -1,103 +1,103 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28 28
29namespace OpenSim.Framework 29namespace OpenSim.Framework
30{ 30{
31 /// <summary> 31 /// <summary>
32 /// UserConfig -- For User Server Configuration 32 /// UserConfig -- For User Server Configuration
33 /// </summary> 33 /// </summary>
34 public class UserConfig 34 public class UserConfig
35 { 35 {
36 public string DefaultStartupMsg = ""; 36 public string DefaultStartupMsg = "";
37 public string GridServerURL = ""; 37 public string GridServerURL = "";
38 public string GridSendKey = ""; 38 public string GridSendKey = "";
39 public string GridRecvKey = ""; 39 public string GridRecvKey = "";
40 40
41 public string DatabaseProvider = ""; 41 public string DatabaseProvider = "";
42 42
43 public static uint DefaultHttpPort = 8002; 43 public static uint DefaultHttpPort = 8002;
44 public uint HttpPort = DefaultHttpPort; 44 public uint HttpPort = DefaultHttpPort;
45 45
46 private ConfigurationMember configMember; 46 private ConfigurationMember configMember;
47 47
48 public UserConfig(string description, string filename) 48 public UserConfig(string description, string filename)
49 { 49 {
50 configMember = 50 configMember =
51 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); 51 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
52 configMember.performConfigurationRetrieve(); 52 configMember.performConfigurationRetrieve();
53 } 53 }
54 54
55 public void loadConfigurationOptions() 55 public void loadConfigurationOptions()
56 { 56 {
57 configMember.addConfigurationOption("default_startup_message", 57 configMember.addConfigurationOption("default_startup_message",
58 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 58 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
59 "Default Startup Message", "Welcome to OGS", false); 59 "Default Startup Message", "Welcome to OGS", false);
60 60
61 configMember.addConfigurationOption("default_grid_server", 61 configMember.addConfigurationOption("default_grid_server",
62 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 62 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
63 "Default Grid Server URI", 63 "Default Grid Server URI",
64 "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString() + "/", false); 64 "http://127.0.0.1:" + GridConfig.DefaultHttpPort.ToString() + "/", false);
65 configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 65 configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
66 "Key to send to grid server", "null", false); 66 "Key to send to grid server", "null", false);
67 configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 67 configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
68 "Key to expect from grid server", "null", false); 68 "Key to expect from grid server", "null", false);
69 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 69 configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
70 "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false); 70 "DLL for database provider", "OpenSim.Framework.Data.MySQL.dll", false);
71 71
72 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 72 configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
73 "Http Listener port", DefaultHttpPort.ToString(), false); 73 "Http Listener port", DefaultHttpPort.ToString(), false);
74 } 74 }
75 75
76 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 76 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
77 { 77 {
78 switch (configuration_key) 78 switch (configuration_key)
79 { 79 {
80 case "default_startup_message": 80 case "default_startup_message":
81 DefaultStartupMsg = (string) configuration_result; 81 DefaultStartupMsg = (string) configuration_result;
82 break; 82 break;
83 case "default_grid_server": 83 case "default_grid_server":
84 GridServerURL = (string) configuration_result; 84 GridServerURL = (string) configuration_result;
85 break; 85 break;
86 case "grid_send_key": 86 case "grid_send_key":
87 GridSendKey = (string) configuration_result; 87 GridSendKey = (string) configuration_result;
88 break; 88 break;
89 case "grid_recv_key": 89 case "grid_recv_key":
90 GridRecvKey = (string) configuration_result; 90 GridRecvKey = (string) configuration_result;
91 break; 91 break;
92 case "database_provider": 92 case "database_provider":
93 DatabaseProvider = (string) configuration_result; 93 DatabaseProvider = (string) configuration_result;
94 break; 94 break;
95 case "http_port": 95 case "http_port":
96 HttpPort = (uint) configuration_result; 96 HttpPort = (uint) configuration_result;
97 break; 97 break;
98 } 98 }
99 99
100 return true; 100 return true;
101 } 101 }
102 } 102 }
103} \ No newline at end of file 103} \ No newline at end of file
diff --git a/OpenSim/Framework/General/UserProfileData.cs b/OpenSim/Framework/General/UserProfileData.cs
index ed70246..d10aa36 100644
--- a/OpenSim/Framework/General/UserProfileData.cs
+++ b/OpenSim/Framework/General/UserProfileData.cs
@@ -1,214 +1,214 @@
1/* 1/*
2* Copyright (c) Contributors, http://opensimulator.org/ 2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders. 3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4* 4*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using libsecondlife; 29using libsecondlife;
30 30
31namespace OpenSim.Framework 31namespace OpenSim.Framework
32{ 32{
33 /// <summary> 33 /// <summary>
34 /// Information about a particular user known to the userserver 34 /// Information about a particular user known to the userserver
35 /// </summary> 35 /// </summary>
36 public class UserProfileData 36 public class UserProfileData
37 { 37 {
38 /// <summary> 38 /// <summary>
39 /// The ID value for this user 39 /// The ID value for this user
40 /// </summary> 40 /// </summary>
41 public LLUUID UUID; 41 public LLUUID UUID;
42 42
43 /// <summary> 43 /// <summary>
44 /// The first component of a users account name 44 /// The first component of a users account name
45 /// </summary> 45 /// </summary>
46 public string username; 46 public string username;
47 47
48 /// <summary> 48 /// <summary>
49 /// The second component of a users account name 49 /// The second component of a users account name
50 /// </summary> 50 /// </summary>
51 public string surname; 51 public string surname;
52 52
53 /// <summary> 53 /// <summary>
54 /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt) 54 /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
55 /// </summary> 55 /// </summary>
56 /// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks> 56 /// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks>
57 public string passwordHash; 57 public string passwordHash;
58 58
59 /// <summary> 59 /// <summary>
60 /// The salt used for the users hash, should be 32 bytes or longer 60 /// The salt used for the users hash, should be 32 bytes or longer
61 /// </summary> 61 /// </summary>
62 public string passwordSalt; 62 public string passwordSalt;
63 63
64 /// <summary> 64 /// <summary>
65 /// 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 /// 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
66 /// </summary> 66 /// </summary>
67 public ulong homeRegion 67 public ulong homeRegion
68 { 68 {
69 get { return Helpers.UIntsToLong((homeRegionX*256), (homeRegionY*256)); } 69 get { return Helpers.UIntsToLong((homeRegionX*256), (homeRegionY*256)); }
70 set 70 set
71 { 71 {
72 homeRegionX = (uint) (value >> 40); 72 homeRegionX = (uint) (value >> 40);
73 homeRegionY = (((uint) (value)) >> 8); 73 homeRegionY = (((uint) (value)) >> 8);
74 } 74 }
75 } 75 }
76 76
77 public uint homeRegionX; 77 public uint homeRegionX;
78 public uint homeRegionY; 78 public uint homeRegionY;
79 79
80 /// <summary> 80 /// <summary>
81 /// The coordinates inside the region of the home location 81 /// The coordinates inside the region of the home location
82 /// </summary> 82 /// </summary>
83 public LLVector3 homeLocation; 83 public LLVector3 homeLocation;
84 84
85 /// <summary> 85 /// <summary>
86 /// Where the user will be looking when they rez. 86 /// Where the user will be looking when they rez.
87 /// </summary> 87 /// </summary>
88 public LLVector3 homeLookAt; 88 public LLVector3 homeLookAt;
89 89
90 /// <summary> 90 /// <summary>
91 /// A UNIX Timestamp (seconds since epoch) for the users creation 91 /// A UNIX Timestamp (seconds since epoch) for the users creation
92 /// </summary> 92 /// </summary>
93 public int created; 93 public int created;
94 94
95 /// <summary> 95 /// <summary>
96 /// A UNIX Timestamp for the users last login date / time 96 /// A UNIX Timestamp for the users last login date / time
97 /// </summary> 97 /// </summary>
98 public int lastLogin; 98 public int lastLogin;
99 99
100 public LLUUID rootInventoryFolderID; 100 public LLUUID rootInventoryFolderID;
101 101
102 /// <summary> 102 /// <summary>
103 /// A URI to the users inventory server, used for foreigners and large grids 103 /// A URI to the users inventory server, used for foreigners and large grids
104 /// </summary> 104 /// </summary>
105 public string userInventoryURI = String.Empty; 105 public string userInventoryURI = String.Empty;
106 106
107 /// <summary> 107 /// <summary>
108 /// A URI to the users asset server, used for foreigners and large grids. 108 /// A URI to the users asset server, used for foreigners and large grids.
109 /// </summary> 109 /// </summary>
110 public string userAssetURI = String.Empty; 110 public string userAssetURI = String.Empty;
111 111
112 /// <summary> 112 /// <summary>
113 /// A uint mask containing the "I can do" fields of the users profile 113 /// A uint mask containing the "I can do" fields of the users profile
114 /// </summary> 114 /// </summary>
115 public uint profileCanDoMask; 115 public uint profileCanDoMask;
116 116
117 /// <summary> 117 /// <summary>
118 /// A uint mask containing the "I want to do" part of the users profile 118 /// A uint mask containing the "I want to do" part of the users profile
119 /// </summary> 119 /// </summary>
120 public uint profileWantDoMask; // Profile window "I want to" mask 120 public uint profileWantDoMask; // Profile window "I want to" mask
121 121
122 /// <summary> 122 /// <summary>
123 /// The about text listed in a users profile. 123 /// The about text listed in a users profile.
124 /// </summary> 124 /// </summary>
125 public string profileAboutText = String.Empty; 125 public string profileAboutText = String.Empty;
126 126
127 /// <summary> 127 /// <summary>
128 /// The first life about text listed in a users profile 128 /// The first life about text listed in a users profile
129 /// </summary> 129 /// </summary>
130 public string profileFirstText = String.Empty; 130 public string profileFirstText = String.Empty;
131 131
132 /// <summary> 132 /// <summary>
133 /// The profile image for an avatar stored on the asset server 133 /// The profile image for an avatar stored on the asset server
134 /// </summary> 134 /// </summary>
135 public LLUUID profileImage; 135 public LLUUID profileImage;
136 136
137 /// <summary> 137 /// <summary>
138 /// The profile image for the users first life tab 138 /// The profile image for the users first life tab
139 /// </summary> 139 /// </summary>
140 public LLUUID profileFirstImage; 140 public LLUUID profileFirstImage;
141 141
142 /// <summary> 142 /// <summary>
143 /// The users last registered agent (filled in on the user server) 143 /// The users last registered agent (filled in on the user server)
144 /// </summary> 144 /// </summary>
145 public UserAgentData currentAgent; 145 public UserAgentData currentAgent;
146 } 146 }
147 147
148 /// <summary> 148 /// <summary>
149 /// Information about a users session 149 /// Information about a users session
150 /// </summary> 150 /// </summary>
151 public class UserAgentData 151 public class UserAgentData
152 { 152 {
153 /// <summary> 153 /// <summary>
154 /// The UUID of the users avatar (not the agent!) 154 /// The UUID of the users avatar (not the agent!)
155 /// </summary> 155 /// </summary>
156 public LLUUID UUID; 156 public LLUUID UUID;
157 157
158 /// <summary> 158 /// <summary>
159 /// The IP address of the user 159 /// The IP address of the user
160 /// </summary> 160 /// </summary>
161 public string agentIP = String.Empty; 161 public string agentIP = String.Empty;
162 162
163 /// <summary> 163 /// <summary>
164 /// The port of the user 164 /// The port of the user
165 /// </summary> 165 /// </summary>
166 public uint agentPort; 166 public uint agentPort;
167 167
168 /// <summary> 168 /// <summary>
169 /// Is the user online? 169 /// Is the user online?
170 /// </summary> 170 /// </summary>
171 public bool agentOnline; 171 public bool agentOnline;
172 172
173 /// <summary> 173 /// <summary>
174 /// The session ID for the user (also the agent ID) 174 /// The session ID for the user (also the agent ID)
175 /// </summary> 175 /// </summary>
176 public LLUUID sessionID; 176 public LLUUID sessionID;
177 177
178 /// <summary> 178 /// <summary>
179 /// The "secure" session ID for the user 179 /// The "secure" session ID for the user
180 /// </summary> 180 /// </summary>
181 /// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks> 181 /// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks>
182 public LLUUID secureSessionID; 182 public LLUUID secureSessionID;
183 183
184 /// <summary> 184 /// <summary>
185 /// The region the user logged into initially 185 /// The region the user logged into initially
186 /// </summary> 186 /// </summary>
187 public LLUUID regionID; 187 public LLUUID regionID;
188 188
189 /// <summary> 189 /// <summary>
190 /// A unix timestamp from when the user logged in 190 /// A unix timestamp from when the user logged in
191 /// </summary> 191 /// </summary>
192 public int loginTime; 192 public int loginTime;
193 193
194 /// <summary> 194 /// <summary>
195 /// When this agent expired and logged out, 0 if still online 195 /// When this agent expired and logged out, 0 if still online
196 /// </summary> 196 /// </summary>
197 public int logoutTime; 197 public int logoutTime;
198 198
199 /// <summary> 199 /// <summary>
200 /// Current region the user is logged into 200 /// Current region the user is logged into
201 /// </summary> 201 /// </summary>
202 public LLUUID currentRegion; 202 public LLUUID currentRegion;
203 203
204 /// <summary> 204 /// <summary>
205 /// Region handle of the current region the user is in 205 /// Region handle of the current region the user is in
206 /// </summary> 206 /// </summary>
207 public ulong currentHandle; 207 public ulong currentHandle;
208 208
209 /// <summary> 209 /// <summary>
210 /// The position of the user within the region 210 /// The position of the user within the region
211 /// </summary> 211 /// </summary>
212 public LLVector3 currentPos; 212 public LLVector3 currentPos;
213 } 213 }
214} \ No newline at end of file 214} \ No newline at end of file