diff options
Diffstat (limited to 'OpenSim/Framework/AssetBase.cs')
-rw-r--r-- | OpenSim/Framework/AssetBase.cs | 66 |
1 files changed, 48 insertions, 18 deletions
diff --git a/OpenSim/Framework/AssetBase.cs b/OpenSim/Framework/AssetBase.cs index 212f41d..53d28be 100644 --- a/OpenSim/Framework/AssetBase.cs +++ b/OpenSim/Framework/AssetBase.cs | |||
@@ -33,6 +33,15 @@ using OpenMetaverse; | |||
33 | 33 | ||
34 | namespace OpenSim.Framework | 34 | namespace OpenSim.Framework |
35 | { | 35 | { |
36 | [Flags] | ||
37 | public enum AssetFlags : int | ||
38 | { | ||
39 | Normal = 0, // Immutable asset | ||
40 | Maptile = 1, // What it says | ||
41 | Rewritable = 2, // Content can be rewritten | ||
42 | Collectable = 4 // Can be GC'ed after some time | ||
43 | } | ||
44 | |||
36 | /// <summary> | 45 | /// <summary> |
37 | /// Asset class. All Assets are reference by this class or a class derived from this class | 46 | /// Asset class. All Assets are reference by this class or a class derived from this class |
38 | /// </summary> | 47 | /// </summary> |
@@ -59,9 +68,10 @@ namespace OpenSim.Framework | |||
59 | m_metadata.FullID = UUID.Zero; | 68 | m_metadata.FullID = UUID.Zero; |
60 | m_metadata.ID = UUID.Zero.ToString(); | 69 | m_metadata.ID = UUID.Zero.ToString(); |
61 | m_metadata.Type = (sbyte)AssetType.Unknown; | 70 | m_metadata.Type = (sbyte)AssetType.Unknown; |
71 | m_metadata.CreatorID = String.Empty; | ||
62 | } | 72 | } |
63 | 73 | ||
64 | public AssetBase(UUID assetID, string name, sbyte assetType) | 74 | public AssetBase(UUID assetID, string name, sbyte assetType, string creatorID) |
65 | { | 75 | { |
66 | if (assetType == (sbyte)AssetType.Unknown) | 76 | if (assetType == (sbyte)AssetType.Unknown) |
67 | { | 77 | { |
@@ -74,9 +84,10 @@ namespace OpenSim.Framework | |||
74 | m_metadata.FullID = assetID; | 84 | m_metadata.FullID = assetID; |
75 | m_metadata.Name = name; | 85 | m_metadata.Name = name; |
76 | m_metadata.Type = assetType; | 86 | m_metadata.Type = assetType; |
87 | m_metadata.CreatorID = creatorID; | ||
77 | } | 88 | } |
78 | 89 | ||
79 | public AssetBase(string assetID, string name, sbyte assetType) | 90 | public AssetBase(string assetID, string name, sbyte assetType, string creatorID) |
80 | { | 91 | { |
81 | if (assetType == (sbyte)AssetType.Unknown) | 92 | if (assetType == (sbyte)AssetType.Unknown) |
82 | { | 93 | { |
@@ -89,6 +100,7 @@ namespace OpenSim.Framework | |||
89 | m_metadata.ID = assetID; | 100 | m_metadata.ID = assetID; |
90 | m_metadata.Name = name; | 101 | m_metadata.Name = name; |
91 | m_metadata.Type = assetType; | 102 | m_metadata.Type = assetType; |
103 | m_metadata.CreatorID = creatorID; | ||
92 | } | 104 | } |
93 | 105 | ||
94 | public bool ContainsReferences | 106 | public bool ContainsReferences |
@@ -203,6 +215,12 @@ namespace OpenSim.Framework | |||
203 | set { m_metadata.Temporary = value; } | 215 | set { m_metadata.Temporary = value; } |
204 | } | 216 | } |
205 | 217 | ||
218 | public AssetFlags Flags | ||
219 | { | ||
220 | get { return m_metadata.Flags; } | ||
221 | set { m_metadata.Flags = value; } | ||
222 | } | ||
223 | |||
206 | [XmlIgnore] | 224 | [XmlIgnore] |
207 | public AssetMetadata Metadata | 225 | public AssetMetadata Metadata |
208 | { | 226 | { |
@@ -220,7 +238,6 @@ namespace OpenSim.Framework | |||
220 | public class AssetMetadata | 238 | public class AssetMetadata |
221 | { | 239 | { |
222 | private UUID m_fullid; | 240 | private UUID m_fullid; |
223 | // m_id added as a dirty hack to transition from FullID to ID | ||
224 | private string m_id; | 241 | private string m_id; |
225 | private string m_name = String.Empty; | 242 | private string m_name = String.Empty; |
226 | private string m_description = String.Empty; | 243 | private string m_description = String.Empty; |
@@ -230,8 +247,8 @@ namespace OpenSim.Framework | |||
230 | private byte[] m_sha1; | 247 | private byte[] m_sha1; |
231 | private bool m_local; | 248 | private bool m_local; |
232 | private bool m_temporary; | 249 | private bool m_temporary; |
233 | //private Dictionary<string, Uri> m_methods = new Dictionary<string, Uri>(); | 250 | private string m_creatorid; |
234 | //private OSDMap m_extra_data; | 251 | private AssetFlags m_flags; |
235 | 252 | ||
236 | public UUID FullID | 253 | public UUID FullID |
237 | { | 254 | { |
@@ -289,8 +306,21 @@ namespace OpenSim.Framework | |||
289 | 306 | ||
290 | public string ContentType | 307 | public string ContentType |
291 | { | 308 | { |
292 | get { return m_content_type; } | 309 | get |
293 | set { m_content_type = value; } | 310 | { |
311 | if (!String.IsNullOrEmpty(m_content_type)) | ||
312 | return m_content_type; | ||
313 | else | ||
314 | return SLUtil.SLAssetTypeToContentType(m_type); | ||
315 | } | ||
316 | set | ||
317 | { | ||
318 | m_content_type = value; | ||
319 | |||
320 | sbyte type = (sbyte)SLUtil.ContentTypeToSLAssetType(value); | ||
321 | if (type != -1) | ||
322 | m_type = type; | ||
323 | } | ||
294 | } | 324 | } |
295 | 325 | ||
296 | public byte[] SHA1 | 326 | public byte[] SHA1 |
@@ -311,16 +341,16 @@ namespace OpenSim.Framework | |||
311 | set { m_temporary = value; } | 341 | set { m_temporary = value; } |
312 | } | 342 | } |
313 | 343 | ||
314 | //public Dictionary<string, Uri> Methods | 344 | public string CreatorID |
315 | //{ | 345 | { |
316 | // get { return m_methods; } | 346 | get { return m_creatorid; } |
317 | // set { m_methods = value; } | 347 | set { m_creatorid = value; } |
318 | //} | 348 | } |
319 | 349 | ||
320 | //public OSDMap ExtraData | 350 | public AssetFlags Flags |
321 | //{ | 351 | { |
322 | // get { return m_extra_data; } | 352 | get { return m_flags; } |
323 | // set { m_extra_data = value; } | 353 | set { m_flags = value; } |
324 | //} | 354 | } |
325 | } | 355 | } |
326 | } | 356 | } |