More work on inventory and opensim library.

Fixed a number of bugs in the AssetCache related to asset downloading.
This commit is contained in:
MW
2007-07-26 17:41:31 +00:00
parent 39b64564dc
commit f0dd115a8c
12 changed files with 725 additions and 433 deletions

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -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];

View File

@@ -156,6 +156,11 @@ namespace OpenSim.Framework.Interfaces
get;
}
LLUUID SessionId
{
get;
}
string FirstName
{
get;

View File

@@ -84,6 +84,11 @@ namespace OpenSim.Framework
get { return m_uuid; }
}
public LLUUID SessionId
{
get { return LLUUID.Zero; }
}
public virtual string FirstName
{
get { return ""; }

View File

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

View File

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