diff options
Diffstat (limited to 'OpenSim/Framework/Communications')
-rw-r--r-- | OpenSim/Framework/Communications/LoginService.cs | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs index 92bf83f..b84f5b6 100644 --- a/OpenSim/Framework/Communications/LoginService.cs +++ b/OpenSim/Framework/Communications/LoginService.cs | |||
@@ -60,6 +60,11 @@ namespace OpenSim.Framework.Communications | |||
60 | protected uint m_defaultHomeY; | 60 | protected uint m_defaultHomeY; |
61 | 61 | ||
62 | /// <summary> | 62 | /// <summary> |
63 | /// Used by the login service to make requests to the inventory service. | ||
64 | /// </summary> | ||
65 | protected IInterServiceInventoryServices m_inventoryService; | ||
66 | |||
67 | /// <summary> | ||
63 | /// Constructor | 68 | /// Constructor |
64 | /// </summary> | 69 | /// </summary> |
65 | /// <param name="userManager"></param> | 70 | /// <param name="userManager"></param> |
@@ -1008,7 +1013,33 @@ namespace OpenSim.Framework.Communications | |||
1008 | protected abstract RegionInfo RequestClosestRegion(string region); | 1013 | protected abstract RegionInfo RequestClosestRegion(string region); |
1009 | protected abstract RegionInfo GetRegionInfo(ulong homeRegionHandle); | 1014 | protected abstract RegionInfo GetRegionInfo(ulong homeRegionHandle); |
1010 | protected abstract RegionInfo GetRegionInfo(UUID homeRegionId); | 1015 | protected abstract RegionInfo GetRegionInfo(UUID homeRegionId); |
1011 | protected abstract void AddActiveGestures(LoginResponse response, UserProfileData theUser); | ||
1012 | protected abstract bool PrepareLoginToRegion(RegionInfo regionInfo, UserProfileData user, LoginResponse response); | 1016 | protected abstract bool PrepareLoginToRegion(RegionInfo regionInfo, UserProfileData user, LoginResponse response); |
1017 | |||
1018 | /// <summary> | ||
1019 | /// Add active gestures of the user to the login response. | ||
1020 | /// </summary> | ||
1021 | /// <param name="response"> | ||
1022 | /// A <see cref="LoginResponse"/> | ||
1023 | /// </param> | ||
1024 | /// <param name="theUser"> | ||
1025 | /// A <see cref="UserProfileData"/> | ||
1026 | /// </param> | ||
1027 | protected void AddActiveGestures(LoginResponse response, UserProfileData theUser) | ||
1028 | { | ||
1029 | List<InventoryItemBase> gestures = m_inventoryService.GetActiveGestures(theUser.ID); | ||
1030 | //m_log.DebugFormat("[LOGIN]: AddActiveGestures, found {0}", gestures == null ? 0 : gestures.Count); | ||
1031 | ArrayList list = new ArrayList(); | ||
1032 | if (gestures != null) | ||
1033 | { | ||
1034 | foreach (InventoryItemBase gesture in gestures) | ||
1035 | { | ||
1036 | Hashtable item = new Hashtable(); | ||
1037 | item["item_id"] = gesture.ID.ToString(); | ||
1038 | item["asset_id"] = gesture.AssetID.ToString(); | ||
1039 | list.Add(item); | ||
1040 | } | ||
1041 | } | ||
1042 | response.ActiveGestures = list; | ||
1043 | } | ||
1013 | } | 1044 | } |
1014 | } | 1045 | } |