aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectors/Inventory
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectors/Inventory')
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectors/Inventory/HGInventoryBroker.cs40
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectors/Inventory/LocalInventoryServiceConnector.cs33
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectors/Inventory/RemoteInventoryServiceConnector.cs16
3 files changed, 56 insertions, 33 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/HGInventoryBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/HGInventoryBroker.cs
index 3a0011f..03b4873 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/HGInventoryBroker.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/HGInventoryBroker.cs
@@ -84,13 +84,15 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
84 if (localDll == String.Empty) 84 if (localDll == String.Empty)
85 { 85 {
86 m_log.Error("[HG INVENTORY CONNECTOR]: No LocalGridInventoryService named in section InventoryService"); 86 m_log.Error("[HG INVENTORY CONNECTOR]: No LocalGridInventoryService named in section InventoryService");
87 return; 87 //return;
88 throw new Exception("Unable to proceed. Please make sure your ini files in config-include are updated according to .example's");
88 } 89 }
89 90
90 if (HGDll == String.Empty) 91 if (HGDll == String.Empty)
91 { 92 {
92 m_log.Error("[HG INVENTORY CONNECTOR]: No HypergridInventoryService named in section InventoryService"); 93 m_log.Error("[HG INVENTORY CONNECTOR]: No HypergridInventoryService named in section InventoryService");
93 return; 94 //return;
95 throw new Exception("Unable to proceed. Please make sure your ini files in config-include are updated according to .example's");
94 } 96 }
95 97
96 Object[] args = new Object[] { source }; 98 Object[] args = new Object[] { source };
@@ -116,7 +118,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
116 m_LocalGridInventoryURI = inventoryConfig.GetString("InventoryServerURI", string.Empty); 118 m_LocalGridInventoryURI = inventoryConfig.GetString("InventoryServerURI", string.Empty);
117 119
118 m_Enabled = true; 120 m_Enabled = true;
119 m_log.Info("[HG INVENTORY CONNECTOR]: HG asset broker enabled"); 121 m_log.Info("[HG INVENTORY CONNECTOR]: HG inventory broker enabled");
120 } 122 }
121 } 123 }
122 } 124 }
@@ -139,6 +141,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
139 m_Scene = scene; 141 m_Scene = scene;
140 // HACK for now. Ugh! 142 // HACK for now. Ugh!
141 m_UserProfileService = m_Scene.CommsManager.UserProfileCacheService; 143 m_UserProfileService = m_Scene.CommsManager.UserProfileCacheService;
144 // ugh!
145 m_UserProfileService.SetInventoryService(this);
146 scene.CommsManager.UserService.SetInventoryService(this);
147
148 m_Initialized = true;
142 } 149 }
143 150
144 scene.RegisterModuleInterface<IInventoryService>(this); 151 scene.RegisterModuleInterface<IInventoryService>(this);
@@ -153,7 +160,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
153 if (!m_Enabled) 160 if (!m_Enabled)
154 return; 161 return;
155 162
156 m_log.InfoFormat("[INVENTORY CONNECTOR]: Enabled remote inventory for region {0}", scene.RegionInfo.RegionName); 163 m_log.InfoFormat("[INVENTORY CONNECTOR]: Enabled HG inventory for region {0}", scene.RegionInfo.RegionName);
157 164
158 } 165 }
159 166
@@ -161,10 +168,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
161 168
162 public bool CreateUserInventory(UUID userID) 169 public bool CreateUserInventory(UUID userID)
163 { 170 {
164 if (IsLocalGridUser(userID)) 171 return m_GridService.CreateUserInventory(userID);
165 return m_GridService.CreateUserInventory(userID);
166 else
167 return false;
168 } 172 }
169 173
170 public List<InventoryFolderBase> GetInventorySkeleton(UUID userId) 174 public List<InventoryFolderBase> GetInventorySkeleton(UUID userId)
@@ -187,7 +191,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
187 else 191 else
188 { 192 {
189 UUID sessionID = GetSessionID(userID); 193 UUID sessionID = GetSessionID(userID);
190 string uri = "http://" + GetUserInventoryURI(userID) + "/" + userID.ToString(); 194 string uri = GetUserInventoryURI(userID) + "/" + userID.ToString();
191 m_HGService.GetUserInventory(uri, sessionID, callback); 195 m_HGService.GetUserInventory(uri, sessionID, callback);
192 } 196 }
193 } 197 }
@@ -207,7 +211,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
207 else 211 else
208 { 212 {
209 UUID sessionID = GetSessionID(folder.Owner); 213 UUID sessionID = GetSessionID(folder.Owner);
210 string uri = "http://" + GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString(); 214 string uri = GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString();
211 return m_HGService.AddFolder(uri, folder, sessionID); 215 return m_HGService.AddFolder(uri, folder, sessionID);
212 } 216 }
213 } 217 }
@@ -222,7 +226,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
222 else 226 else
223 { 227 {
224 UUID sessionID = GetSessionID(folder.Owner); 228 UUID sessionID = GetSessionID(folder.Owner);
225 string uri = "http://" + GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString(); 229 string uri = GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString();
226 return m_HGService.UpdateFolder(uri, folder, sessionID); 230 return m_HGService.UpdateFolder(uri, folder, sessionID);
227 } 231 }
228 } 232 }
@@ -237,7 +241,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
237 else 241 else
238 { 242 {
239 UUID sessionID = GetSessionID(folder.Owner); 243 UUID sessionID = GetSessionID(folder.Owner);
240 string uri = "http://" + GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString(); 244 string uri = GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString();
241 return m_HGService.MoveFolder(uri, folder, sessionID); 245 return m_HGService.MoveFolder(uri, folder, sessionID);
242 } 246 }
243 } 247 }
@@ -252,7 +256,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
252 else 256 else
253 { 257 {
254 UUID sessionID = GetSessionID(folder.Owner); 258 UUID sessionID = GetSessionID(folder.Owner);
255 string uri = "http://" + GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString(); 259 string uri = GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString();
256 return m_HGService.PurgeFolder(uri, folder, sessionID); 260 return m_HGService.PurgeFolder(uri, folder, sessionID);
257 } 261 }
258 } 262 }
@@ -267,7 +271,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
267 else 271 else
268 { 272 {
269 UUID sessionID = GetSessionID(item.Owner); 273 UUID sessionID = GetSessionID(item.Owner);
270 string uri = "http://" + GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString(); 274 string uri = GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString();
271 return m_HGService.AddItem(uri, item, sessionID); 275 return m_HGService.AddItem(uri, item, sessionID);
272 } 276 }
273 } 277 }
@@ -282,7 +286,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
282 else 286 else
283 { 287 {
284 UUID sessionID = GetSessionID(item.Owner); 288 UUID sessionID = GetSessionID(item.Owner);
285 string uri = "http://" + GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString(); 289 string uri = GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString();
286 return m_HGService.UpdateItem(uri, item, sessionID); 290 return m_HGService.UpdateItem(uri, item, sessionID);
287 } 291 }
288 } 292 }
@@ -297,7 +301,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
297 else 301 else
298 { 302 {
299 UUID sessionID = GetSessionID(item.Owner); 303 UUID sessionID = GetSessionID(item.Owner);
300 string uri = "http://" + GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString(); 304 string uri = GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString();
301 return m_HGService.DeleteItem(uri, item, sessionID); 305 return m_HGService.DeleteItem(uri, item, sessionID);
302 } 306 }
303 } 307 }
@@ -312,7 +316,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
312 else 316 else
313 { 317 {
314 UUID sessionID = GetSessionID(item.Owner); 318 UUID sessionID = GetSessionID(item.Owner);
315 string uri = "http://" + GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString(); 319 string uri = GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString();
316 return m_HGService.QueryItem(uri, item, sessionID); 320 return m_HGService.QueryItem(uri, item, sessionID);
317 } 321 }
318 } 322 }
@@ -327,7 +331,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
327 else 331 else
328 { 332 {
329 UUID sessionID = GetSessionID(folder.Owner); 333 UUID sessionID = GetSessionID(folder.Owner);
330 string uri = "http://" + GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString(); 334 string uri = GetUserInventoryURI(folder.Owner) + "/" + folder.Owner.ToString();
331 return m_HGService.QueryFolder(uri, folder, sessionID); 335 return m_HGService.QueryFolder(uri, folder, sessionID);
332 } 336 }
333 } 337 }
diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/LocalInventoryServiceConnector.cs
index 6b72e9b..ce64d4d 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/LocalInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/LocalInventoryServiceConnector.cs
@@ -27,6 +27,7 @@
27 27
28using log4net; 28using log4net;
29using Nini.Config; 29using Nini.Config;
30
30using System; 31using System;
31using System.Collections.Generic; 32using System.Collections.Generic;
32using System.Reflection; 33using System.Reflection;
@@ -38,10 +39,10 @@ using OpenSim.Region.Framework.Scenes;
38using OpenSim.Services.Interfaces; 39using OpenSim.Services.Interfaces;
39using OpenMetaverse; 40using OpenMetaverse;
40 41
42
41namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory 43namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
42{ 44{
43 public class LocalInventoryServicesConnector : 45 public class LocalInventoryServicesConnector : ISharedRegionModule, IInventoryService
44 ISharedRegionModule, IInventoryService
45 { 46 {
46 private static readonly ILog m_log = 47 private static readonly ILog m_log =
47 LogManager.GetLogger( 48 LogManager.GetLogger(
@@ -50,6 +51,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
50 private IInventoryService m_InventoryService; 51 private IInventoryService m_InventoryService;
51 52
52 private bool m_Enabled = false; 53 private bool m_Enabled = false;
54 private bool m_Initialized = false;
53 55
54 public string Name 56 public string Name
55 { 57 {
@@ -64,15 +66,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
64 string name = moduleConfig.GetString("InventoryServices", ""); 66 string name = moduleConfig.GetString("InventoryServices", "");
65 if (name == Name) 67 if (name == Name)
66 { 68 {
67 IConfig assetConfig = source.Configs["InventoryService"]; 69 IConfig inventoryConfig = source.Configs["InventoryService"];
68 if (assetConfig == null) 70 if (inventoryConfig == null)
69 { 71 {
70 m_log.Error("[INVENTORY CONNECTOR]: InventoryService missing from OpenSim.ini"); 72 m_log.Error("[INVENTORY CONNECTOR]: InventoryService missing from OpenSim.ini");
71 return; 73 return;
72 } 74 }
73 75
74 string serviceDll = assetConfig.GetString("LocalServiceModule", 76 string serviceDll = inventoryConfig.GetString("LocalServiceModule", String.Empty);
75 String.Empty);
76 77
77 if (serviceDll == String.Empty) 78 if (serviceDll == String.Empty)
78 { 79 {
@@ -81,14 +82,15 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
81 } 82 }
82 83
83 Object[] args = new Object[] { source }; 84 Object[] args = new Object[] { source };
84 m_InventoryService = 85 m_log.DebugFormat("[INVENTORY CONNECTOR]: Service dll = {0}", serviceDll);
85 ServerUtils.LoadPlugin<IInventoryService>(serviceDll, 86
86 args); 87 m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(serviceDll, args);
87 88
88 if (m_InventoryService == null) 89 if (m_InventoryService == null)
89 { 90 {
90 m_log.Error("[INVENTORY CONNECTOR]: Can't load asset service"); 91 m_log.Error("[INVENTORY CONNECTOR]: Can't load inventory service");
91 return; 92 //return;
93 throw new Exception("Unable to proceed. Please make sure your ini files in config-include are updated according to .example's");
92 } 94 }
93 95
94 //List<IInventoryDataPlugin> plugins 96 //List<IInventoryDataPlugin> plugins
@@ -121,7 +123,16 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
121 if (!m_Enabled) 123 if (!m_Enabled)
122 return; 124 return;
123 125
126 if (!m_Initialized)
127 {
128 // ugh!
129 scene.CommsManager.UserProfileCacheService.SetInventoryService(this);
130 scene.CommsManager.UserService.SetInventoryService(this);
131 m_Initialized = true;
132 }
133
124 scene.RegisterModuleInterface<IInventoryService>(this); 134 scene.RegisterModuleInterface<IInventoryService>(this);
135
125 } 136 }
126 137
127 public void RemoveRegion(Scene scene) 138 public void RemoveRegion(Scene scene)
diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/RemoteInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/RemoteInventoryServiceConnector.cs
index b695fce..cd13c3d 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/RemoteInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectors/Inventory/RemoteInventoryServiceConnector.cs
@@ -40,12 +40,10 @@ using OpenMetaverse;
40 40
41namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory 41namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
42{ 42{
43 public class RemoteInventoryServicesConnector : 43 public class RemoteInventoryServicesConnector : ISharedRegionModule, IInventoryService
44 ISharedRegionModule, IInventoryService
45 { 44 {
46 private static readonly ILog m_log = 45 private static readonly ILog m_log =
47 LogManager.GetLogger( 46 LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48 MethodBase.GetCurrentMethod().DeclaringType);
49 47
50 private bool m_Enabled = false; 48 private bool m_Enabled = false;
51 private bool m_Initialized = false; 49 private bool m_Initialized = false;
@@ -57,6 +55,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
57 get { return "RemoteInventoryServicesConnector"; } 55 get { return "RemoteInventoryServicesConnector"; }
58 } 56 }
59 57
58 public RemoteInventoryServicesConnector()
59 {
60 }
61
60 public RemoteInventoryServicesConnector(IConfigSource source) 62 public RemoteInventoryServicesConnector(IConfigSource source)
61 { 63 {
62 Init(source); 64 Init(source);
@@ -100,7 +102,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Inventory
100 return; 102 return;
101 103
102 if (!m_Initialized) 104 if (!m_Initialized)
105 {
103 m_Scene = scene; 106 m_Scene = scene;
107 // ugh!
108 scene.CommsManager.UserProfileCacheService.SetInventoryService(this);
109 scene.CommsManager.UserService.SetInventoryService(this);
110 m_Initialized = true;
111 }
104 112
105 scene.RegisterModuleInterface<IInventoryService>(this); 113 scene.RegisterModuleInterface<IInventoryService>(this);
106 } 114 }