using System;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.Devices.Common.VideoCodec;
namespace PepperDash.Essentials.Devices.Common.Codec
{
///
/// Defines the API for codecs with a directory
///
public interface IHasDirectory
{
///
/// Event that fires when a directory result is returned from the codec
///
event EventHandler DirectoryResultReturned;
///
/// Gets the DirectoryRoot
///
CodecDirectory DirectoryRoot { get; }
///
/// Gets the CurrentDirectoryResult
///
CodecDirectory CurrentDirectoryResult { get; }
///
/// Gets the PhonebookSyncState
///
CodecPhonebookSyncState PhonebookSyncState { get; }
///
/// Method to initiate a search of the directory on the server
///
void SearchDirectory(string searchString);
///
/// Method to get the contents of a specific folder in the directory on the server
///
void GetDirectoryFolderContents(string folderId);
///
/// Method to set the current directory to the root folder
///
void SetCurrentDirectoryToRoot();
///
/// Method to get the contents of the parent folder in the directory on the server
///
void GetDirectoryParentFolderContents();
///
/// Gets the CurrentDirectoryResultIsNotDirectoryRoot
///
BoolFeedback CurrentDirectoryResultIsNotDirectoryRoot { get; }
}
}