aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/InventoryServiceBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Communications/InventoryServiceBase.cs')
-rw-r--r--OpenSim/Framework/Communications/InventoryServiceBase.cs122
1 files changed, 61 insertions, 61 deletions
diff --git a/OpenSim/Framework/Communications/InventoryServiceBase.cs b/OpenSim/Framework/Communications/InventoryServiceBase.cs
index e81d8c4..dffeed3 100644
--- a/OpenSim/Framework/Communications/InventoryServiceBase.cs
+++ b/OpenSim/Framework/Communications/InventoryServiceBase.cs
@@ -40,13 +40,13 @@ namespace OpenSim.Framework.Communications
40 /// </summary> 40 /// </summary>
41 public abstract class InventoryServiceBase : IInventoryServices 41 public abstract class InventoryServiceBase : IInventoryServices
42 { 42 {
43 private static readonly ILog m_log 43 private static readonly ILog m_log
44 = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 44 = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
45 45
46 protected Dictionary<string, IInventoryData> m_plugins = new Dictionary<string, IInventoryData>(); 46 protected Dictionary<string, IInventoryData> m_plugins = new Dictionary<string, IInventoryData>();
47 47
48 #region Plugin methods 48 #region Plugin methods
49 49
50 /// <summary> 50 /// <summary>
51 /// Adds a new user server plugin - plugins will be requested in the order they were loaded. 51 /// Adds a new user server plugin - plugins will be requested in the order they were loaded.
52 /// </summary> 52 /// </summary>
@@ -76,42 +76,42 @@ namespace OpenSim.Framework.Communications
76 } 76 }
77 } 77 }
78 } 78 }
79 79
80 #endregion 80 #endregion
81 81
82 #region IInventoryServices methods 82 #region IInventoryServices methods
83 83
84 // See IInventoryServices 84 // See IInventoryServices
85 public List<InventoryFolderBase> GetInventorySkeleton(LLUUID userId) 85 public List<InventoryFolderBase> GetInventorySkeleton(LLUUID userId)
86 { 86 {
87// m_log.DebugFormat("[AGENT INVENTORY]: Getting inventory skeleton for {0}", userId); 87// m_log.DebugFormat("[AGENT INVENTORY]: Getting inventory skeleton for {0}", userId);
88 88
89 InventoryFolderBase rootFolder = RequestRootFolder(userId); 89 InventoryFolderBase rootFolder = RequestRootFolder(userId);
90 90
91 // Agent has no inventory structure yet. 91 // Agent has no inventory structure yet.
92 if (null == rootFolder) 92 if (null == rootFolder)
93 { 93 {
94 return null; 94 return null;
95 } 95 }
96 96
97 List<InventoryFolderBase> userFolders = new List<InventoryFolderBase>(); 97 List<InventoryFolderBase> userFolders = new List<InventoryFolderBase>();
98 98
99 userFolders.Add(rootFolder); 99 userFolders.Add(rootFolder);
100 100
101 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins) 101 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins)
102 { 102 {
103 IList<InventoryFolderBase> folders = plugin.Value.getFolderHierarchy(rootFolder.ID); 103 IList<InventoryFolderBase> folders = plugin.Value.getFolderHierarchy(rootFolder.ID);
104 userFolders.AddRange(folders); 104 userFolders.AddRange(folders);
105 } 105 }
106 106
107// foreach (InventoryFolderBase folder in userFolders) 107// foreach (InventoryFolderBase folder in userFolders)
108// { 108// {
109// m_log.DebugFormat("[AGENT INVENTORY]: Got folder {0} {1}", folder.name, folder.folderID); 109// m_log.DebugFormat("[AGENT INVENTORY]: Got folder {0} {1}", folder.name, folder.folderID);
110// } 110// }
111 111
112 return userFolders; 112 return userFolders;
113 } 113 }
114 114
115 // See IInventoryServices 115 // See IInventoryServices
116 public virtual bool HasInventoryForUser(LLUUID userID) 116 public virtual bool HasInventoryForUser(LLUUID userID)
117 { 117 {
@@ -133,31 +133,31 @@ namespace OpenSim.Framework.Communications
133 public bool CreateNewUserInventory(LLUUID user) 133 public bool CreateNewUserInventory(LLUUID user)
134 { 134 {
135 InventoryFolderBase existingRootFolder = RequestRootFolder(user); 135 InventoryFolderBase existingRootFolder = RequestRootFolder(user);
136 136
137 if (null != existingRootFolder) 137 if (null != existingRootFolder)
138 { 138 {
139 m_log.WarnFormat( 139 m_log.WarnFormat(
140 "[AGENT INVENTORY]: Did not create a new inventory for user {0} since they already have " 140 "[AGENT INVENTORY]: Did not create a new inventory for user {0} since they already have "
141 + "a root inventory folder with id {1}", 141 + "a root inventory folder with id {1}",
142 user, existingRootFolder.ID); 142 user, existingRootFolder.ID);
143 } 143 }
144 else 144 else
145 { 145 {
146 UsersInventory inven = new UsersInventory(); 146 UsersInventory inven = new UsersInventory();
147 inven.CreateNewInventorySet(user); 147 inven.CreateNewInventorySet(user);
148 AddNewInventorySet(inven); 148 AddNewInventorySet(inven);
149 149
150 return true; 150 return true;
151 } 151 }
152 152
153 return false; 153 return false;
154 } 154 }
155 155
156 // See IInventoryServices 156 // See IInventoryServices
157 public abstract void RequestInventoryForUser(LLUUID userID, InventoryReceiptCallback callback); 157 public abstract void RequestInventoryForUser(LLUUID userID, InventoryReceiptCallback callback);
158 158
159 #endregion 159 #endregion
160 160
161 #region Methods used by GridInventoryService 161 #region Methods used by GridInventoryService
162 162
163 public List<InventoryFolderBase> RequestSubFolders(LLUUID parentFolderID) 163 public List<InventoryFolderBase> RequestSubFolders(LLUUID parentFolderID)
@@ -180,21 +180,21 @@ namespace OpenSim.Framework.Communications
180 } 180 }
181 return itemsList; 181 return itemsList;
182 } 182 }
183 183
184 #endregion 184 #endregion
185 185
186 // See IInventoryServices 186 // See IInventoryServices
187 public bool AddFolder(InventoryFolderBase folder) 187 public bool AddFolder(InventoryFolderBase folder)
188 { 188 {
189 m_log.DebugFormat( 189 m_log.DebugFormat(
190 "[AGENT INVENTORY]: Adding folder {0} {1} to folder {2}", folder.Name, folder.ID, folder.ParentID); 190 "[AGENT INVENTORY]: Adding folder {0} {1} to folder {2}", folder.Name, folder.ID, folder.ParentID);
191 191
192 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins) 192 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins)
193 { 193 {
194 plugin.Value.addInventoryFolder(folder); 194 plugin.Value.addInventoryFolder(folder);
195 } 195 }
196 196
197 // FIXME: Should return false on failure 197 // FIXME: Should return false on failure
198 return true; 198 return true;
199 } 199 }
200 200
@@ -203,14 +203,14 @@ namespace OpenSim.Framework.Communications
203 { 203 {
204 m_log.DebugFormat( 204 m_log.DebugFormat(
205 "[AGENT INVENTORY]: Moving folder {0} {1} to folder {2}", folder.Name, folder.ID, folder.ParentID); 205 "[AGENT INVENTORY]: Moving folder {0} {1} to folder {2}", folder.Name, folder.ID, folder.ParentID);
206 206
207 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins) 207 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins)
208 { 208 {
209 plugin.Value.moveInventoryFolder(folder); 209 plugin.Value.moveInventoryFolder(folder);
210 } 210 }
211 211
212 // FIXME: Should return false on failure 212 // FIXME: Should return false on failure
213 return true; 213 return true;
214 } 214 }
215 215
216 // See IInventoryServices 216 // See IInventoryServices
@@ -218,14 +218,14 @@ namespace OpenSim.Framework.Communications
218 { 218 {
219 m_log.DebugFormat( 219 m_log.DebugFormat(
220 "[AGENT INVENTORY]: Adding item {0} {1} to folder {2}", item.Name, item.ID, item.Folder); 220 "[AGENT INVENTORY]: Adding item {0} {1} to folder {2}", item.Name, item.ID, item.Folder);
221 221
222 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins) 222 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins)
223 { 223 {
224 plugin.Value.addInventoryItem(item); 224 plugin.Value.addInventoryItem(item);
225 } 225 }
226 226
227 // FIXME: Should return false on failure 227 // FIXME: Should return false on failure
228 return true; 228 return true;
229 } 229 }
230 230
231 // See IInventoryServices 231 // See IInventoryServices
@@ -233,14 +233,14 @@ namespace OpenSim.Framework.Communications
233 { 233 {
234 m_log.InfoFormat( 234 m_log.InfoFormat(
235 "[AGENT INVENTORY]: Updating item {0} {1} in folder {2}", item.Name, item.ID, item.Folder); 235 "[AGENT INVENTORY]: Updating item {0} {1} in folder {2}", item.Name, item.ID, item.Folder);
236 236
237 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins) 237 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins)
238 { 238 {
239 plugin.Value.updateInventoryItem(item); 239 plugin.Value.updateInventoryItem(item);
240 } 240 }
241 241
242 // FIXME: Should return false on failure 242 // FIXME: Should return false on failure
243 return true; 243 return true;
244 } 244 }
245 245
246 // See IInventoryServices 246 // See IInventoryServices
@@ -248,19 +248,19 @@ namespace OpenSim.Framework.Communications
248 { 248 {
249 m_log.InfoFormat( 249 m_log.InfoFormat(
250 "[AGENT INVENTORY]: Deleting item {0} {1} from folder {2}", item.Name, item.ID, item.Folder); 250 "[AGENT INVENTORY]: Deleting item {0} {1} from folder {2}", item.Name, item.ID, item.Folder);
251 251
252 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins) 252 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins)
253 { 253 {
254 plugin.Value.deleteInventoryItem(item.ID); 254 plugin.Value.deleteInventoryItem(item.ID);
255 } 255 }
256 256
257 // FIXME: Should return false on failure 257 // FIXME: Should return false on failure
258 return true; 258 return true;
259 } 259 }
260 260
261 /// <summary> 261 /// <summary>
262 /// Purge a folder of all items items and subfolders. 262 /// Purge a folder of all items items and subfolders.
263 /// 263 ///
264 /// FIXME: Really nasty in a sense, because we have to query the database to get information we may 264 /// FIXME: Really nasty in a sense, because we have to query the database to get information we may
265 /// already know... Needs heavy refactoring. 265 /// already know... Needs heavy refactoring.
266 /// </summary> 266 /// </summary>
@@ -269,13 +269,13 @@ namespace OpenSim.Framework.Communications
269 { 269 {
270 m_log.DebugFormat( 270 m_log.DebugFormat(
271 "[AGENT INVENTORY]: Purging folder {0} {1} of its contents", folder.Name, folder.ID); 271 "[AGENT INVENTORY]: Purging folder {0} {1} of its contents", folder.Name, folder.ID);
272 272
273 List<InventoryFolderBase> subFolders = RequestSubFolders(folder.ID); 273 List<InventoryFolderBase> subFolders = RequestSubFolders(folder.ID);
274 274
275 foreach (InventoryFolderBase subFolder in subFolders) 275 foreach (InventoryFolderBase subFolder in subFolders)
276 { 276 {
277// m_log.DebugFormat("[AGENT INVENTORY]: Deleting folder {0} {1}", subFolder.Name, subFolder.ID); 277// m_log.DebugFormat("[AGENT INVENTORY]: Deleting folder {0} {1}", subFolder.Name, subFolder.ID);
278 278
279 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins) 279 foreach (KeyValuePair<string, IInventoryData> plugin in m_plugins)
280 { 280 {
281 plugin.Value.deleteInventoryFolder(subFolder.ID); 281 plugin.Value.deleteInventoryFolder(subFolder.ID);
@@ -288,17 +288,17 @@ namespace OpenSim.Framework.Communications
288 { 288 {
289 DeleteItem(item); 289 DeleteItem(item);
290 } 290 }
291 291
292 // FIXME: Should return false on failure 292 // FIXME: Should return false on failure
293 return true; 293 return true;
294 } 294 }
295 295
296 private void AddNewInventorySet(UsersInventory inventory) 296 private void AddNewInventorySet(UsersInventory inventory)
297 { 297 {
298 foreach (InventoryFolderBase folder in inventory.Folders.Values) 298 foreach (InventoryFolderBase folder in inventory.Folders.Values)
299 { 299 {
300 AddFolder(folder); 300 AddFolder(folder);
301 } 301 }
302 } 302 }
303 303
304 /// <summary> 304 /// <summary>
@@ -340,7 +340,7 @@ namespace OpenSim.Framework.Communications
340 folder.Type = (short)AssetType.Bodypart; 340 folder.Type = (short)AssetType.Bodypart;
341 folder.Version = 1; 341 folder.Version = 1;
342 Folders.Add(folder.ID, folder); 342 Folders.Add(folder.ID, folder);
343 343
344 folder = new InventoryFolderBase(); 344 folder = new InventoryFolderBase();
345 folder.ParentID = rootFolder; 345 folder.ParentID = rootFolder;
346 folder.Owner = user; 346 folder.Owner = user;
@@ -348,7 +348,7 @@ namespace OpenSim.Framework.Communications
348 folder.Name = "Calling Cards"; 348 folder.Name = "Calling Cards";
349 folder.Type = (short)AssetType.CallingCard; 349 folder.Type = (short)AssetType.CallingCard;
350 folder.Version = 1; 350 folder.Version = 1;
351 Folders.Add(folder.ID, folder); 351 Folders.Add(folder.ID, folder);
352 352
353 folder = new InventoryFolderBase(); 353 folder = new InventoryFolderBase();
354 folder.ParentID = rootFolder; 354 folder.ParentID = rootFolder;