* minor: replace test of CachedUserInfo.RootFolder != null with something more readable, and make RootFolder get only
parent
205b95f2e8
commit
e26d4fc085
|
@ -49,7 +49,8 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
public UserProfileData UserProfile { get { return m_userProfile; } }
|
public UserProfileData UserProfile { get { return m_userProfile; } }
|
||||||
|
|
||||||
// FIXME: These need to be hidden behind accessors
|
// FIXME: These need to be hidden behind accessors
|
||||||
public InventoryFolderImpl RootFolder = null;
|
private InventoryFolderImpl m_rootFolder;
|
||||||
|
public InventoryFolderImpl RootFolder { get { return m_rootFolder; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Stores received folders for which we have not yet received the parents.
|
/// Stores received folders for which we have not yet received the parents.
|
||||||
|
@ -68,6 +69,11 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
m_userProfile = userProfile;
|
m_userProfile = userProfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Has this user info object yet received its inventory information from the invetnroy service?
|
||||||
|
/// </summary>
|
||||||
|
public bool HasInventory { get { return RootFolder != null; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Store a folder pending categorization when its parent is received.
|
/// Store a folder pending categorization when its parent is received.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -134,7 +140,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
{
|
{
|
||||||
if (folderInfo.ParentID == LLUUID.Zero)
|
if (folderInfo.ParentID == LLUUID.Zero)
|
||||||
{
|
{
|
||||||
RootFolder = folderInfo;
|
m_rootFolder = folderInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (RootFolder.ID == folderInfo.ParentID)
|
else if (RootFolder.ID == folderInfo.ParentID)
|
||||||
|
@ -208,7 +214,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
public void AddItem(LLUUID userID, InventoryItemBase itemInfo)
|
public void AddItem(LLUUID userID, InventoryItemBase itemInfo)
|
||||||
{
|
{
|
||||||
if ((userID == UserProfile.ID) && (RootFolder != null))
|
if ((userID == UserProfile.ID) && HasInventory)
|
||||||
{
|
{
|
||||||
ItemReceive(userID, itemInfo);
|
ItemReceive(userID, itemInfo);
|
||||||
m_commsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
|
m_commsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
|
||||||
|
@ -217,7 +223,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
public void UpdateItem(LLUUID userID, InventoryItemBase itemInfo)
|
public void UpdateItem(LLUUID userID, InventoryItemBase itemInfo)
|
||||||
{
|
{
|
||||||
if ((userID == UserProfile.ID) && (RootFolder != null))
|
if ((userID == UserProfile.ID) && HasInventory)
|
||||||
{
|
{
|
||||||
m_commsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
|
m_commsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
|
||||||
}
|
}
|
||||||
|
@ -226,7 +232,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
public bool DeleteItem(LLUUID userID, InventoryItemBase item)
|
public bool DeleteItem(LLUUID userID, InventoryItemBase item)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
if ((userID == UserProfile.ID) && (RootFolder != null))
|
if ((userID == UserProfile.ID) && HasInventory)
|
||||||
{
|
{
|
||||||
result = RootFolder.DeleteItem(item.ID);
|
result = RootFolder.DeleteItem(item.ID);
|
||||||
if (result)
|
if (result)
|
||||||
|
|
|
@ -125,7 +125,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder.ID == parentID)
|
if (userProfile.RootFolder.ID == parentID)
|
||||||
{
|
{
|
||||||
|
@ -175,7 +175,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
InventoryFolderBase baseFolder = new InventoryFolderBase();
|
InventoryFolderBase baseFolder = new InventoryFolderBase();
|
||||||
baseFolder.Owner = remoteClient.AgentId;
|
baseFolder.Owner = remoteClient.AgentId;
|
||||||
|
@ -195,7 +195,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
InventoryFolderBase baseFolder = new InventoryFolderBase();
|
InventoryFolderBase baseFolder = new InventoryFolderBase();
|
||||||
baseFolder.Owner = remoteClient.AgentId;
|
baseFolder.Owner = remoteClient.AgentId;
|
||||||
|
@ -248,21 +248,21 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
// inventory failure.
|
// inventory failure.
|
||||||
//
|
//
|
||||||
// This is a crude way of dealing with that by retrying the lookup.
|
// This is a crude way of dealing with that by retrying the lookup.
|
||||||
if (userProfile.RootFolder == null)
|
if (!userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
int attempts = 5;
|
int attempts = 5;
|
||||||
while (attempts-- > 0)
|
while (attempts-- > 0)
|
||||||
{
|
{
|
||||||
Thread.Sleep(3000);
|
Thread.Sleep(3000);
|
||||||
|
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder.ID == folderID)
|
if (userProfile.RootFolder.ID == folderID)
|
||||||
{
|
{
|
||||||
|
@ -346,7 +346,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
CachedUserInfo userProfile;
|
CachedUserInfo userProfile;
|
||||||
if (m_userProfiles.TryGetValue(agentID, out userProfile))
|
if (m_userProfiles.TryGetValue(agentID, out userProfile))
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder.ID == folderID)
|
if (userProfile.RootFolder.ID == folderID)
|
||||||
{
|
{
|
||||||
|
@ -393,7 +393,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
CachedUserInfo userProfile;
|
CachedUserInfo userProfile;
|
||||||
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
InventoryFolderImpl subFolder = userProfile.RootFolder.HasSubFolder(folderID);
|
InventoryFolderImpl subFolder = userProfile.RootFolder.HasSubFolder(folderID);
|
||||||
if (subFolder != null)
|
if (subFolder != null)
|
||||||
|
@ -420,7 +420,7 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
CachedUserInfo userProfile;
|
CachedUserInfo userProfile;
|
||||||
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
if (m_userProfiles.TryGetValue(remoteClient.AgentId, out userProfile))
|
||||||
{
|
{
|
||||||
if (userProfile.RootFolder != null)
|
if (userProfile.HasInventory)
|
||||||
{
|
{
|
||||||
InventoryItemBase item = userProfile.RootFolder.HasItem(itemID);
|
InventoryItemBase item = userProfile.RootFolder.HasItem(itemID);
|
||||||
if (item != null)
|
if (item != null)
|
||||||
|
|
Loading…
Reference in New Issue