public bool TryGetInventorySkeleton(UUID presenceID, out InventorySkeleton skeleton) { bool success = false; skeleton = new InventorySkeleton(); if (IsVerified(presenceID)) { Dictionary<UUID, InventoryBase> agentInventory = GetAgentInventory(presenceID); Dictionary<UUID, InventoryBase> libraryInventory = GetAgentInventory(LIBRARY_OWNER); skeleton.Skeleton = new InventoryFolder(); skeleton.LibrarySkeleton = new InventoryFolder(); lock (m_syncRoot) { foreach (InventoryBase obj in agentInventory.Values) { if (obj is InventoryFolder) { InventoryFolder folderObj = (InventoryFolder)obj; if (folderObj.ParentID == UUID.Zero) { skeleton.Skeleton.ID = folderObj.ID; skeleton.Skeleton.Name = folderObj.Name; skeleton.Skeleton.ExtraData = folderObj.ExtraData; skeleton.Skeleton.OwnerID = folderObj.OwnerID; skeleton.Skeleton.PreferredContentType = folderObj.PreferredContentType; skeleton.Skeleton.Version = folderObj.Version; skeleton.RootFolderID = folderObj.ID; } else { skeleton.Skeleton.Children.Add(folderObj.ID, folderObj); } } } foreach (InventoryBase obj in libraryInventory.Values) { if (obj is InventoryFolder) { InventoryFolder folderObj = (InventoryFolder)obj; if (folderObj.ParentID == UUID.Zero) { skeleton.LibrarySkeleton.ID = folderObj.ID; skeleton.LibrarySkeleton.ExtraData = folderObj.ExtraData; skeleton.LibrarySkeleton.Name = folderObj.Name; skeleton.LibrarySkeleton.OwnerID = folderObj.OwnerID; skeleton.LibrarySkeleton.PreferredContentType = folderObj.PreferredContentType; skeleton.LibrarySkeleton.Version = folderObj.Version; skeleton.LibraryFolderID = folderObj.ID; skeleton.LibraryOwner = folderObj.OwnerID; } else { skeleton.LibrarySkeleton.Children.Add(folderObj.ID, folderObj); } } } } m_log.Debug("Fetched inventory skeleton for " + presenceID + ". RootFolderID= " + skeleton.RootFolderID + ", LibraryFolderID=" + skeleton.LibraryFolderID); success = true; } return success; }
private void Network_OnLoginResponse(bool loginSuccess, bool redirect, string message, string reason, LoginResponseData replyData) { if (loginSuccess) { if (Settings.ENABLE_INVENTORY_STORE) { InventorySkeleton = new InventorySkeleton(replyData.InventoryRoot, replyData.AgentID); InventorySkeleton.Folders = replyData.InventoryFolders; } if (Settings.ENABLE_LIBRARY_STORE) { LibrarySkeleton = new InventorySkeleton(replyData.LibraryRoot, replyData.LibraryOwner); LibrarySkeleton.Folders = replyData.LibraryFolders; } if (OnSkeletonsReceived != null) { try { OnSkeletonsReceived(this); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, _Client, e); } } } }
public bool TryGetInventorySkeleton(UUID presenceID, out InventorySkeleton skeleton) { skeleton = null; return false; }