using Esiur.Resource; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Esiur.Engine; namespace Esiur.Stores { public class MemoryStore : IStore { public Instance Instance { get; set; } public event DestroyedEvent OnDestroy; Dictionary resources = new Dictionary(); public void Destroy() { } public string Link(IResource resource) { if (resource.Instance.Store == this) return this.Instance.Name + "/" + resource.Instance.Id; return null; } public AsyncReply Get(string path) { return new AsyncReply(null); } public bool Put(IResource resource) { resources.Add(resource.Instance.Id, resource); return true; } public AsyncReply Retrieve(uint iid) { if (resources.ContainsKey(iid)) return new AsyncReply(resources[iid]); else return new AsyncReply(null); } public AsyncReply Trigger(ResourceTrigger trigger) { return new AsyncReply(true); } } }