using System.Collections.Generic; namespace WebDAVSharp.Server.Stores { /// /// This interface must be implemented by classes that operate as document collections in a store. /// public interface IWebDavStoreCollection : IWebDavStoreItem { /// /// Gets a collection of all the items in this . /// /// /// The items. /// IEnumerable Items { get; } /// /// Retrieves a store item by its name. /// /// The name of the store item to retrieve. /// /// The store item that has the specified /// ; /// or /// null if there is no store item with that name. /// IWebDavStoreItem GetItemByName(string name); /// /// Creates a new collection with the specified name. /// /// The name of the new collection. /// /// The created instance. /// IWebDavStoreCollection CreateCollection(string name); /// /// Deletes a store item by its name. /// /// The name of the store item to delete. void Delete(IWebDavStoreItem item); /// /// Creates a new document with the specified name. /// /// The name of the new document. /// /// The created instance. /// IWebDavStoreDocument CreateDocument(string name); /// /// Copies an existing store item into this collection, overwriting any existing items. /// /// The store item to copy from. /// The name of the copy to create of . /// The boolean for copying the containing files/folders or not. /// /// The created instance. /// IWebDavStoreItem CopyItemHere(IWebDavStoreItem source, string destinationName, bool includeContent); /// /// Moves an existing store item into this collection, overwriting any existing items. /// /// The store item to move. /// The /// that refers to the item that was moved, /// in its new location. /// /// The moved instance. /// /// /// Note that the method should fail without creating or overwriting content in the /// target collection if the move cannot go through. /// IWebDavStoreItem MoveItemHere(IWebDavStoreItem source, string destinationName); } }