using System; namespace Substrate.Data { /// <summary> /// An interface of basic manipulations on an abstract data store for map data. /// </summary> public interface IMapManager { /// <summary> /// Gets a <see cref="Map"/> object for the given map id from the underlying data store. /// </summary> /// <param name="id">The id of a map data resource.</param> /// <returns>A <see cref="Map"/> object for the given map id, or <c>null</c> if the map doesn't exist.</returns> Map GetMap (int id); /// <summary> /// Saves a <see cref="Map"/> object's data back to the underlying data store for the given map id. /// </summary> /// <param name="id">The id of the map to write back data for.</param> /// <param name="map">The <see cref="Map"/> object containing data to write back.</param> void SetMap (int id, Map map); /// <summary> /// Checks if a map exists in the underlying data store. /// </summary> /// <param name="id">The id of the map to look up.</param> /// <returns>True if map data was found; false otherwise.</returns> bool MapExists (int id); /// <summary> /// Deletes a map with the given id from the underlying data store. /// </summary> /// <param name="id">The id of the map to delete.</param> void DeleteMap (int id); } }