aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/Cache/UserProfileCache.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Communications/Cache/UserProfileCache.cs')
-rw-r--r--OpenSim/Framework/Communications/Cache/UserProfileCache.cs23
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}