diff options
Diffstat (limited to 'OpenSim/Framework/Communications/UserManagerBase.cs')
-rw-r--r-- | OpenSim/Framework/Communications/UserManagerBase.cs | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/OpenSim/Framework/Communications/UserManagerBase.cs b/OpenSim/Framework/Communications/UserManagerBase.cs index c3aaa4b..898239d 100644 --- a/OpenSim/Framework/Communications/UserManagerBase.cs +++ b/OpenSim/Framework/Communications/UserManagerBase.cs | |||
@@ -37,6 +37,7 @@ using OpenMetaverse.StructuredData; | |||
37 | using OpenSim.Data; | 37 | using OpenSim.Data; |
38 | using OpenSim.Framework.Communications; | 38 | using OpenSim.Framework.Communications; |
39 | using OpenSim.Framework.Statistics; | 39 | using OpenSim.Framework.Statistics; |
40 | using OpenSim.Services.Interfaces; | ||
40 | 41 | ||
41 | namespace OpenSim.Framework.Communications | 42 | namespace OpenSim.Framework.Communications |
42 | { | 43 | { |
@@ -54,6 +55,7 @@ namespace OpenSim.Framework.Communications | |||
54 | private List<IUserDataPlugin> m_plugins = new List<IUserDataPlugin>(); | 55 | private List<IUserDataPlugin> m_plugins = new List<IUserDataPlugin>(); |
55 | 56 | ||
56 | protected CommunicationsManager m_commsManager; | 57 | protected CommunicationsManager m_commsManager; |
58 | protected IInventoryService m_InventoryService; | ||
57 | 59 | ||
58 | /// <summary> | 60 | /// <summary> |
59 | /// Constructor | 61 | /// Constructor |
@@ -64,6 +66,11 @@ namespace OpenSim.Framework.Communications | |||
64 | m_commsManager = commsManager; | 66 | m_commsManager = commsManager; |
65 | } | 67 | } |
66 | 68 | ||
69 | public virtual void SetInventoryService(IInventoryService invService) | ||
70 | { | ||
71 | m_InventoryService = invService; | ||
72 | } | ||
73 | |||
67 | /// <summary> | 74 | /// <summary> |
68 | /// Add a new user data plugin - plugins will be requested in the order they were added. | 75 | /// Add a new user data plugin - plugins will be requested in the order they were added. |
69 | /// </summary> | 76 | /// </summary> |
@@ -676,7 +683,24 @@ namespace OpenSim.Framework.Communications | |||
676 | } | 683 | } |
677 | else | 684 | else |
678 | { | 685 | { |
679 | m_commsManager.InterServiceInventoryService.CreateNewUserInventory(userProf.ID); | 686 | // |
687 | // WARNING: This is a horrible hack | ||
688 | // The purpose here is to avoid touching the user server at this point. | ||
689 | // There are dragons there that I can't deal with right now. | ||
690 | // diva 06/09/09 | ||
691 | // | ||
692 | if (m_InventoryService != null) | ||
693 | { | ||
694 | // local service (standalone) | ||
695 | m_log.Debug("[USERSTORAGE]: using IInventoryService to create user's inventory"); | ||
696 | m_InventoryService.CreateUserInventory(userProf.ID); | ||
697 | } | ||
698 | else | ||
699 | { | ||
700 | // used by the user server | ||
701 | m_log.Debug("[USERSTORAGE]: using m_commsManager.InterServiceInventoryService to create user's inventory"); | ||
702 | m_commsManager.InterServiceInventoryService.CreateNewUserInventory(userProf.ID); | ||
703 | } | ||
680 | 704 | ||
681 | return userProf.ID; | 705 | return userProf.ID; |
682 | } | 706 | } |