aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/Cache
diff options
context:
space:
mode:
authorMW2008-06-28 15:13:17 +0000
committerMW2008-06-28 15:13:17 +0000
commit86defd0a69d53df6d352b7d4b9a5b9d6621c19e8 (patch)
tree111e3144f54437d74650704d0a299451ed1a0e7a /OpenSim/Framework/Communications/Cache
parentRemove one warning. We are now down to 16 warnings in (diff)
downloadopensim-SC-86defd0a69d53df6d352b7d4b9a5b9d6621c19e8.zip
opensim-SC-86defd0a69d53df6d352b7d4b9a5b9d6621c19e8.tar.gz
opensim-SC-86defd0a69d53df6d352b7d4b9a5b9d6621c19e8.tar.bz2
opensim-SC-86defd0a69d53df6d352b7d4b9a5b9d6621c19e8.tar.xz
plumbing for multiple inventory servers. Mostly done on the region server side.
TODO next is to make the login server read/write a users inventory from the correct server (the inventory url set in a userprofile) On the region side, although not tested with multiple servers it should work if that inventory url was set, and the inventory servers urls have been added to the CommunicationsManager, using CommunicationsManager.AddInventoryService(string hostUrl)
Diffstat (limited to 'OpenSim/Framework/Communications/Cache')
-rw-r--r--OpenSim/Framework/Communications/Cache/CachedUserInfo.cs116
-rw-r--r--OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs7
2 files changed, 99 insertions, 24 deletions
diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
index 3127bd6..524f314 100644
--- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
+++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
@@ -87,6 +87,24 @@ 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 (m_userProfile.UserInventoryURI != String.Empty)
97 {
98 Uri uri = new Uri(m_userProfile.UserInventoryURI);
99 return uri.Host;
100 }
101 }
102
103 return "";
104 }
105
106 }
107
90 /// <summary> 108 /// <summary>
91 /// Constructor 109 /// Constructor
92 /// </summary> 110 /// </summary>
@@ -325,9 +343,15 @@ namespace OpenSim.Framework.Communications.Cache
325 createdBaseFolder.Type = createdFolder.Type; 343 createdBaseFolder.Type = createdFolder.Type;
326 createdBaseFolder.Version = createdFolder.Version; 344 createdBaseFolder.Version = createdFolder.Version;
327 345
328 m_commsManager.InventoryService.AddFolder(createdBaseFolder); 346 IInventoryServices invService = GetInventoryService();
347 if (invService != null)
348 {
349 //m_commsManager.InventoryService
350 invService.AddFolder(createdBaseFolder);
351 return true;
352 }
329 353
330 return true; 354 return false;
331 } 355 }
332 else 356 else
333 { 357 {
@@ -379,14 +403,19 @@ namespace OpenSim.Framework.Communications.Cache
379 baseFolder.Type = (short) type; 403 baseFolder.Type = (short) type;
380 baseFolder.Version = RootFolder.Version; 404 baseFolder.Version = RootFolder.Version;
381 405
382 m_commsManager.InventoryService.UpdateFolder(baseFolder); 406 IInventoryServices invService = GetInventoryService();
383 407 if (invService != null)
384 InventoryFolderImpl folder=RootFolder.FindFolder(folderID); 408 {
385 if(folder != null) 409 //m_commsManager.InventoryService.
386 { 410 invService.UpdateFolder(baseFolder);
387 folder.Name = name; 411
388 folder.ParentID = parentID; 412 InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
389 } 413 if (folder != null)
414 {
415 folder.Name = name;
416 folder.ParentID = parentID;
417 }
418 }
390 } 419 }
391 else 420 else
392 { 421 {
@@ -421,13 +450,24 @@ namespace OpenSim.Framework.Communications.Cache
421 baseFolder.ID = folderID; 450 baseFolder.ID = folderID;
422 baseFolder.ParentID = parentID; 451 baseFolder.ParentID = parentID;
423 452
424 m_commsManager.InventoryService.MoveFolder(baseFolder); 453 IInventoryServices invService = GetInventoryService();
425 454 if (invService != null)
426 InventoryFolderImpl folder=RootFolder.FindFolder(folderID); 455 {
427 if(folder != null) 456 // m_commsManager.InventoryService
428 folder.ParentID = parentID; 457 invService.MoveFolder(baseFolder);
429 458
430 return true; 459 InventoryFolderImpl folder = RootFolder.FindFolder(folderID);
460 if (folder != null)
461 {
462 folder.ParentID = parentID;
463 }
464
465 return true;
466 }
467 else
468 {
469 return false;
470 }
431 } 471 }
432 else 472 else
433 { 473 {
@@ -468,11 +508,16 @@ namespace OpenSim.Framework.Communications.Cache
468 purgedBaseFolder.Type = purgedFolder.Type; 508 purgedBaseFolder.Type = purgedFolder.Type;
469 purgedBaseFolder.Version = purgedFolder.Version; 509 purgedBaseFolder.Version = purgedFolder.Version;
470 510
471 m_commsManager.InventoryService.PurgeFolder(purgedBaseFolder); 511 IInventoryServices invService = GetInventoryService();
512 if (invService != null)
513 {
514 //m_commsManager.InventoryService
515 invService.PurgeFolder(purgedBaseFolder);
472 516
473 purgedFolder.Purge(); 517 purgedFolder.Purge();
474 518
475 return true; 519 return true;
520 }
476 } 521 }
477 } 522 }
478 else 523 else
@@ -505,7 +550,13 @@ namespace OpenSim.Framework.Communications.Cache
505 item.Folder=RootFolder.ID; 550 item.Folder=RootFolder.ID;
506 } 551 }
507 ItemReceive(item); 552 ItemReceive(item);
508 m_commsManager.InventoryService.AddItem(item); 553
554 IInventoryServices invService = GetInventoryService();
555 if (invService != null)
556 {
557 //m_commsManager.InventoryService
558 invService.AddItem(item);
559 }
509 } 560 }
510 else 561 else
511 { 562 {
@@ -525,7 +576,12 @@ namespace OpenSim.Framework.Communications.Cache
525 { 576 {
526 if (HasInventory) 577 if (HasInventory)
527 { 578 {
528 m_commsManager.InventoryService.UpdateItem(item); 579 IInventoryServices invService = GetInventoryService();
580 if (invService != null)
581 {
582 //m_commsManager.InventoryService
583 invService.UpdateItem(item);
584 }
529 } 585 }
530 else 586 else
531 { 587 {
@@ -564,7 +620,14 @@ namespace OpenSim.Framework.Communications.Cache
564 620
565 if (RootFolder.DeleteItem(item.ID)) 621 if (RootFolder.DeleteItem(item.ID))
566 { 622 {
567 return m_commsManager.InventoryService.DeleteItem(item); 623 IInventoryServices invService = GetInventoryService();
624 if (invService != null)
625 {
626 //return m_commsManager.InventoryService
627 return invService.DeleteItem(item);
628 }
629
630 return false;
568 } 631 }
569 } 632 }
570 else 633 else
@@ -641,6 +704,13 @@ namespace OpenSim.Framework.Communications.Cache
641 } 704 }
642 return null; 705 return null;
643 } 706 }
707
708 public IInventoryServices GetInventoryService()
709 {
710 IInventoryServices invService;
711 m_commsManager.TryGetInventoryService(m_inventoryHost, out invService);
712 return invService;
713 }
644 } 714 }
645 715
646 /// <summary> 716 /// <summary>
diff --git a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
index fe61406..37451ab 100644
--- a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
+++ b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
@@ -119,7 +119,12 @@ namespace OpenSim.Framework.Communications.Cache
119 CachedUserInfo userInfo = GetUserDetails(userID); 119 CachedUserInfo userInfo = GetUserDetails(userID);
120 if (userInfo != null) 120 if (userInfo != null)
121 { 121 {
122 m_commsManager.InventoryService.RequestInventoryForUser(userID, userInfo.InventoryReceive); 122 //m_commsManager.InventoryService.RequestInventoryForUser(userID, userInfo.InventoryReceive);
123 IInventoryServices invService = userInfo.GetInventoryService();
124 if (invService != null)
125 {
126 invService.RequestInventoryForUser(userID, userInfo.InventoryReceive);
127 }
123 } 128 }
124 else 129 else
125 { 130 {