* Make it possible to store creator strings in user inventory items as well as UUIDs

* All existing functionality should be unaffected.
* Database schemas have not been changed.
This commit is contained in:
Justin Clarke Casey
2009-04-08 17:50:57 +00:00
parent 8d8c45b659
commit f3c7298fc5
21 changed files with 98 additions and 75 deletions

View File

@@ -72,7 +72,7 @@ namespace OpenSim.Framework.Communications.Cache
{
InventoryItemBase item = new InventoryItemBase();
item.Owner = libOwner;
item.Creator = libOwner;
item.CreatorId = libOwner.ToString();
item.ID = inventoryID;
item.AssetID = assetID;
item.Description = description;
@@ -159,7 +159,7 @@ namespace OpenSim.Framework.Communications.Cache
{
InventoryItemBase item = new InventoryItemBase();
item.Owner = libOwner;
item.Creator = libOwner;
item.CreatorId = libOwner.ToString();
item.ID = new UUID(config.GetString("inventoryID", ID.ToString()));
item.AssetID = new UUID(config.GetString("assetID", item.ID.ToString()));
item.Folder = new UUID(config.GetString("folderID", ID.ToString()));

View File

@@ -440,7 +440,7 @@ namespace OpenSim.Framework.Communications.Capabilities
llsdItem.type = Enum.GetName(typeof(AssetType), invItem.AssetType).ToLower();
llsdItem.inv_type = Enum.GetName(typeof(InventoryType), invItem.InvType).ToLower();
llsdItem.permissions = new LLSDPermissions();
llsdItem.permissions.creator_id = invItem.Creator;
llsdItem.permissions.creator_id = invItem.CreatorIdAsUuid;
llsdItem.permissions.base_mask = (int)invItem.CurrentPermissions;
llsdItem.permissions.everyone_mask = (int)invItem.EveryOnePermissions;
llsdItem.permissions.group_id = UUID.Zero;
@@ -789,7 +789,7 @@ namespace OpenSim.Framework.Communications.Capabilities
InventoryItemBase item = new InventoryItemBase();
item.Owner = m_agentID;
item.Creator = m_agentID;
item.CreatorId = m_agentID.ToString();
item.ID = inventoryItem;
item.AssetID = asset.FullID;
item.Description = assetDescription;

View File

@@ -53,8 +53,16 @@ namespace OpenSim.Framework
/// <summary>
/// The creator of this item
/// </summary>
private UUID _creator;
private string m_creatorId = String.Empty;
/// <summary>
/// The creator of this item expressed as a UUID
/// </summary>
private UUID m_creatorIdAsUuid = UUID.Zero;
/// <summary>
///
/// </summary>
private uint _nextPermissions;
/// <summary>
@@ -129,10 +137,27 @@ namespace OpenSim.Framework
set { _folder = value; }
}
public UUID Creator
/// <value>
/// The creator ID
/// </value>
public string CreatorId
{
get { return _creator; }
set { _creator = value; }
get { return m_creatorId; }
set
{
m_creatorId = value;
// For now, all IDs are UUIDs
UUID.TryParse(m_creatorId, out m_creatorIdAsUuid);
}
}
/// <value>
/// The creator ID expressed as a UUID
/// </value>
public UUID CreatorIdAsUuid
{
get { return m_creatorIdAsUuid; }
}
public string Description