aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneBase.cs
diff options
context:
space:
mode:
authorCharles Krinke2008-12-14 02:17:12 +0000
committerCharles Krinke2008-12-14 02:17:12 +0000
commite6eb571c1d19972fe7eb4c3f7de113b1b91f5e02 (patch)
tree2140979c8cf3f4d4d2b60a355be65abd659508b9 /OpenSim/Region/Environment/Scenes/SceneBase.cs
parentMantis#2811. Thank you kindly, Diva for a patch that resolves (diff)
downloadopensim-SC-e6eb571c1d19972fe7eb4c3f7de113b1b91f5e02.zip
opensim-SC-e6eb571c1d19972fe7eb4c3f7de113b1b91f5e02.tar.gz
opensim-SC-e6eb571c1d19972fe7eb4c3f7de113b1b91f5e02.tar.bz2
opensim-SC-e6eb571c1d19972fe7eb4c3f7de113b1b91f5e02.tar.xz
Mantis#2725. Thank you kindly, Diva, for a patch that:
Adds missing protocol pieces for EstablishAgentCommunication event which allows the client to activate CAPS and the EQ for child agents.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneBase.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneBase.cs49
1 files changed, 48 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs
index 9528a0d..fafa933 100644
--- a/OpenSim/Region/Environment/Scenes/SceneBase.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs
@@ -216,8 +216,10 @@ namespace OpenSim.Region.Environment.Scenes
216 216
217 /// <summary> 217 /// <summary>
218 /// XXX These two methods are very temporary 218 /// XXX These two methods are very temporary
219 /// XXX Diva: this is really truly horrible; must...move...to...LL client...stack...
219 /// </summary> 220 /// </summary>
220 protected Dictionary<UUID, string> capsPaths = new Dictionary<UUID, string>(); 221 protected Dictionary<UUID, string> capsPaths = new Dictionary<UUID, string>();
222 protected Dictionary<UUID, Dictionary<ulong, string>> childrenSeeds = new Dictionary<UUID, Dictionary<ulong, string>>();
221 public string GetCapsPath(UUID agentId) 223 public string GetCapsPath(UUID agentId)
222 { 224 {
223 if (capsPaths.ContainsKey(agentId)) 225 if (capsPaths.ContainsKey(agentId))
@@ -227,7 +229,52 @@ namespace OpenSim.Region.Environment.Scenes
227 229
228 return null; 230 return null;
229 } 231 }
230 232 public Dictionary<ulong, string> GetChildrenSeeds(UUID agentID)
233 {
234 Dictionary<ulong, string> seeds = null;
235 if (childrenSeeds.TryGetValue(agentID, out seeds))
236 return seeds;
237 return new Dictionary<ulong, string>();
238 }
239
240 public void DropChildSeed(UUID agentID, ulong handle)
241 {
242 Dictionary<ulong, string> seeds;
243 if (childrenSeeds.TryGetValue(agentID, out seeds))
244 {
245 seeds.Remove(handle);
246 }
247 }
248
249 public string GetChildSeed(UUID agentID, ulong handle)
250 {
251 Dictionary<ulong, string> seeds;
252 if (childrenSeeds.TryGetValue(agentID, out seeds))
253 {
254 return seeds[handle];
255 }
256 return null;
257 }
258
259 public void SetChildrenSeed(UUID agentID, Dictionary<ulong, string> value)
260 {
261 //Console.WriteLine(" !!! Setting child seeds in {0} to {1}", RegionInfo.RegionName, value.Count);
262 childrenSeeds[agentID] = value;
263 }
264
265 public void DumpChildrenSeeds(UUID agentID)
266 {
267 Console.WriteLine("================ ChildrenSeed {0} ================", RegionInfo.RegionName);
268 foreach (KeyValuePair<ulong, string> kvp in childrenSeeds[agentID])
269 {
270 uint x, y;
271 Utils.LongToUInts(kvp.Key, out x, out y);
272 x = x / Constants.RegionSize;
273 y = y / Constants.RegionSize;
274 Console.WriteLine(" >> {0}, {1}: {2}", x, y, kvp.Value);
275 }
276 }
277
231 /// <summary> 278 /// <summary>
232 /// Returns a new unallocated local ID 279 /// Returns a new unallocated local ID
233 /// </summary> 280 /// </summary>