aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/AssetBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/AssetBase.cs')
-rw-r--r--OpenSim/Framework/AssetBase.cs66
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
34namespace OpenSim.Framework 34namespace 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}