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