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;
 }