aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs16
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs23
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs10
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs10
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs9
-rw-r--r--OpenSim/Server/Handlers/Inventory/InventoryServerInConnector.cs10
-rw-r--r--OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs41
-rw-r--r--OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs41
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs31
-rw-r--r--OpenSim/Services/HypergridService/HGInventoryService.cs6
-rw-r--r--OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs53
-rw-r--r--OpenSim/Services/Interfaces/IInventoryService.cs17
-rw-r--r--OpenSim/Services/InventoryService/XInventoryService.cs28
13 files changed, 2 insertions, 293 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs b/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs
index 49589fd..01814a1 100644
--- a/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs
+++ b/OpenSim/Region/CoreModules/Framework/Library/LocalInventoryService.cs
@@ -142,22 +142,6 @@ namespace OpenSim.Region.CoreModules.Framework.Library
142 public List<InventoryFolderBase> GetInventorySkeleton(UUID userId) { return null; } 142 public List<InventoryFolderBase> GetInventorySkeleton(UUID userId) { return null; }
143 143
144 /// <summary> 144 /// <summary>
145 /// Synchronous inventory fetch.
146 /// </summary>
147 /// <param name="userID"></param>
148 /// <returns></returns>
149 public InventoryCollection GetUserInventory(UUID userID) { return null; }
150
151 /// <summary>
152 /// Request the inventory for a user. This is an asynchronous operation that will call the callback when the
153 /// inventory has been received
154 /// </summary>
155 /// <param name="userID"></param>
156 /// <param name="callback"></param>
157 public void GetUserInventory(UUID userID, InventoryReceiptCallback callback) { }
158
159
160 /// <summary>
161 /// Gets the user folder for the given folder-type 145 /// Gets the user folder for the given folder-type
162 /// </summary> 146 /// </summary>
163 /// <param name="userID"></param> 147 /// <param name="userID"></param>
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
index 77a3c82..fd41187 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs
@@ -316,29 +316,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
316 return connector.GetInventorySkeleton(userID); 316 return connector.GetInventorySkeleton(userID);
317 } 317 }
318 318
319 public InventoryCollection GetUserInventory(UUID userID)
320 {
321 string invURL = GetInventoryServiceURL(userID);
322 m_log.DebugFormat("[HG INVENTORY CONNECTOR]: GetUserInventory for {0} {1}", userID, invURL);
323
324 if (invURL == null) // not there, forward to local inventory connector to resolve
325 return m_LocalGridInventoryService.GetUserInventory(userID);
326
327 InventoryCollection c = m_Cache.GetUserInventory(userID);
328 if (c != null)
329 return c;
330
331 IInventoryService connector = GetConnector(invURL);
332 c = connector.GetUserInventory(userID);
333
334 m_Cache.Cache(userID, c);
335 return c;
336 }
337
338 public void GetUserInventory(UUID userID, InventoryReceiptCallback callback)
339 {
340 }
341
342 public InventoryFolderBase GetRootFolder(UUID userID) 319 public InventoryFolderBase GetRootFolder(UUID userID)
343 { 320 {
344 //m_log.DebugFormat("[HG INVENTORY CONNECTOR]: GetRootFolder for {0}", userID); 321 //m_log.DebugFormat("[HG INVENTORY CONNECTOR]: GetRootFolder for {0}", userID);
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs
index 2fc8ee3..499ca5e 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs
@@ -1,4 +1,4 @@
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 *
@@ -99,14 +99,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
99 m_Inventories.AddOrUpdate(userID, inv, 120); 99 m_Inventories.AddOrUpdate(userID, inv, 120);
100 } 100 }
101 101
102 public InventoryCollection GetUserInventory(UUID userID)
103 {
104 InventoryCollection inv = null;
105 if (m_Inventories.TryGetValue(userID, out inv))
106 return inv;
107 return null;
108 }
109
110 public InventoryCollection GetFolderContent(UUID userID, UUID folderID) 102 public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
111 { 103 {
112 InventoryCollection inv = null; 104 InventoryCollection inv = null;
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
index 6832b1f..f80fab3 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
@@ -164,16 +164,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
164 return m_InventoryService.GetInventorySkeleton(userId); 164 return m_InventoryService.GetInventorySkeleton(userId);
165 } 165 }
166 166
167 public InventoryCollection GetUserInventory(UUID id)
168 {
169 return m_InventoryService.GetUserInventory(id);
170 }
171
172 public void GetUserInventory(UUID userID, InventoryReceiptCallback callback)
173 {
174 m_InventoryService.GetUserInventory(userID, callback);
175 }
176
177 public InventoryFolderBase GetRootFolder(UUID userID) 167 public InventoryFolderBase GetRootFolder(UUID userID)
178 { 168 {
179 return m_InventoryService.GetRootFolder(userID); 169 return m_InventoryService.GetRootFolder(userID);
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
index 7f78076..166e4a1 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
@@ -172,15 +172,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
172 return m_RemoteConnector.GetInventorySkeleton(userId); 172 return m_RemoteConnector.GetInventorySkeleton(userId);
173 } 173 }
174 174
175 public InventoryCollection GetUserInventory(UUID userID)
176 {
177 return m_RemoteConnector.GetUserInventory(userID);
178 }
179
180 public void GetUserInventory(UUID userID, InventoryReceiptCallback callback)
181 {
182 }
183
184 public InventoryFolderBase GetRootFolder(UUID userID) 175 public InventoryFolderBase GetRootFolder(UUID userID)
185 { 176 {
186 return m_RemoteConnector.GetRootFolder(userID); 177 return m_RemoteConnector.GetRootFolder(userID);
diff --git a/OpenSim/Server/Handlers/Inventory/InventoryServerInConnector.cs b/OpenSim/Server/Handlers/Inventory/InventoryServerInConnector.cs
index 1d422a7..b295446 100644
--- a/OpenSim/Server/Handlers/Inventory/InventoryServerInConnector.cs
+++ b/OpenSim/Server/Handlers/Inventory/InventoryServerInConnector.cs
@@ -86,10 +86,6 @@ namespace OpenSim.Server.Handlers.Inventory
86 protected virtual void AddHttpHandlers(IHttpServer m_httpServer) 86 protected virtual void AddHttpHandlers(IHttpServer m_httpServer)
87 { 87 {
88 m_httpServer.AddStreamHandler( 88 m_httpServer.AddStreamHandler(
89 new RestDeserialiseSecureHandler<Guid, InventoryCollection>(
90 "POST", "/GetInventory/", GetUserInventory, CheckAuthSession));
91
92 m_httpServer.AddStreamHandler(
93 new RestDeserialiseSecureHandler<Guid, List<InventoryFolderBase>>( 89 new RestDeserialiseSecureHandler<Guid, List<InventoryFolderBase>>(
94 "POST", "/SystemFolders/", GetSystemFolders, CheckAuthSession)); 90 "POST", "/SystemFolders/", GetSystemFolders, CheckAuthSession));
95 91
@@ -178,12 +174,6 @@ namespace OpenSim.Server.Handlers.Inventory
178 174
179 #region Wrappers for converting the Guid parameter 175 #region Wrappers for converting the Guid parameter
180 176
181 public InventoryCollection GetUserInventory(Guid guid)
182 {
183 UUID userID = new UUID(guid);
184 return m_InventoryService.GetUserInventory(userID);
185 }
186
187 public List<InventoryFolderBase> GetSystemFolders(Guid guid) 177 public List<InventoryFolderBase> GetSystemFolders(Guid guid)
188 { 178 {
189 UUID userID = new UUID(guid); 179 UUID userID = new UUID(guid);
diff --git a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
index 5df3dda..ce975a8 100644
--- a/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
+++ b/OpenSim/Server/Handlers/Inventory/XInventoryInConnector.cs
@@ -114,8 +114,6 @@ namespace OpenSim.Server.Handlers.Asset
114 return HandleCreateUserInventory(request); 114 return HandleCreateUserInventory(request);
115 case "GETINVENTORYSKELETON": 115 case "GETINVENTORYSKELETON":
116 return HandleGetInventorySkeleton(request); 116 return HandleGetInventorySkeleton(request);
117 case "GETUSERINVENTORY":
118 return HandleGetUserInventory(request);
119 case "GETROOTFOLDER": 117 case "GETROOTFOLDER":
120 return HandleGetRootFolder(request); 118 return HandleGetRootFolder(request);
121 case "GETFOLDERFORTYPE": 119 case "GETFOLDERFORTYPE":
@@ -250,45 +248,6 @@ namespace OpenSim.Server.Handlers.Asset
250 return Util.UTF8NoBomEncoding.GetBytes(xmlString); 248 return Util.UTF8NoBomEncoding.GetBytes(xmlString);
251 } 249 }
252 250
253 byte[] HandleGetUserInventory(Dictionary<string, object> request)
254 {
255 Dictionary<string, object> result = new Dictionary<string, object>();
256 UUID principal = UUID.Zero;
257 UUID.TryParse(request["PRINCIPAL"].ToString(), out principal);
258
259 InventoryCollection icoll = m_InventoryService.GetUserInventory(principal);
260 if (icoll != null)
261 {
262 Dictionary<string, object> folders = new Dictionary<string, object>();
263 int i = 0;
264 if (icoll.Folders != null)
265 {
266 foreach (InventoryFolderBase f in icoll.Folders)
267 {
268 folders["folder_" + i.ToString()] = EncodeFolder(f);
269 i++;
270 }
271 result["FOLDERS"] = folders;
272 }
273 if (icoll.Items != null)
274 {
275 i = 0;
276 Dictionary<string, object> items = new Dictionary<string, object>();
277 foreach (InventoryItemBase it in icoll.Items)
278 {
279 items["item_" + i.ToString()] = EncodeItem(it);
280 i++;
281 }
282 result["ITEMS"] = items;
283 }
284 }
285
286 string xmlString = ServerUtils.BuildXmlResponse(result);
287
288 //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString);
289 return Util.UTF8NoBomEncoding.GetBytes(xmlString);
290 }
291
292 byte[] HandleGetRootFolder(Dictionary<string,object> request) 251 byte[] HandleGetRootFolder(Dictionary<string,object> request)
293 { 252 {
294 Dictionary<string,object> result = new Dictionary<string,object>(); 253 Dictionary<string,object> result = new Dictionary<string,object>();
diff --git a/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs b/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
index 36d4ae2..d258293 100644
--- a/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
+++ b/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
@@ -484,45 +484,6 @@ namespace OpenSim.Services.Connectors
484 return 0; 484 return 0;
485 } 485 }
486 486
487 public InventoryCollection GetUserInventory(UUID principalID)
488 {
489 InventoryCollection inventory = new InventoryCollection();
490 inventory.Folders = new List<InventoryFolderBase>();
491 inventory.Items = new List<InventoryItemBase>();
492 inventory.UserID = principalID;
493
494 try
495 {
496 Dictionary<string, object> ret = MakeRequest("GETUSERINVENTORY",
497 new Dictionary<string, object> {
498 { "PRINCIPAL", principalID.ToString() }
499 });
500
501 if (!CheckReturn(ret))
502 return null;
503
504 Dictionary<string, object> folders =
505 (Dictionary<string, object>)ret["FOLDERS"];
506 Dictionary<string, object> items =
507 (Dictionary<string, object>)ret["ITEMS"];
508
509 foreach (Object o in folders.Values) // getting the values directly, we don't care about the keys folder_i
510 inventory.Folders.Add(BuildFolder((Dictionary<string, object>)o));
511 foreach (Object o in items.Values) // getting the values directly, we don't care about the keys item_i
512 inventory.Items.Add(BuildItem((Dictionary<string, object>)o));
513 }
514 catch (Exception e)
515 {
516 m_log.Error("[XINVENTORY SERVICES CONNECTOR]: Exception in GetUserInventory: ", e);
517 }
518
519 return inventory;
520 }
521
522 public void GetUserInventory(UUID principalID, InventoryReceiptCallback callback)
523 {
524 }
525
526 public bool HasInventoryForUser(UUID principalID) 487 public bool HasInventoryForUser(UUID principalID)
527 { 488 {
528 return false; 489 return false;
@@ -607,4 +568,4 @@ namespace OpenSim.Services.Connectors
607 return item; 568 return item;
608 } 569 }
609 } 570 }
610} \ No newline at end of file 571}
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
index 97eaabe..9ded1c4 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
@@ -197,37 +197,6 @@ namespace OpenSim.Services.Connectors.SimianGrid
197 } 197 }
198 198
199 /// <summary> 199 /// <summary>
200 /// Synchronous inventory fetch.
201 /// </summary>
202 /// <param name="userID"></param>
203 /// <returns></returns>
204 [Obsolete]
205 public InventoryCollection GetUserInventory(UUID userID)
206 {
207 m_log.Error("[SIMIAN INVENTORY CONNECTOR]: Obsolete GetUserInventory called for " + userID);
208
209 InventoryCollection inventory = new InventoryCollection();
210 inventory.UserID = userID;
211 inventory.Folders = new List<InventoryFolderBase>();
212 inventory.Items = new List<InventoryItemBase>();
213
214 return inventory;
215 }
216
217 /// <summary>
218 /// Request the inventory for a user. This is an asynchronous operation that will call the callback when the
219 /// inventory has been received
220 /// </summary>
221 /// <param name="userID"></param>
222 /// <param name="callback"></param>
223 [Obsolete]
224 public void GetUserInventory(UUID userID, InventoryReceiptCallback callback)
225 {
226 m_log.Error("[SIMIAN INVENTORY CONNECTOR]: Obsolete GetUserInventory called for " + userID);
227 callback(new List<InventoryFolderImpl>(0), new List<InventoryItemBase>(0));
228 }
229
230 /// <summary>
231 /// Retrieve the root inventory folder for the given user. 200 /// Retrieve the root inventory folder for the given user.
232 /// </summary> 201 /// </summary>
233 /// <param name="userID"></param> 202 /// <param name="userID"></param>
diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs
index 3233caf..2c63240 100644
--- a/OpenSim/Services/HypergridService/HGInventoryService.cs
+++ b/OpenSim/Services/HypergridService/HGInventoryService.cs
@@ -103,12 +103,6 @@ namespace OpenSim.Services.HypergridService
103 return new List<InventoryFolderBase>(); 103 return new List<InventoryFolderBase>();
104 } 104 }
105 105
106 public override InventoryCollection GetUserInventory(UUID userID)
107 {
108 // NOGO for this inventory service
109 return null;
110 }
111
112 public override InventoryFolderBase GetRootFolder(UUID principalID) 106 public override InventoryFolderBase GetRootFolder(UUID principalID)
113 { 107 {
114 //m_log.DebugFormat("[HG INVENTORY SERVICE]: GetRootFolder for {0}", principalID); 108 //m_log.DebugFormat("[HG INVENTORY SERVICE]: GetRootFolder for {0}", principalID);
diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
index 1608039..8269d36 100644
--- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
+++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
@@ -137,59 +137,6 @@ namespace OpenSim.Services.HypergridService
137 return folders; 137 return folders;
138 } 138 }
139 139
140 public override InventoryCollection GetUserInventory(UUID userID)
141 {
142 m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: Get Suitcase inventory for user {0}", userID);
143
144 InventoryCollection userInventory = new InventoryCollection();
145 userInventory.UserID = userID;
146 userInventory.Folders = new List<InventoryFolderBase>();
147 userInventory.Items = new List<InventoryItemBase>();
148
149 XInventoryFolder suitcase = GetSuitcaseXFolder(userID);
150
151 if (suitcase == null)
152 {
153 m_log.WarnFormat("[HG SUITCASE INVENTORY SERVICE]: Found no suitcase folder for user {0} when looking for user inventory", userID);
154 return null;
155 }
156
157 List<XInventoryFolder> tree = GetFolderTree(userID, suitcase.folderID);
158 if (tree == null || (tree != null && tree.Count == 0))
159 {
160 SetAsNormalFolder(suitcase);
161 userInventory.Folders.Add(ConvertToOpenSim(suitcase));
162 return userInventory;
163 }
164
165 List<InventoryItemBase> items;
166 foreach (XInventoryFolder f in tree)
167 {
168 // Add the items of this subfolder
169 items = GetFolderItems(userID, f.folderID);
170 if (items != null && items.Count > 0)
171 {
172 userInventory.Items.AddRange(items);
173 }
174
175 // Add the folder itself
176 userInventory.Folders.Add(ConvertToOpenSim(f));
177 }
178
179 items = GetFolderItems(userID, suitcase.folderID);
180 if (items != null && items.Count > 0)
181 {
182 userInventory.Items.AddRange(items);
183 }
184
185 SetAsNormalFolder(suitcase);
186 userInventory.Folders.Add(ConvertToOpenSim(suitcase));
187
188 m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: GetUserInventory for user {0} returning {1} folders and {2} items",
189 userID, userInventory.Folders.Count, userInventory.Items.Count);
190 return userInventory;
191 }
192
193 public override InventoryFolderBase GetRootFolder(UUID principalID) 140 public override InventoryFolderBase GetRootFolder(UUID principalID)
194 { 141 {
195 m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: GetRootFolder for {0}", principalID); 142 m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: GetRootFolder for {0}", principalID);
diff --git a/OpenSim/Services/Interfaces/IInventoryService.cs b/OpenSim/Services/Interfaces/IInventoryService.cs
index 36634a3..2805356 100644
--- a/OpenSim/Services/Interfaces/IInventoryService.cs
+++ b/OpenSim/Services/Interfaces/IInventoryService.cs
@@ -55,23 +55,6 @@ namespace OpenSim.Services.Interfaces
55 List<InventoryFolderBase> GetInventorySkeleton(UUID userId); 55 List<InventoryFolderBase> GetInventorySkeleton(UUID userId);
56 56
57 /// <summary> 57 /// <summary>
58 /// Synchronous inventory fetch.
59 /// </summary>
60 /// <param name="userID"></param>
61 /// <returns></returns>
62 [Obsolete]
63 InventoryCollection GetUserInventory(UUID userID);
64
65 /// <summary>
66 /// Request the inventory for a user. This is an asynchronous operation that will call the callback when the
67 /// inventory has been received
68 /// </summary>
69 /// <param name="userID"></param>
70 /// <param name="callback"></param>
71 [Obsolete]
72 void GetUserInventory(UUID userID, InventoryReceiptCallback callback);
73
74 /// <summary>
75 /// Retrieve the root inventory folder for the given user. 58 /// Retrieve the root inventory folder for the given user.
76 /// </summary> 59 /// </summary>
77 /// <param name="userID"></param> 60 /// <param name="userID"></param>
diff --git a/OpenSim/Services/InventoryService/XInventoryService.cs b/OpenSim/Services/InventoryService/XInventoryService.cs
index 7bad4b0..3bee433 100644
--- a/OpenSim/Services/InventoryService/XInventoryService.cs
+++ b/OpenSim/Services/InventoryService/XInventoryService.cs
@@ -615,34 +615,6 @@ namespace OpenSim.Services.InventoryService
615 return m_Database.GetAssetPermissions(principalID, assetID); 615 return m_Database.GetAssetPermissions(principalID, assetID);
616 } 616 }
617 617
618 public virtual InventoryCollection GetUserInventory(UUID userID)
619 {
620 InventoryCollection userInventory = new InventoryCollection();
621 userInventory.UserID = userID;
622 userInventory.Folders = new List<InventoryFolderBase>();
623 userInventory.Items = new List<InventoryItemBase>();
624
625 List<InventoryFolderBase> skel = GetInventorySkeleton(userID);
626 if (skel != null)
627 {
628 foreach (InventoryFolderBase f in skel)
629 {
630 InventoryCollection c = GetFolderContent(userID, f.ID);
631 if (c != null && c.Items != null && c.Items.Count > 0)
632 userInventory.Items.AddRange(c.Items);
633 if (c != null && c.Folders != null && c.Folders.Count > 0)
634 userInventory.Folders.AddRange(c.Folders);
635 }
636 }
637 m_log.DebugFormat("[XINVENTORY SERVICE]: GetUserInventory for user {0} returning {1} folders and {2} items",
638 userID, userInventory.Folders.Count, userInventory.Items.Count);
639 return userInventory;
640 }
641
642 public void GetUserInventory(UUID userID, InventoryReceiptCallback callback)
643 {
644 }
645
646 // Unused. 618 // Unused.
647 // 619 //
648 public bool HasInventoryForUser(UUID userID) 620 public bool HasInventoryForUser(UUID userID)