using System.Collections.Generic;
namespace AppLimit.CloudComputing.SharpBox
{
///
/// This structure defines the different states which are possible
/// about the child state
///
public enum nChildState
{
///
/// Indicates that the folder has some childs (folders or files)
///
HasChilds = 1,
///
/// Indicates that the folder has no childs (folders or files)
///
HasNoChilds = 2,
///
/// Indicates that SharpBox did not evaluated it. To evaluate this
/// just call GetChild
///
HasNotEvaluated = 3
}
///
/// Normally file based storage systems are supporting a hierarchical
/// folder structure. This interface will be used to get access on the
/// folders in the cloud storage
///
public interface ICloudDirectoryEntry : ICloudFileSystemEntry, IEnumerable
{
///
/// This method allows to get a directory entry with a specific folder
/// id.
///
/// The name of the targeted folder
/// Reference to the file or folder
ICloudFileSystemEntry GetChild(string id);
///
/// This method allows to get a directory entry with a specific folder
/// id.
///
///
///
///
ICloudFileSystemEntry GetChild(string id, bool bThrowException);
///
/// This method allows to get a directory entry with a specific index
/// number
///
/// The index of the targeted folder
/// Reference to the file or folder
ICloudFileSystemEntry GetChild(int idx);
///
/// This property allows to access to the number of
/// child items
///
int Count { get; }
///
/// This property contains the information about the children state. Query this property
/// will not perform any network operations
///
nChildState HasChildrens { get; }
}
}