diff options
Diffstat (limited to 'OpenSim/Framework/Communications/Cache/UserProfileCache.cs')
-rw-r--r-- | OpenSim/Framework/Communications/Cache/UserProfileCache.cs | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/OpenSim/Framework/Communications/Cache/UserProfileCache.cs b/OpenSim/Framework/Communications/Cache/UserProfileCache.cs index 117ed36..379ac9d 100644 --- a/OpenSim/Framework/Communications/Cache/UserProfileCache.cs +++ b/OpenSim/Framework/Communications/Cache/UserProfileCache.cs | |||
@@ -111,6 +111,15 @@ namespace OpenSim.Framework.Communications.Cache | |||
111 | } | 111 | } |
112 | } | 112 | } |
113 | 113 | ||
114 | /// <summary> | ||
115 | /// Tell the client about the various child items and folders contained in the requested folder. | ||
116 | /// </summary> | ||
117 | /// <param name="remoteClient"></param> | ||
118 | /// <param name="folderID"></param> | ||
119 | /// <param name="ownerID"></param> | ||
120 | /// <param name="fetchFolders"></param> | ||
121 | /// <param name="fetchItems"></param> | ||
122 | /// <param name="sortOrder"></param> | ||
114 | public void HandleFecthInventoryDescendents(IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, | 123 | public void HandleFecthInventoryDescendents(IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, |
115 | bool fetchFolders, bool fetchItems, int sortOrder) | 124 | bool fetchFolders, bool fetchItems, int sortOrder) |
116 | { | 125 | { |
@@ -118,14 +127,14 @@ namespace OpenSim.Framework.Communications.Cache | |||
118 | if (folderID == libraryRoot.folderID) | 127 | if (folderID == libraryRoot.folderID) |
119 | { | 128 | { |
120 | remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, libraryRoot.folderID, | 129 | remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, libraryRoot.folderID, |
121 | libraryRoot.RequestListOfItems()); | 130 | libraryRoot.RequestListOfItems(), libraryRoot.SubFoldersCount); |
122 | 131 | ||
123 | return; | 132 | return; |
124 | } | 133 | } |
125 | 134 | ||
126 | if ((fold = libraryRoot.HasSubFolder(folderID)) != null) | 135 | if ((fold = libraryRoot.HasSubFolder(folderID)) != null) |
127 | { | 136 | { |
128 | remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, folderID, fold.RequestListOfItems()); | 137 | remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, folderID, fold.RequestListOfItems(), fold.SubFoldersCount); |
129 | 138 | ||
130 | return; | 139 | return; |
131 | } | 140 | } |
@@ -140,16 +149,16 @@ namespace OpenSim.Framework.Communications.Cache | |||
140 | if (fetchItems) | 149 | if (fetchItems) |
141 | { | 150 | { |
142 | remoteClient.SendInventoryFolderDetails(remoteClient.AgentId, folderID, | 151 | remoteClient.SendInventoryFolderDetails(remoteClient.AgentId, folderID, |
143 | userProfile.RootFolder.RequestListOfItems()); | 152 | userProfile.RootFolder.RequestListOfItems(), userProfile.RootFolder.SubFoldersCount); |
144 | } | 153 | } |
145 | } | 154 | } |
146 | else | 155 | else |
147 | { | 156 | { |
148 | InventoryFolderImpl folder = userProfile.RootFolder.HasSubFolder(folderID); | 157 | InventoryFolderImpl folder = userProfile.RootFolder.HasSubFolder(folderID); |
149 | if ((folder != null) && fetchItems) | 158 | |
159 | if (fetchItems && folder != null) | ||
150 | { | 160 | { |
151 | remoteClient.SendInventoryFolderDetails(remoteClient.AgentId, folderID, | 161 | remoteClient.SendInventoryFolderDetails(remoteClient.AgentId, folderID, folder.RequestListOfItems(), folder.SubFoldersCount); |
152 | folder.RequestListOfItems()); | ||
153 | } | 162 | } |
154 | } | 163 | } |
155 | } | 164 | } |
@@ -184,4 +193,4 @@ namespace OpenSim.Framework.Communications.Cache | |||
184 | m_parent.InventoryService.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive); | 193 | m_parent.InventoryService.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive); |
185 | } | 194 | } |
186 | } | 195 | } |
187 | } \ No newline at end of file | 196 | } |