using System; using System.Collections.Generic; using System.IO; namespace ZeroLevel.Services.Collections { public interface IEverythingStorage { IEnumerable<string> Keys<T>(); #region Generic bool TryAdd<T>(string key, T value); bool ContainsKey<T>(string key); bool TryRemove<T>(string key); void Add<T>(string key, T value); void AddOrUpdate<T>(string key, T value); void Remove<T>(string key); T Get<T>(string key); #endregion bool TryAdd(Type type, string key, object value); bool ContainsKey(Type type, string key); bool TryRemove(Type type, string key); void Add(Type type, string key, object value); void AddOrUpdate(Type type, string key, object value); void Remove(Type type, string key); object Get(Type type, string key); void Save(string path); void Load(string path); void Save(Stream stream); void Load(Stream stream); } }