diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Services/AssetService/AssetService.cs | 73 |
1 files changed, 40 insertions, 33 deletions
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs index 3122382..81ef225 100644 --- a/OpenSim/Services/AssetService/AssetService.cs +++ b/OpenSim/Services/AssetService/AssetService.cs | |||
@@ -43,44 +43,51 @@ namespace OpenSim.Services.AssetService | |||
43 | LogManager.GetLogger( | 43 | LogManager.GetLogger( |
44 | MethodBase.GetCurrentMethod().DeclaringType); | 44 | MethodBase.GetCurrentMethod().DeclaringType); |
45 | 45 | ||
46 | protected static AssetService m_RootInstance; | ||
47 | |||
46 | public AssetService(IConfigSource config) : base(config) | 48 | public AssetService(IConfigSource config) : base(config) |
47 | { | 49 | { |
48 | MainConsole.Instance.Commands.AddCommand("kfs", false, | 50 | if (m_RootInstance == null) |
49 | "show digest", | ||
50 | "show digest <ID>", | ||
51 | "Show asset digest", HandleShowDigest); | ||
52 | |||
53 | MainConsole.Instance.Commands.AddCommand("kfs", false, | ||
54 | "delete asset", | ||
55 | "delete asset <ID>", | ||
56 | "Delete asset from database", HandleDeleteAsset); | ||
57 | |||
58 | if (m_AssetLoader != null) | ||
59 | { | 51 | { |
60 | IConfig assetConfig = config.Configs["AssetService"]; | 52 | m_RootInstance = this; |
61 | if (assetConfig == null) | ||
62 | throw new Exception("No AssetService configuration"); | ||
63 | 53 | ||
64 | string loaderArgs = assetConfig.GetString("AssetLoaderArgs", | 54 | MainConsole.Instance.Commands.AddCommand("kfs", false, |
65 | String.Empty); | 55 | "show digest", |
56 | "show digest <ID>", | ||
57 | "Show asset digest", HandleShowDigest); | ||
66 | 58 | ||
67 | bool assetLoaderEnabled = assetConfig.GetBoolean("AssetLoaderEnabled", true); | 59 | MainConsole.Instance.Commands.AddCommand("kfs", false, |
60 | "delete asset", | ||
61 | "delete asset <ID>", | ||
62 | "Delete asset from database", HandleDeleteAsset); | ||
68 | 63 | ||
69 | if (assetLoaderEnabled) | 64 | if (m_AssetLoader != null) |
70 | { | 65 | { |
71 | m_log.InfoFormat("[ASSET]: Loading default asset set from {0}", loaderArgs); | 66 | IConfig assetConfig = config.Configs["AssetService"]; |
72 | m_AssetLoader.ForEachDefaultXmlAsset(loaderArgs, | 67 | if (assetConfig == null) |
73 | delegate(AssetBase a) | 68 | throw new Exception("No AssetService configuration"); |
74 | { | 69 | |
75 | Store(a); | 70 | string loaderArgs = assetConfig.GetString("AssetLoaderArgs", |
76 | }); | 71 | String.Empty); |
72 | |||
73 | bool assetLoaderEnabled = assetConfig.GetBoolean("AssetLoaderEnabled", true); | ||
74 | |||
75 | if (assetLoaderEnabled) | ||
76 | { | ||
77 | m_log.InfoFormat("[ASSET]: Loading default asset set from {0}", loaderArgs); | ||
78 | m_AssetLoader.ForEachDefaultXmlAsset(loaderArgs, | ||
79 | delegate(AssetBase a) | ||
80 | { | ||
81 | Store(a); | ||
82 | }); | ||
83 | } | ||
84 | |||
85 | m_log.Info("[ASSET SERVICE]: Local asset service enabled"); | ||
77 | } | 86 | } |
78 | |||
79 | m_log.Info("[ASSET SERVICE]: Local asset service enabled"); | ||
80 | } | 87 | } |
81 | } | 88 | } |
82 | 89 | ||
83 | public AssetBase Get(string id) | 90 | public virtual AssetBase Get(string id) |
84 | { | 91 | { |
85 | UUID assetID; | 92 | UUID assetID; |
86 | 93 | ||
@@ -93,12 +100,12 @@ namespace OpenSim.Services.AssetService | |||
93 | return m_Database.GetAsset(assetID); | 100 | return m_Database.GetAsset(assetID); |
94 | } | 101 | } |
95 | 102 | ||
96 | public AssetBase GetCached(string id) | 103 | public virtual AssetBase GetCached(string id) |
97 | { | 104 | { |
98 | return Get(id); | 105 | return Get(id); |
99 | } | 106 | } |
100 | 107 | ||
101 | public AssetMetadata GetMetadata(string id) | 108 | public virtual AssetMetadata GetMetadata(string id) |
102 | { | 109 | { |
103 | UUID assetID; | 110 | UUID assetID; |
104 | 111 | ||
@@ -112,7 +119,7 @@ namespace OpenSim.Services.AssetService | |||
112 | return null; | 119 | return null; |
113 | } | 120 | } |
114 | 121 | ||
115 | public byte[] GetData(string id) | 122 | public virtual byte[] GetData(string id) |
116 | { | 123 | { |
117 | UUID assetID; | 124 | UUID assetID; |
118 | 125 | ||
@@ -123,7 +130,7 @@ namespace OpenSim.Services.AssetService | |||
123 | return asset.Data; | 130 | return asset.Data; |
124 | } | 131 | } |
125 | 132 | ||
126 | public bool Get(string id, Object sender, AssetRetrieved handler) | 133 | public virtual bool Get(string id, Object sender, AssetRetrieved handler) |
127 | { | 134 | { |
128 | //m_log.DebugFormat("[AssetService]: Get asset async {0}", id); | 135 | //m_log.DebugFormat("[AssetService]: Get asset async {0}", id); |
129 | 136 | ||
@@ -141,7 +148,7 @@ namespace OpenSim.Services.AssetService | |||
141 | return true; | 148 | return true; |
142 | } | 149 | } |
143 | 150 | ||
144 | public string Store(AssetBase asset) | 151 | public virtual string Store(AssetBase asset) |
145 | { | 152 | { |
146 | //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID); | 153 | //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID); |
147 | if (!m_Database.StoreAsset(asset)) | 154 | if (!m_Database.StoreAsset(asset)) |
@@ -157,7 +164,7 @@ namespace OpenSim.Services.AssetService | |||
157 | return false; | 164 | return false; |
158 | } | 165 | } |
159 | 166 | ||
160 | public bool Delete(string id) | 167 | public virtual bool Delete(string id) |
161 | { | 168 | { |
162 | m_log.DebugFormat("[ASSET SERVICE]: Deleting asset {0}", id); | 169 | m_log.DebugFormat("[ASSET SERVICE]: Deleting asset {0}", id); |
163 | UUID assetID; | 170 | UUID assetID; |