public void AssetIntoFile(OMV.UUID getID, OMV.AssetType type, string filename, AssetFetcherCompletionCallback doneCall)
 {
     m_totalRequests.Event();
     if (File.Exists(filename))
     {
         m_requestsForExisting.Event();
         // doneCall.BeginInvoke(getID, filename, null, null);
         ThreadPool.QueueUserWorkItem((WaitCallback) delegate(Object x) {
             // ThreadPool.UnsafeQueueUserWorkItem((WaitCallback)delegate(Object x) {
             doneCall(getID, filename);
         }, null);
     }
     lock (m_requests) {
         if (!m_requests.ContainsKey(filename))
         {
             TRequest treq = new TRequest();
             treq.ID        = getID;
             treq.Filename  = filename;
             treq.Type      = type;
             treq.DoneCall  = doneCall;
             treq.QueueTime = System.Environment.TickCount;
             m_requests.Add(filename, treq);
         }
         else
         {
             m_duplicateRequests.Event();
         }
     }
     PushRequests();
 }
Пример #2
0
 public abstract void StoreRawAsset(EntityHandle handle, string name, OMV.AssetType assetType, OMV.UUID creatorID, byte[] data);
Пример #3
0
        public override void StoreRawAsset(EntityHandle handle, string name, OMV.AssetType assetType, OMV.UUID creatorID, byte[] data)
        {
            AssetBase newAsset = new AssetBase(((EntityHandleUUID)handle).GetUUID(), name, (sbyte)assetType, creatorID.ToString());

            _assetService.Store(newAsset);
        }
Пример #4
0
 public override void StoreRawAsset(EntityHandle handle, string name, OMV.AssetType assetType, OMV.UUID creatorID, byte[] data)
 {
     throw new NotImplementedException();
 }