aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorlbsa712007-09-24 05:15:13 +0000
committerlbsa712007-09-24 05:15:13 +0000
commit40468f18a493d6bad5b512b1cb13c1091ab7f17f (patch)
treeccc6f155d0414c1e8c6f58cbb1f2a8fe7dd372c2
parent* Added TryGetAvatarByName (diff)
downloadopensim-SC-40468f18a493d6bad5b512b1cb13c1091ab7f17f.zip
opensim-SC-40468f18a493d6bad5b512b1cb13c1091ab7f17f.tar.gz
opensim-SC-40468f18a493d6bad5b512b1cb13c1091ab7f17f.tar.bz2
opensim-SC-40468f18a493d6bad5b512b1cb13c1091ab7f17f.tar.xz
* Encapsulated all CommunicationsManager services
-rw-r--r--OpenSim/Framework/Communications/Cache/AssetCache.cs9
-rw-r--r--OpenSim/Framework/Communications/Capabilities/Caps.cs2
-rw-r--r--OpenSim/Framework/Communications/CommunicationsManager.cs78
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs3
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs3
-rw-r--r--OpenSim/Region/ClientStack/PacketServer.cs2
-rw-r--r--OpenSim/Region/ClientStack/RegionApplicationBase.cs2
-rw-r--r--OpenSim/Region/ClientStack/UDPServer.cs2
-rw-r--r--OpenSim/Region/Communications/Local/CommunicationsLocal.cs2
-rw-r--r--OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs4
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1GridServices.cs2
-rw-r--r--OpenSim/Region/Environment/Modules/DynamicTextureModule.cs280
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneBase.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs4
-rw-r--r--OpenSim/Region/Examples/SimpleApp/MyWorld.cs3
-rw-r--r--OpenSim/Region/Examples/SimpleApp/Program.cs1
18 files changed, 225 insertions, 178 deletions
diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs
index 0fadb85..4ae8595 100644
--- a/OpenSim/Framework/Communications/Cache/AssetCache.cs
+++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs
@@ -37,7 +37,7 @@ using OpenSim.Framework.Interfaces;
37using OpenSim.Framework.Types; 37using OpenSim.Framework.Types;
38using OpenSim.Framework.Utilities; 38using OpenSim.Framework.Utilities;
39 39
40namespace OpenSim.Framework.Communications.Caches 40namespace OpenSim.Framework.Communications.Cache
41{ 41{
42 public delegate void DownloadComplete(AssetCache.TextureSender sender); 42 public delegate void DownloadComplete(AssetCache.TextureSender sender);
43 43
@@ -180,7 +180,7 @@ namespace OpenSim.Framework.Communications.Caches
180 180
181 public void DeleteAsset(LLUUID assetID) 181 public void DeleteAsset(LLUUID assetID)
182 { 182 {
183 // this._assetServer.DeleteAsset(assetID); 183 // this._assetServer.DeleteAsset(assetID);
184 184
185 //Todo should delete it from memory too 185 //Todo should delete it from memory too
186 } 186 }
@@ -268,7 +268,7 @@ namespace OpenSim.Framework.Communications.Caches
268 if (this.SendingTextures.ContainsKey(sender.request.ImageInfo.FullID)) 268 if (this.SendingTextures.ContainsKey(sender.request.ImageInfo.FullID))
269 { 269 {
270 this.SendingTextures.Remove(sender.request.ImageInfo.FullID); 270 this.SendingTextures.Remove(sender.request.ImageInfo.FullID);
271 // this.AvatarRecievedTextures[sender.request.RequestUser.AgentId].Add(sender.request.ImageInfo.FullID); 271 // this.AvatarRecievedTextures[sender.request.RequestUser.AgentId].Add(sender.request.ImageInfo.FullID);
272 } 272 }
273 } 273 }
274 274
@@ -791,5 +791,4 @@ namespace OpenSim.Framework.Communications.Caches
791 } 791 }
792 } 792 }
793 } 793 }
794} 794} \ No newline at end of file
795
diff --git a/OpenSim/Framework/Communications/Capabilities/Caps.cs b/OpenSim/Framework/Communications/Capabilities/Caps.cs
index f9c8b47..59c6d7c 100644
--- a/OpenSim/Framework/Communications/Capabilities/Caps.cs
+++ b/OpenSim/Framework/Communications/Capabilities/Caps.cs
@@ -31,10 +31,10 @@ using System.Collections.Generic;
31using System.Text; 31using System.Text;
32using System.IO; 32using System.IO;
33using libsecondlife; 33using libsecondlife;
34using OpenSim.Framework.Communications.Cache;
34using OpenSim.Framework.Servers; 35using OpenSim.Framework.Servers;
35using OpenSim.Framework.Types; 36using OpenSim.Framework.Types;
36using OpenSim.Framework.Utilities; 37using OpenSim.Framework.Utilities;
37using OpenSim.Framework.Communications.Caches;
38using OpenSim.Framework.Data; 38using OpenSim.Framework.Data;
39 39
40namespace OpenSim.Region.Capabilities 40namespace OpenSim.Region.Capabilities
diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs
index 6d73af8..d6a577f 100644
--- a/OpenSim/Framework/Communications/CommunicationsManager.cs
+++ b/OpenSim/Framework/Communications/CommunicationsManager.cs
@@ -28,6 +28,7 @@
28using System.Text; 28using System.Text;
29using libsecondlife; 29using libsecondlife;
30using libsecondlife.Packets; 30using libsecondlife.Packets;
31using OpenSim.Framework.Communications.Cache;
31using OpenSim.Framework.Data; 32using OpenSim.Framework.Data;
32using OpenSim.Framework.Interfaces; 33using OpenSim.Framework.Interfaces;
33using OpenSim.Framework.Types; 34using OpenSim.Framework.Types;
@@ -40,33 +41,80 @@ namespace OpenSim.Framework.Communications
40 41
41 public class CommunicationsManager 42 public class CommunicationsManager
42 { 43 {
43 public IUserServices UserServer;
44 public IGridServices GridServer;
45 public IInventoryServices InventoryServer;
46 public IInterRegionCommunications InterRegion;
47 public UserProfileCache UserProfiles;
48 public AssetTransactionManager TransactionsManager;
49 public AssetCache AssetCache;
50
51 public NetworkServersInfo ServersInfo;
52 public CommunicationsManager(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache) 44 public CommunicationsManager(NetworkServersInfo serversInfo, BaseHttpServer httpServer, AssetCache assetCache)
53 { 45 {
54 ServersInfo = serversInfo; 46 this.serversInfo = serversInfo;
55 this.AssetCache = assetCache; 47 this.m_assetCache = assetCache;
56 UserProfiles = new UserProfileCache(this); 48 m_userProfiles = new UserProfileCache(this);
57 TransactionsManager = new AssetTransactionManager(this); 49 m_transactionsManager = new AssetTransactionManager(this);
50 }
51
52 private IUserServices m_userServer;
53 public IUserServices UserServer
54 {
55 get { return m_userServer; }
56 set { m_userServer = value; }
57 }
58
59 private IGridServices m_gridServer;
60 public IGridServices GridServer
61 {
62 get { return m_gridServer; }
63 set { m_gridServer = value; }
64 }
65
66 private IInventoryServices m_inventoryServer;
67 public IInventoryServices InventoryServer
68 {
69 get { return m_inventoryServer; }
70 set { m_inventoryServer = value; }
71 }
72
73 private IInterRegionCommunications m_interRegion;
74 public IInterRegionCommunications InterRegion
75 {
76 get { return m_interRegion; }
77 set { m_interRegion = value; }
78 }
79
80 private UserProfileCache m_userProfiles;
81 public UserProfileCache UserProfiles
82 {
83 get { return m_userProfiles; }
84 set { m_userProfiles = value; }
85 }
86
87 private AssetTransactionManager m_transactionsManager;
88 public AssetTransactionManager TransactionsManager
89 {
90 get { return m_transactionsManager; }
91 set { m_transactionsManager = value; }
92 }
93
94 private AssetCache m_assetCache;
95 public AssetCache AssetCache
96 {
97 get { return m_assetCache; }
98 set { m_assetCache = value; }
99 }
100
101 private NetworkServersInfo serversInfo;
102 public NetworkServersInfo ServersInfo
103 {
104 get { return serversInfo; }
105 set { serversInfo = value; }
58 } 106 }
59 107
60 #region Packet Handlers 108 #region Packet Handlers
61 public void HandleUUIDNameRequest(LLUUID uuid, IClientAPI remote_client) 109 public void HandleUUIDNameRequest(LLUUID uuid, IClientAPI remote_client)
62 { 110 {
63 if (uuid == UserProfiles.libraryRoot.agentID) 111 if (uuid == m_userProfiles.libraryRoot.agentID)
64 { 112 {
65 remote_client.SendNameReply(uuid , "Mr" , "OpenSim"); 113 remote_client.SendNameReply(uuid , "Mr" , "OpenSim");
66 } 114 }
67 else 115 else
68 { 116 {
69 UserProfileData profileData = this.UserServer.GetUserProfile(uuid); 117 UserProfileData profileData = this.m_userServer.GetUserProfile(uuid);
70 if (profileData != null) 118 if (profileData != null)
71 { 119 {
72 LLUUID profileId = profileData.UUID; 120 LLUUID profileId = profileData.UUID;
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index c28025b..d3b4e49 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -31,6 +31,7 @@ using System.Collections.Generic;
31using System.IO; 31using System.IO;
32using System.Text; 32using System.Text;
33using Nini.Config; 33using Nini.Config;
34using OpenSim.Framework.Communications.Cache;
34using OpenSim.Framework.Communications.Caches; 35using OpenSim.Framework.Communications.Caches;
35using OpenSim.Framework.Console; 36using OpenSim.Framework.Console;
36using OpenSim.Framework.Interfaces; 37using OpenSim.Framework.Interfaces;
@@ -270,7 +271,7 @@ namespace OpenSim
270 } 271 }
271 assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey); 272 assetServer.SetServerInfo(m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
272 m_assetCache = new AssetCache(assetServer); 273 m_assetCache = new AssetCache(assetServer);
273 // m_assetCache = new AssetCache("OpenSim.Region.GridInterfaces.Local.dll", m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey); 274 // m_assetCache = new assetCache("OpenSim.Region.GridInterfaces.Local.dll", m_networkServersInfo.AssetURL, m_networkServersInfo.AssetSendKey);
274 } 275 }
275 276
276 protected override LogBase CreateLog() 277 protected override LogBase CreateLog()
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index 3b4c0f8..2489739 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -34,13 +34,12 @@ using System.Timers;
34using libsecondlife; 34using libsecondlife;
35using libsecondlife.Packets; 35using libsecondlife.Packets;
36using OpenSim.Framework; 36using OpenSim.Framework;
37using OpenSim.Framework.Communications.Cache;
37using OpenSim.Framework.Console; 38using OpenSim.Framework.Console;
38using OpenSim.Framework.Interfaces; 39using OpenSim.Framework.Interfaces;
39using OpenSim.Framework.Inventory; 40using OpenSim.Framework.Inventory;
40using OpenSim.Framework.Types; 41using OpenSim.Framework.Types;
41using OpenSim.Framework.Utilities; 42using OpenSim.Framework.Utilities;
42using OpenSim.Framework.Communications.Caches;
43
44using Timer = System.Timers.Timer; 43using Timer = System.Timers.Timer;
45 44
46namespace OpenSim.Region.ClientStack 45namespace OpenSim.Region.ClientStack
diff --git a/OpenSim/Region/ClientStack/PacketServer.cs b/OpenSim/Region/ClientStack/PacketServer.cs
index f02f105..7134ad3 100644
--- a/OpenSim/Region/ClientStack/PacketServer.cs
+++ b/OpenSim/Region/ClientStack/PacketServer.cs
@@ -30,9 +30,9 @@ using System.Net;
30using System.Net.Sockets; 30using System.Net.Sockets;
31using libsecondlife.Packets; 31using libsecondlife.Packets;
32using OpenSim.Framework; 32using OpenSim.Framework;
33using OpenSim.Framework.Communications.Cache;
33using OpenSim.Framework.Types; 34using OpenSim.Framework.Types;
34using OpenSim.Framework.Interfaces; 35using OpenSim.Framework.Interfaces;
35using OpenSim.Framework.Communications.Caches;
36using libsecondlife; 36using libsecondlife;
37 37
38namespace OpenSim.Region.ClientStack 38namespace OpenSim.Region.ClientStack
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
index a1ec4e3..f5253ba 100644
--- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs
+++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
@@ -29,6 +29,7 @@ using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Net; 30using System.Net;
31using OpenSim.Framework; 31using OpenSim.Framework;
32using OpenSim.Framework.Communications.Cache;
32using OpenSim.Framework.Console; 33using OpenSim.Framework.Console;
33using OpenSim.Framework.Data; 34using OpenSim.Framework.Data;
34using OpenSim.Framework.Interfaces; 35using OpenSim.Framework.Interfaces;
@@ -39,7 +40,6 @@ using OpenSim.Region.Environment;
39using libsecondlife; 40using libsecondlife;
40using OpenSim.Region.Environment.Scenes; 41using OpenSim.Region.Environment.Scenes;
41using OpenSim.Framework.Communications; 42using OpenSim.Framework.Communications;
42using OpenSim.Framework.Communications.Caches;
43 43
44namespace OpenSim.Region.ClientStack 44namespace OpenSim.Region.ClientStack
45{ 45{
diff --git a/OpenSim/Region/ClientStack/UDPServer.cs b/OpenSim/Region/ClientStack/UDPServer.cs
index 9a3d01a..c7a3524 100644
--- a/OpenSim/Region/ClientStack/UDPServer.cs
+++ b/OpenSim/Region/ClientStack/UDPServer.cs
@@ -31,10 +31,10 @@ using System.Net;
31using System.Net.Sockets; 31using System.Net.Sockets;
32using libsecondlife.Packets; 32using libsecondlife.Packets;
33using OpenSim.Framework; 33using OpenSim.Framework;
34using OpenSim.Framework.Communications.Cache;
34using OpenSim.Framework.Types; 35using OpenSim.Framework.Types;
35using OpenSim.Framework.Console; 36using OpenSim.Framework.Console;
36using OpenSim.Framework.Interfaces; 37using OpenSim.Framework.Interfaces;
37using OpenSim.Framework.Communications.Caches;
38 38
39namespace OpenSim.Region.ClientStack 39namespace OpenSim.Region.ClientStack
40{ 40{
diff --git a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs
index 3031b8a..aa0105c 100644
--- a/OpenSim/Region/Communications/Local/CommunicationsLocal.cs
+++ b/OpenSim/Region/Communications/Local/CommunicationsLocal.cs
@@ -27,9 +27,9 @@
27*/ 27*/
28using System; 28using System;
29using OpenSim.Framework.Communications; 29using OpenSim.Framework.Communications;
30using OpenSim.Framework.Communications.Cache;
30using OpenSim.Framework.Types; 31using OpenSim.Framework.Types;
31using OpenSim.Framework.Servers; 32using OpenSim.Framework.Servers;
32using OpenSim.Framework.Communications.Caches;
33using OpenSim.Framework.Console; 33using OpenSim.Framework.Console;
34using OpenSim.Framework.Utilities; 34using OpenSim.Framework.Utilities;
35using OpenSim.Framework.Data; 35using OpenSim.Framework.Data;
diff --git a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs
index af239f7..dd85d54 100644
--- a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs
+++ b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs
@@ -1,8 +1,8 @@
1using OpenSim.Framework.Communications; 1using OpenSim.Framework.Communications;
2using OpenSim.Framework.Communications.Cache;
2using OpenSim.Framework.Types; 3using OpenSim.Framework.Types;
3using OpenSim.Framework.Servers; 4using OpenSim.Framework.Servers;
4using OpenSim.Framework.Communications.Caches; 5
5
6 6
7namespace OpenSim.Region.Communications.OGS1 7namespace OpenSim.Region.Communications.OGS1
8{ 8{
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index 071ad0f..dea4b9f 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -320,7 +320,7 @@ namespace OpenSim.Region.Communications.OGS1
320 return new XmlRpcResponse(); 320 return new XmlRpcResponse();
321 } 321 }
322 322
323 #region InterRegion Comms 323 #region m_interRegion Comms
324 /// <summary> 324 /// <summary>
325 /// 325 ///
326 /// </summary> 326 /// </summary>
diff --git a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs
index 3f737e1..0fd03d3 100644
--- a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs
+++ b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs
@@ -6,152 +6,152 @@ using OpenSim.Framework.Utilities;
6using OpenSim.Region.Environment.Interfaces; 6using OpenSim.Region.Environment.Interfaces;
7using OpenSim.Region.Environment.Scenes; 7using OpenSim.Region.Environment.Scenes;
8 8
9namespace OpenSim.Region.Environment.Modules 9namespace OpenSim.Region.Environment.Modules
10{ 10{
11 public class DynamicTextureModule : IRegionModule, IDynamicTextureManager 11 public class DynamicTextureModule : IRegionModule, IDynamicTextureManager
12 { 12 {
13 private Dictionary<LLUUID, Scene> RegisteredScenes = new Dictionary<LLUUID, Scene>(); 13 private Dictionary<LLUUID, Scene> RegisteredScenes = new Dictionary<LLUUID, Scene>();
14 14
15 private Dictionary<string, IDynamicTextureRender> RenderPlugins = 15 private Dictionary<string, IDynamicTextureRender> RenderPlugins =
16 new Dictionary<string, IDynamicTextureRender>(); 16 new Dictionary<string, IDynamicTextureRender>();
17 17
18 private Dictionary<LLUUID, DynamicTextureUpdater> Updaters = new Dictionary<LLUUID, DynamicTextureUpdater>(); 18 private Dictionary<LLUUID, DynamicTextureUpdater> Updaters = new Dictionary<LLUUID, DynamicTextureUpdater>();
19 19
20 public void Initialise(Scene scene) 20 public void Initialise(Scene scene)
21 { 21 {
22 if (!RegisteredScenes.ContainsKey(scene.RegionInfo.SimUUID)) 22 if (!RegisteredScenes.ContainsKey(scene.RegionInfo.SimUUID))
23 { 23 {
24 RegisteredScenes.Add(scene.RegionInfo.SimUUID, scene); 24 RegisteredScenes.Add(scene.RegionInfo.SimUUID, scene);
25 scene.RegisterModuleInterface<IDynamicTextureManager>(this); 25 scene.RegisterModuleInterface<IDynamicTextureManager>(this);
26 } 26 }
27 } 27 }
28 28
29 public void PostInitialise() 29 public void PostInitialise()
30 {
31 }
32
33 public void CloseDown()
34 {
35 }
36
37 public string GetName()
30 { 38 {
31 } 39 return "DynamicTextureModule";
32 40 }
33 public void CloseDown() 41
34 { 42 public bool IsSharedModule()
35 } 43 {
36 44 return true;
37 public string GetName() 45 }
38 { 46
39 return "DynamicTextureModule"; 47 public void RegisterRender(string handleType, IDynamicTextureRender render)
40 } 48 {
41 49 if (!RenderPlugins.ContainsKey(handleType))
42 public bool IsSharedModule() 50 {
43 { 51 RenderPlugins.Add(handleType, render);
44 return true; 52 }
45 } 53 }
46 54
47 public void RegisterRender(string handleType, IDynamicTextureRender render) 55 public void ReturnData(LLUUID id, byte[] data)
48 { 56 {
49 if (!RenderPlugins.ContainsKey(handleType)) 57 if (Updaters.ContainsKey(id))
50 { 58 {
51 RenderPlugins.Add(handleType, render); 59 DynamicTextureUpdater updater = Updaters[id];
52 } 60 if (RegisteredScenes.ContainsKey(updater.SimUUID))
53 } 61 {
54 62 Scene scene = RegisteredScenes[updater.SimUUID];
55 public void ReturnData(LLUUID id, byte[] data) 63 updater.DataReceived(data, scene);
56 { 64 }
57 if (Updaters.ContainsKey(id)) 65 }
58 { 66 }
59 DynamicTextureUpdater updater = Updaters[id]; 67
60 if (RegisteredScenes.ContainsKey(updater.SimUUID))
61 {
62 Scene scene = RegisteredScenes[updater.SimUUID];
63 updater.DataReceived(data, scene);
64 }
65 }
66 }
67
68 public LLUUID AddDynamicTextureURL(LLUUID simID, LLUUID primID, string contentType, string url, 68 public LLUUID AddDynamicTextureURL(LLUUID simID, LLUUID primID, string contentType, string url,
69 string extraParams, int updateTimer) 69 string extraParams, int updateTimer)
70 { 70 {
71 Console.WriteLine("dynamic texture being created: " + url + " of type " + contentType); 71 Console.WriteLine("dynamic texture being created: " + url + " of type " + contentType);
72 if (RenderPlugins.ContainsKey(contentType)) 72 if (RenderPlugins.ContainsKey(contentType))
73 { 73 {
74 DynamicTextureUpdater updater = new DynamicTextureUpdater(); 74 DynamicTextureUpdater updater = new DynamicTextureUpdater();
75 updater.SimUUID = simID; 75 updater.SimUUID = simID;
76 updater.PrimID = primID; 76 updater.PrimID = primID;
77 updater.ContentType = contentType; 77 updater.ContentType = contentType;
78 updater.Url = url; 78 updater.Url = url;
79 updater.UpdateTimer = updateTimer; 79 updater.UpdateTimer = updateTimer;
80 updater.UpdaterID = LLUUID.Random(); 80 updater.UpdaterID = LLUUID.Random();
81 updater.Params = extraParams; 81 updater.Params = extraParams;
82 82
83 if (!Updaters.ContainsKey(updater.UpdaterID)) 83 if (!Updaters.ContainsKey(updater.UpdaterID))
84 { 84 {
85 Updaters.Add(updater.UpdaterID, updater); 85 Updaters.Add(updater.UpdaterID, updater);
86 } 86 }
87 87
88 RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams); 88 RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams);
89 return updater.UpdaterID; 89 return updater.UpdaterID;
90 } 90 }
91 return LLUUID.Zero; 91 return LLUUID.Zero;
92 } 92 }
93 93
94 public LLUUID AddDynamicTextureData(LLUUID simID, LLUUID primID, string contentType, string data, 94 public LLUUID AddDynamicTextureData(LLUUID simID, LLUUID primID, string contentType, string data,
95 string extraParams, int updateTimer) 95 string extraParams, int updateTimer)
96 { 96 {
97 if (RenderPlugins.ContainsKey(contentType)) 97 if (RenderPlugins.ContainsKey(contentType))
98 { 98 {
99 DynamicTextureUpdater updater = new DynamicTextureUpdater(); 99 DynamicTextureUpdater updater = new DynamicTextureUpdater();
100 updater.SimUUID = simID; 100 updater.SimUUID = simID;
101 updater.PrimID = primID; 101 updater.PrimID = primID;
102 updater.ContentType = contentType; 102 updater.ContentType = contentType;
103 updater.BodyData = data; 103 updater.BodyData = data;
104 updater.UpdateTimer = updateTimer; 104 updater.UpdateTimer = updateTimer;
105 updater.UpdaterID = LLUUID.Random(); 105 updater.UpdaterID = LLUUID.Random();
106 updater.Params = extraParams; 106 updater.Params = extraParams;
107 107
108 if (!Updaters.ContainsKey(updater.UpdaterID)) 108 if (!Updaters.ContainsKey(updater.UpdaterID))
109 { 109 {
110 Updaters.Add(updater.UpdaterID, updater); 110 Updaters.Add(updater.UpdaterID, updater);
111 } 111 }
112 112
113 RenderPlugins[contentType].AsyncConvertData(updater.UpdaterID, data, extraParams); 113 RenderPlugins[contentType].AsyncConvertData(updater.UpdaterID, data, extraParams);
114 return updater.UpdaterID; 114 return updater.UpdaterID;
115 } 115 }
116 return LLUUID.Zero; 116 return LLUUID.Zero;
117 } 117 }
118 118
119 public class DynamicTextureUpdater 119 public class DynamicTextureUpdater
120 { 120 {
121 public LLUUID SimUUID; 121 public LLUUID SimUUID;
122 public LLUUID UpdaterID; 122 public LLUUID UpdaterID;
123 public string ContentType; 123 public string ContentType;
124 public string Url; 124 public string Url;
125 public string BodyData; 125 public string BodyData;
126 public LLUUID PrimID; 126 public LLUUID PrimID;
127 public int UpdateTimer; 127 public int UpdateTimer;
128 public LLUUID LastAssetID; 128 public LLUUID LastAssetID;
129 public string Params; 129 public string Params;
130 130
131 public DynamicTextureUpdater() 131 public DynamicTextureUpdater()
132 { 132 {
133 LastAssetID = LLUUID.Zero; 133 LastAssetID = LLUUID.Zero;
134 UpdateTimer = 0; 134 UpdateTimer = 0;
135 BodyData = null; 135 BodyData = null;
136 } 136 }
137 137
138 public void DataReceived(byte[] data, Scene scene) 138 public void DataReceived(byte[] data, Scene scene)
139 { 139 {
140 //TODO delete the last asset(data), if it was a dynamic texture 140 //TODO delete the last asset(data), if it was a dynamic texture
141 141
142 AssetBase asset = new AssetBase(); 142 AssetBase asset = new AssetBase();
143 asset.FullID = LLUUID.Random(); 143 asset.FullID = LLUUID.Random();
144 asset.Data = data; 144 asset.Data = data;
145 asset.Name = "DynamicImage" + Util.RandomClass.Next(1, 10000); 145 asset.Name = "DynamicImage" + Util.RandomClass.Next(1, 10000);
146 asset.Type = 0; 146 asset.Type = 0;
147 scene.commsManager.AssetCache.AddAsset(asset); 147 scene.commsManager.AssetCache.AddAsset(asset);
148 148
149 LastAssetID = asset.FullID; 149 LastAssetID = asset.FullID;
150 150
151 SceneObjectPart part = scene.GetSceneObjectPart(PrimID); 151 SceneObjectPart part = scene.GetSceneObjectPart(PrimID);
152 part.Shape.TextureEntry = new LLObject.TextureEntry(asset.FullID).ToBytes(); 152 part.Shape.TextureEntry = new LLObject.TextureEntry(asset.FullID).ToBytes();
153 part.ScheduleFullUpdate(); 153 part.ScheduleFullUpdate();
154 } 154 }
155 } 155 }
156 } 156 }
157} \ No newline at end of file 157} \ No newline at end of file
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index cff832e..90736f4 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -35,7 +35,7 @@ using Axiom.Math;
35using libsecondlife; 35using libsecondlife;
36using OpenSim.Framework; 36using OpenSim.Framework;
37using OpenSim.Framework.Communications; 37using OpenSim.Framework.Communications;
38using OpenSim.Framework.Communications.Caches; 38using OpenSim.Framework.Communications.Cache;
39using OpenSim.Framework.Console; 39using OpenSim.Framework.Console;
40using OpenSim.Framework.Interfaces; 40using OpenSim.Framework.Interfaces;
41using OpenSim.Framework.Servers; 41using OpenSim.Framework.Servers;
diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs
index fc81d5f..b3cd99c 100644
--- a/OpenSim/Region/Environment/Scenes/SceneBase.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs
@@ -28,7 +28,7 @@
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using libsecondlife; 30using libsecondlife;
31using OpenSim.Framework.Communications.Caches; 31using OpenSim.Framework.Communications.Cache;
32using OpenSim.Framework.Console; 32using OpenSim.Framework.Console;
33using OpenSim.Framework.Interfaces; 33using OpenSim.Framework.Interfaces;
34using OpenSim.Framework.Types; 34using OpenSim.Framework.Types;
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index c1c678f..890008d 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -80,7 +80,7 @@ namespace OpenSim.Region.Environment.Scenes
80 } 80 }
81 } 81 }
82 82
83 public LLVector3 AbsolutePosition 83 public override LLVector3 AbsolutePosition
84 { 84 {
85 get { return m_rootPart.GroupPosition; } 85 get { return m_rootPart.GroupPosition; }
86 set 86 set
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 4d2c8e2..b8ef17b 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -138,7 +138,7 @@ namespace OpenSim.Region.Environment.Scenes
138 get { return m_controllingClient; } 138 get { return m_controllingClient; }
139 } 139 }
140 140
141 public LLVector3 AbsolutePosition 141 public override LLVector3 AbsolutePosition
142 { 142 {
143 get 143 get
144 { 144 {
@@ -172,7 +172,7 @@ namespace OpenSim.Region.Environment.Scenes
172 } 172 }
173 } 173 }
174 174
175 public LLVector3 Velocity 175 public override LLVector3 Velocity
176 { 176 {
177 get 177 get
178 { 178 {
diff --git a/OpenSim/Region/Examples/SimpleApp/MyWorld.cs b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs
index e4b033d..6d216e3 100644
--- a/OpenSim/Region/Examples/SimpleApp/MyWorld.cs
+++ b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs
@@ -2,6 +2,7 @@ using System.Collections.Generic;
2using libsecondlife; 2using libsecondlife;
3using OpenSim.Framework; 3using OpenSim.Framework;
4using OpenSim.Framework.Communications; 4using OpenSim.Framework.Communications;
5using OpenSim.Framework.Communications.Cache;
5using OpenSim.Framework.Interfaces; 6using OpenSim.Framework.Interfaces;
6using OpenSim.Framework.Servers; 7using OpenSim.Framework.Servers;
7using OpenSim.Framework.Types; 8using OpenSim.Framework.Types;
@@ -9,8 +10,6 @@ using OpenSim.Framework.Types;
9using OpenSim.Region.Environment.Scenes; 10using OpenSim.Region.Environment.Scenes;
10using OpenSim.Region.Terrain; 11using OpenSim.Region.Terrain;
11using OpenSim.Region.Environment; 12using OpenSim.Region.Environment;
12using OpenSim.Framework.Communications.Caches;
13
14using Avatar=OpenSim.Region.Environment.Scenes.ScenePresence; 13using Avatar=OpenSim.Region.Environment.Scenes.ScenePresence;
15 14
16namespace SimpleApp 15namespace SimpleApp
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs
index 2ff9ff0..d693cce 100644
--- a/OpenSim/Region/Examples/SimpleApp/Program.cs
+++ b/OpenSim/Region/Examples/SimpleApp/Program.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
3using System.IO; 3using System.IO;
4using System.Net; 4using System.Net;
5using libsecondlife; 5using libsecondlife;
6using OpenSim.Framework.Communications.Cache;
6using OpenSim.Framework.Communications.Caches; 7using OpenSim.Framework.Communications.Caches;
7using OpenSim.Framework.Console; 8using OpenSim.Framework.Console;
8using OpenSim.Framework.Types; 9using OpenSim.Framework.Types;