mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 18:55:58 +08:00
* reseparate inventory item creator id and creator uuid
* unfortunately, while the client requires uuids and we want to be able to have arbitrary string ids, these cannot be kept in sync * I think the problems last time were due to a serialization change * So the major inteface version has been bumped to take care of any lingering issues here. * This means that region servers beyond this revision can only connect to similarly uptodate grid services, and vice versa
This commit is contained in:
@@ -84,26 +84,38 @@ namespace OpenSim.Framework
|
||||
m_creatorId = value;
|
||||
}
|
||||
}
|
||||
protected string m_creatorId;
|
||||
|
||||
protected string m_creatorId = UUID.Zero.ToString();
|
||||
/// <value>
|
||||
/// The creator of this item expressed as a UUID. Database plugins don't need to set this, it will be set by
|
||||
/// The UUID for the creator. This may be different from the canonical CreatorId. This property is used
|
||||
/// for communication with the client over the Second Life protocol, since that protocol can only understand
|
||||
/// UUIDs. As this is a basic framework class, this means that both the string creator id and the uuid
|
||||
/// reference have to be settable separately
|
||||
///
|
||||
/// Database plugins don't need to set this, it will be set by
|
||||
/// upstream code (or set by the get accessor if left unset).
|
||||
///
|
||||
/// XXX: An alternative to having a separate uuid property would be to hash the CreatorId appropriately
|
||||
/// every time there was communication with a UUID-only client. This may be much more expensive.
|
||||
/// </value>
|
||||
public UUID CreatorIdAsUuid
|
||||
{
|
||||
get
|
||||
{
|
||||
UUID temp = UUID.Zero;
|
||||
UUID.TryParse(CreatorId, out temp);
|
||||
return temp;
|
||||
if (UUID.Zero == m_creatorIdAsUuid)
|
||||
{
|
||||
UUID.TryParse(CreatorId, out m_creatorIdAsUuid);
|
||||
}
|
||||
|
||||
return m_creatorIdAsUuid;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
CreatorId = value.ToString();
|
||||
m_creatorIdAsUuid = value;
|
||||
}
|
||||
}
|
||||
protected UUID m_creatorIdAsUuid = UUID.Zero;
|
||||
|
||||
/// <value>
|
||||
/// The description of the inventory item (must be less than 64 characters)
|
||||
|
||||
@@ -236,10 +236,6 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||
/// <summary>
|
||||
/// The operation to perform once trust has been established.
|
||||
/// </summary>
|
||||
/// <param name="httpMethod"></param>
|
||||
/// <param name="path"></param>
|
||||
/// <param name="method"></param>
|
||||
/// <param name="tmethod"></param>
|
||||
private RestDeserialiseMethod<TRequest, TResponse> m_method;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -48,6 +48,6 @@ namespace OpenSim
|
||||
/// of the code that is too old.
|
||||
///
|
||||
/// </value>
|
||||
public readonly static int MajorInterfaceVersion = 3;
|
||||
public readonly static int MajorInterfaceVersion = 4;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user