aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Communications/Cache/CachedUserInfo.cs')
-rw-r--r--OpenSim/Framework/Communications/Cache/CachedUserInfo.cs170
1 files changed, 50 insertions, 120 deletions
diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
index 46387ab..f38a109 100644
--- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
+++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
@@ -87,24 +87,6 @@ namespace OpenSim.Framework.Communications.Cache
87 private IDictionary<LLUUID, IList<InventoryFolderImpl>> pendingCategorizationFolders 87 private IDictionary<LLUUID, IList<InventoryFolderImpl>> pendingCategorizationFolders
88 = new Dictionary<LLUUID, IList<InventoryFolderImpl>>(); 88 = new Dictionary<LLUUID, IList<InventoryFolderImpl>>();
89 89
90 private string m_inventoryHost
91 {
92 get
93 {
94 if (m_userProfile != null)
95 {
96 if (! String.IsNullOrEmpty(m_userProfile.UserAssetURI))
97 {
98 Uri uri = new Uri(m_userProfile.UserInventoryURI);
99 return uri.Host;
100 }
101 }
102
103 return "";
104 }
105
106 }
107
108 /// <summary> 90 /// <summary>
109 /// Constructor 91 /// Constructor
110 /// </summary> 92 /// </summary>
@@ -170,9 +152,9 @@ namespace OpenSim.Framework.Communications.Cache
170 { 152 {
171 foreach (InventoryFolderImpl folder in pendingCategorizationFolders[newFolder.ID]) 153 foreach (InventoryFolderImpl folder in pendingCategorizationFolders[newFolder.ID])
172 { 154 {
173// m_log.DebugFormat( 155 // m_log.DebugFormat(
174// "[INVENTORY CACHE]: Resolving pending received folder {0} {1} into {2} {3}", 156 // "[INVENTORY CACHE]: Resolving pending received folder {0} {1} into {2} {3}",
175// folder.name, folder.folderID, parent.name, parent.folderID); 157 // folder.name, folder.folderID, parent.name, parent.folderID);
176 158
177 lock (newFolder.SubFolders) 159 lock (newFolder.SubFolders)
178 { 160 {
@@ -232,9 +214,9 @@ namespace OpenSim.Framework.Communications.Cache
232 /// <param name="folderInfo"></param> 214 /// <param name="folderInfo"></param>
233 private void FolderReceive(InventoryFolderImpl newFolder) 215 private void FolderReceive(InventoryFolderImpl newFolder)
234 { 216 {
235// m_log.DebugFormat( 217 // m_log.DebugFormat(
236// "[INVENTORY CACHE]: Received folder {0} {1} for user {2}", 218 // "[INVENTORY CACHE]: Received folder {0} {1} for user {2}",
237// folderInfo.Name, folderInfo.ID, userID); 219 // folderInfo.Name, folderInfo.ID, userID);
238 220
239 if (RootFolder == null) 221 if (RootFolder == null)
240 { 222 {
@@ -285,9 +267,9 @@ namespace OpenSim.Framework.Communications.Cache
285 /// <param name="folderInfo"></param> 267 /// <param name="folderInfo"></param>
286 private void ItemReceive(InventoryItemBase itemInfo) 268 private void ItemReceive(InventoryItemBase itemInfo)
287 { 269 {
288// m_log.DebugFormat( 270 // m_log.DebugFormat(
289// "[INVENTORY CACHE]: Received item {0} {1} for user {2}", 271 // "[INVENTORY CACHE]: Received item {0} {1} for user {2}",
290// itemInfo.Name, itemInfo.ID, userID); 272 // itemInfo.Name, itemInfo.ID, userID);
291 InventoryFolderImpl folder = RootFolder.FindFolder(itemInfo.Folder); 273 InventoryFolderImpl folder = RootFolder.FindFolder(itemInfo.Folder);
292 274
293 if (null == folder) 275 if (null == folder)
@@ -315,8 +297,8 @@ namespace OpenSim.Framework.Communications.Cache
315 /// <returns></returns> 297 /// <returns></returns>
316 public bool CreateFolder(string folderName, LLUUID folderID, ushort folderType, LLUUID parentID) 298 public bool CreateFolder(string folderName, LLUUID folderID, ushort folderType, LLUUID parentID)
317 { 299 {
318// m_log.DebugFormat( 300 // m_log.DebugFormat(
319// "[AGENT INVENTORY]: Creating inventory folder {0} {1} for {2} {3}", folderID, folderName, remoteClient.Name, remoteClient.AgentId); 301 // "[AGENT INVENTORY]: Creating inventory folder {0} {1} for {2} {3}", folderID, folderName, remoteClient.Name, remoteClient.AgentId);
320 302
321 if (HasInventory) 303 if (HasInventory)
322 { 304 {
@@ -343,15 +325,9 @@ namespace OpenSim.Framework.Communications.Cache
343 createdBaseFolder.Type = createdFolder.Type; 325 createdBaseFolder.Type = createdFolder.Type;
344 createdBaseFolder.Version = createdFolder.Version; 326 createdBaseFolder.Version = createdFolder.Version;
345 327
346 IInventoryServices invService = GetInventoryService(); 328 m_commsManager.InventoryService.AddFolder(createdBaseFolder);
347 if (invService != null)
348 {
349 //m_commsManager.InventoryService
350 invService.AddFolder(createdBaseFolder);
351 return true;
352 }
353 329
354 return false; 330 return true;
355 } 331 }
356 else 332 else
357 { 333 {
@@ -390,8 +366,8 @@ namespace OpenSim.Framework.Communications.Cache
390 /// <param name="parentID"></param> 366 /// <param name="parentID"></param>
391 public bool UpdateFolder(string name, LLUUID folderID, ushort type, LLUUID parentID) 367 public bool UpdateFolder(string name, LLUUID folderID, ushort type, LLUUID parentID)
392 { 368 {
393// m_log.DebugFormat( 369 // m_log.DebugFormat(
394// "[AGENT INVENTORY]: Updating inventory folder {0} {1} for {2} {3}", folderID, name, remoteClient.Name, remoteClient.AgentId); 370 // "[AGENT INVENTORY]: Updating inventory folder {0} {1} for {2} {3}", folderID, name, remoteClient.Name, remoteClient.AgentId);
395 371
396 if (HasInventory) 372 if (HasInventory)
397 { 373 {
@@ -400,22 +376,17 @@ namespace OpenSim.Framework.Communications.Cache
400 baseFolder.ID = folderID; 376 baseFolder.ID = folderID;
401 baseFolder.Name = name; 377 baseFolder.Name = name;
402 baseFolder.ParentID = parentID; 378 baseFolder.ParentID = parentID;
403 baseFolder.Type = (short) type; 379 baseFolder.Type = (short)type;
404 baseFolder.Version = RootFolder.Version; 380 baseFolder.Version = RootFolder.Version;
405 381
406 IInventoryServices invService = GetInventoryService(); 382 m_commsManager.InventoryService.UpdateFolder(baseFolder);
407 if (invService != null) 383
408 { 384 InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
409 //m_commsManager.InventoryService. 385 if (folder != null)
410 invService.UpdateFolder(baseFolder); 386 {
411 387 folder.Name = name;
412 InventoryFolderImpl folder = RootFolder.FindFolder(folderID); 388 folder.ParentID = parentID;
413 if (folder != null) 389 }
414 {
415 folder.Name = name;
416 folder.ParentID = parentID;
417 }
418 }
419 } 390 }
420 else 391 else
421 { 392 {
@@ -439,9 +410,9 @@ namespace OpenSim.Framework.Communications.Cache
439 /// <param name="parentID"></param> 410 /// <param name="parentID"></param>
440 public bool MoveFolder(LLUUID folderID, LLUUID parentID) 411 public bool MoveFolder(LLUUID folderID, LLUUID parentID)
441 { 412 {
442// m_log.DebugFormat( 413 // m_log.DebugFormat(
443// "[AGENT INVENTORY]: Moving inventory folder {0} into folder {1} for {2} {3}", 414 // "[AGENT INVENTORY]: Moving inventory folder {0} into folder {1} for {2} {3}",
444// parentID, remoteClient.Name, remoteClient.Name, remoteClient.AgentId); 415 // parentID, remoteClient.Name, remoteClient.Name, remoteClient.AgentId);
445 416
446 if (HasInventory) 417 if (HasInventory)
447 { 418 {
@@ -450,24 +421,13 @@ namespace OpenSim.Framework.Communications.Cache
450 baseFolder.ID = folderID; 421 baseFolder.ID = folderID;
451 baseFolder.ParentID = parentID; 422 baseFolder.ParentID = parentID;
452 423
453 IInventoryServices invService = GetInventoryService(); 424 m_commsManager.InventoryService.MoveFolder(baseFolder);
454 if (invService != null) 425
455 { 426 InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
456 // m_commsManager.InventoryService 427 if (folder != null)
457 invService.MoveFolder(baseFolder); 428 folder.ParentID = parentID;
458 429
459 InventoryFolderImpl folder = RootFolder.FindFolder(folderID); 430 return true;
460 if (folder != null)
461 {
462 folder.ParentID = parentID;
463 }
464
465 return true;
466 }
467 else
468 {
469 return false;
470 }
471 } 431 }
472 else 432 else
473 { 433 {
@@ -490,8 +450,8 @@ namespace OpenSim.Framework.Communications.Cache
490 /// <param name="folderID"></param> 450 /// <param name="folderID"></param>
491 public bool PurgeFolder(LLUUID folderID) 451 public bool PurgeFolder(LLUUID folderID)
492 { 452 {
493// m_log.InfoFormat("[AGENT INVENTORY]: Purging folder {0} for {1} uuid {2}", 453 // m_log.InfoFormat("[AGENT INVENTORY]: Purging folder {0} for {1} uuid {2}",
494// folderID, remoteClient.Name, remoteClient.AgentId); 454 // folderID, remoteClient.Name, remoteClient.AgentId);
495 455
496 if (HasInventory) 456 if (HasInventory)
497 { 457 {
@@ -508,16 +468,11 @@ namespace OpenSim.Framework.Communications.Cache
508 purgedBaseFolder.Type = purgedFolder.Type; 468 purgedBaseFolder.Type = purgedFolder.Type;
509 purgedBaseFolder.Version = purgedFolder.Version; 469 purgedBaseFolder.Version = purgedFolder.Version;
510 470
511 IInventoryServices invService = GetInventoryService(); 471 m_commsManager.InventoryService.PurgeFolder(purgedBaseFolder);
512 if (invService != null)
513 {
514 //m_commsManager.InventoryService
515 invService.PurgeFolder(purgedBaseFolder);
516 472
517 purgedFolder.Purge(); 473 purgedFolder.Purge();
518 474
519 return true; 475 return true;
520 }
521 } 476 }
522 } 477 }
523 else 478 else
@@ -543,20 +498,14 @@ namespace OpenSim.Framework.Communications.Cache
543 { 498 {
544 if (item.Folder == LLUUID.Zero) 499 if (item.Folder == LLUUID.Zero)
545 { 500 {
546 InventoryFolderImpl f=FindFolderForType(item.AssetType); 501 InventoryFolderImpl f = FindFolderForType(item.AssetType);
547 if (f != null) 502 if (f != null)
548 item.Folder=f.ID; 503 item.Folder = f.ID;
549 else 504 else
550 item.Folder=RootFolder.ID; 505 item.Folder = RootFolder.ID;
551 } 506 }
552 ItemReceive(item); 507 ItemReceive(item);
553 508 m_commsManager.InventoryService.AddItem(item);
554 IInventoryServices invService = GetInventoryService();
555 if (invService != null)
556 {
557 //m_commsManager.InventoryService
558 invService.AddItem(item);
559 }
560 } 509 }
561 else 510 else
562 { 511 {
@@ -576,12 +525,7 @@ namespace OpenSim.Framework.Communications.Cache
576 { 525 {
577 if (HasInventory) 526 if (HasInventory)
578 { 527 {
579 IInventoryServices invService = GetInventoryService(); 528 m_commsManager.InventoryService.UpdateItem(item);
580 if (invService != null)
581 {
582 //m_commsManager.InventoryService
583 invService.UpdateItem(item);
584 }
585 } 529 }
586 else 530 else
587 { 531 {
@@ -620,14 +564,7 @@ namespace OpenSim.Framework.Communications.Cache
620 564
621 if (RootFolder.DeleteItem(item.ID)) 565 if (RootFolder.DeleteItem(item.ID))
622 { 566 {
623 IInventoryServices invService = GetInventoryService(); 567 return m_commsManager.InventoryService.DeleteItem(item);
624 if (invService != null)
625 {
626 //return m_commsManager.InventoryService
627 return invService.DeleteItem(item);
628 }
629
630 return false;
631 } 568 }
632 } 569 }
633 else 570 else
@@ -659,9 +596,9 @@ namespace OpenSim.Framework.Communications.Cache
659 596
660 if ((folder = RootFolder.FindFolder(folderID)) != null) 597 if ((folder = RootFolder.FindFolder(folderID)) != null)
661 { 598 {
662// m_log.DebugFormat( 599 // m_log.DebugFormat(
663// "[AGENT INVENTORY]: Found folder {0} for client {1}", 600 // "[AGENT INVENTORY]: Found folder {0} for client {1}",
664// folderID, remoteClient.AgentId); 601 // folderID, remoteClient.AgentId);
665 602
666 client.SendInventoryFolderDetails( 603 client.SendInventoryFolderDetails(
667 client.AgentId, folderID, folder.RequestListOfItems(), 604 client.AgentId, folderID, folder.RequestListOfItems(),
@@ -693,7 +630,7 @@ namespace OpenSim.Framework.Communications.Cache
693 { 630 {
694 if (RootFolder == null) 631 if (RootFolder == null)
695 return null; 632 return null;
696 633
697 lock (RootFolder.SubFolders) 634 lock (RootFolder.SubFolders)
698 { 635 {
699 foreach (InventoryFolderImpl f in RootFolder.SubFolders.Values) 636 foreach (InventoryFolderImpl f in RootFolder.SubFolders.Values)
@@ -704,13 +641,6 @@ namespace OpenSim.Framework.Communications.Cache
704 } 641 }
705 return null; 642 return null;
706 } 643 }
707
708 public IInventoryServices GetInventoryService()
709 {
710 IInventoryServices invService;
711 m_commsManager.TryGetInventoryService(m_inventoryHost, out invService);
712 return invService;
713 }
714 } 644 }
715 645
716 /// <summary> 646 /// <summary>
@@ -743,4 +673,4 @@ namespace OpenSim.Framework.Communications.Cache
743 m_delegate.DynamicInvoke(m_args); 673 m_delegate.DynamicInvoke(m_args);
744 } 674 }
745 } 675 }
746} 676} \ No newline at end of file