mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 02:05:34 +08:00
More work on inventory and opensim library.
Fixed a number of bugs in the AssetCache related to asset downloading.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -9,6 +9,7 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
public class LibraryRootFolder : InventoryFolder
|
||||
{
|
||||
private LLUUID libOwner = new LLUUID("11111111-1111-0000-0000-000100bba000");
|
||||
private InventoryFolder m_textureFolder;
|
||||
|
||||
public LibraryRootFolder()
|
||||
{
|
||||
@@ -19,11 +20,22 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
this.type = (short)-1;
|
||||
this.version = (ushort) 1;
|
||||
|
||||
InventoryFolder folderInfo = new InventoryFolder();
|
||||
folderInfo.agentID = libOwner;
|
||||
folderInfo.folderID = new LLUUID("00000112-000f-0000-0000-000100bba001");
|
||||
folderInfo.name = "My Inventory";
|
||||
folderInfo.parentID = this.folderID;
|
||||
folderInfo.type = -1;
|
||||
folderInfo.version = 1;
|
||||
this.SubFolders.Add(folderInfo.folderID, folderInfo);
|
||||
this.m_textureFolder = folderInfo;
|
||||
|
||||
this.CreateLibraryItems();
|
||||
}
|
||||
|
||||
private void CreateLibraryItems()
|
||||
{
|
||||
|
||||
InventoryItemBase item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
item.creatorsID = libOwner;
|
||||
@@ -32,12 +44,12 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
item.inventoryDescription = "Plywood texture";
|
||||
item.inventoryName = "Plywood";
|
||||
item.type = 0;
|
||||
item.parentFolderID = this.folderID;
|
||||
item.parentFolderID = m_textureFolder.folderID;
|
||||
item.inventoryBasePermissions = 0x7FFFFFFF;
|
||||
item.inventoryEveryOnePermissions = 0x7FFFFFFF;
|
||||
item.inventoryCurrentPermissions = 0x7FFFFFFF;
|
||||
item.inventoryNextPermissions = 0x7FFFFFFF;
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
this.m_textureFolder.Items.Add(item.inventoryID, item);
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
@@ -47,12 +59,12 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
item.inventoryDescription = "Rocks texture";
|
||||
item.inventoryName = "Rocks";
|
||||
item.type = 0;
|
||||
item.parentFolderID = this.folderID;
|
||||
item.parentFolderID = m_textureFolder.folderID;
|
||||
item.inventoryBasePermissions = 0x7FFFFFFF;
|
||||
item.inventoryEveryOnePermissions = 0x7FFFFFFF;
|
||||
item.inventoryCurrentPermissions = 0x7FFFFFFF;
|
||||
item.inventoryNextPermissions = 0x7FFFFFFF;
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
this.m_textureFolder.Items.Add(item.inventoryID, item);
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
@@ -62,12 +74,12 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
item.inventoryDescription = "Bricks texture";
|
||||
item.inventoryName = "Bricks";
|
||||
item.type = 0;
|
||||
item.parentFolderID = this.folderID;
|
||||
item.parentFolderID = m_textureFolder.folderID;
|
||||
item.inventoryBasePermissions = 0x7FFFFFFF;
|
||||
item.inventoryEveryOnePermissions = 0x7FFFFFFF;
|
||||
item.inventoryCurrentPermissions = 0x7FFFFFFF;
|
||||
item.inventoryNextPermissions = 0x7FFFFFFF;
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
this.m_textureFolder.Items.Add(item.inventoryID, item);
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
@@ -77,12 +89,12 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
item.inventoryDescription = "Granite texture";
|
||||
item.inventoryName = "Granite";
|
||||
item.type = 0;
|
||||
item.parentFolderID = this.folderID;
|
||||
item.parentFolderID = m_textureFolder.folderID;
|
||||
item.inventoryBasePermissions = 0x7FFFFFFF;
|
||||
item.inventoryEveryOnePermissions = 0x7FFFFFFF;
|
||||
item.inventoryCurrentPermissions = 0x7FFFFFFF;
|
||||
item.inventoryNextPermissions = 0x7FFFFFFF;
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
this.m_textureFolder.Items.Add(item.inventoryID, item);
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
@@ -92,12 +104,12 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
item.inventoryDescription = "Hardwood texture";
|
||||
item.inventoryName = "Hardwood";
|
||||
item.type = 0;
|
||||
item.parentFolderID = this.folderID;
|
||||
item.parentFolderID = m_textureFolder.folderID;
|
||||
item.inventoryBasePermissions = 0x7FFFFFFF;
|
||||
item.inventoryEveryOnePermissions = 0x7FFFFFFF;
|
||||
item.inventoryCurrentPermissions = 0x7FFFFFFF;
|
||||
item.inventoryNextPermissions = 0x7FFFFFFF;
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
this.m_textureFolder.Items.Add(item.inventoryID, item);
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
@@ -111,6 +123,36 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
item.inventoryCurrentPermissions = 0;
|
||||
item.inventoryNextPermissions = 0;
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
item.creatorsID = libOwner;
|
||||
item.inventoryID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9");
|
||||
item.assetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb");
|
||||
item.inventoryDescription = "Default Skin";
|
||||
item.inventoryName = "Default Skin";
|
||||
item.type = 13;
|
||||
item.parentFolderID = this.folderID;
|
||||
item.inventoryCurrentPermissions = 0;
|
||||
item.inventoryNextPermissions = 0;
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.avatarID = libOwner;
|
||||
item.creatorsID = libOwner;
|
||||
item.inventoryID = new LLUUID("00000000-0000-2222-4444-000000000001");
|
||||
item.assetID = new LLUUID("00000000-0000-2222-3333-000000000001");
|
||||
item.inventoryDescription = "Welcome";
|
||||
item.inventoryName = "Welcome";
|
||||
item.type = 7;
|
||||
item.parentFolderID = this.folderID;
|
||||
item.inventoryCurrentPermissions = (1 << 15);
|
||||
item.inventoryNextPermissions = (1 << 15);
|
||||
item.inventoryEveryOnePermissions = (1 << 15);
|
||||
item.inventoryBasePermissions = (1 << 15);
|
||||
this.Items.Add(item.inventoryID, item);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -116,10 +116,15 @@ namespace OpenSim.Framework.Communications.Caches
|
||||
|
||||
public void HandleFecthInventoryDescendents(IClientAPI remoteClient, LLUUID folderID, LLUUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder)
|
||||
{
|
||||
InventoryFolder fold = null;
|
||||
if (folderID == libraryRoot.folderID )
|
||||
{
|
||||
remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, libraryRoot.folderID, libraryRoot.RequestListOfItems());
|
||||
}
|
||||
else if (( fold = libraryRoot.HasSubFolder(folderID)) != null)
|
||||
{
|
||||
remoteClient.SendInventoryFolderDetails(libraryRoot.agentID, folderID, fold.RequestListOfItems());
|
||||
}
|
||||
else if (this.UserProfiles.ContainsKey(remoteClient.AgentId))
|
||||
{
|
||||
CachedUserInfo info = this.UserProfiles[remoteClient.AgentId];
|
||||
|
||||
@@ -156,6 +156,11 @@ namespace OpenSim.Framework.Interfaces
|
||||
get;
|
||||
}
|
||||
|
||||
LLUUID SessionId
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
string FirstName
|
||||
{
|
||||
get;
|
||||
|
||||
@@ -84,6 +84,11 @@ namespace OpenSim.Framework
|
||||
get { return m_uuid; }
|
||||
}
|
||||
|
||||
public LLUUID SessionId
|
||||
{
|
||||
get { return LLUUID.Zero; }
|
||||
}
|
||||
|
||||
public virtual string FirstName
|
||||
{
|
||||
get { return ""; }
|
||||
|
||||
@@ -43,13 +43,16 @@ namespace OpenSim.Framework.Types
|
||||
{
|
||||
get
|
||||
{
|
||||
AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these
|
||||
AvatarWearable[] defaultWearables = new AvatarWearable[13]; //should be 13 of these
|
||||
for (int i = 0; i < 13; i++)
|
||||
{
|
||||
defaultWearables[i] = new AvatarWearable();
|
||||
}
|
||||
defaultWearables[0].AssetID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfab73");
|
||||
defaultWearables[0].ItemID = new LLUUID("66c41e39-38f9-f75a-024e-585989bfaba9");
|
||||
|
||||
//defaultWearables[1].ItemID = new LLUUID("77c41e39-38f9-f75a-024e-585989bfabc9");
|
||||
//defaultWearables[1].AssetID = new LLUUID("77c41e39-38f9-f75a-024e-585989bbabbb");
|
||||
return defaultWearables;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -361,6 +361,14 @@ namespace OpenSim.Framework.UserManagement
|
||||
TempHash["folder_id"] = "00000112-000f-0000-0000-000100bba000";
|
||||
ArrayList temp = new ArrayList();
|
||||
temp.Add(TempHash);
|
||||
|
||||
TempHash = new Hashtable();
|
||||
TempHash["name"] = "Texture Library";
|
||||
TempHash["parent_id"] = "00000112-000f-0000-0000-000100bba000";
|
||||
TempHash["version"] = "1";
|
||||
TempHash["type_default"] = "-1";
|
||||
TempHash["folder_id"] = "00000112-000f-0000-0000-000100bba001";
|
||||
temp.Add(TempHash);
|
||||
return temp;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user