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; } } }