// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // Defines the IServerService type. // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrake.ApplicationServices.Services.Interfaces { using System.Runtime.Serialization; using System.ServiceModel; using HandBrake.ApplicationServices.Model; using HandBrake.ApplicationServices.Parsing; /// /// The HandBrakeService interface. /// [ServiceContract(CallbackContract = typeof(IHbServiceCallback), SessionMode = SessionMode.Required)] public interface IServerService { /// /// Gets the activity log. /// [DataMember] string ScanActivityLog { get; } /// /// Gets the activity log. /// [DataMember] string EncodeActivityLog { get; } /// /// Gets the souce data. /// Source SouceData { [OperationContract] get; } /// /// Gets a value indicating whether is scanning. /// bool IsScanning { [OperationContract] get; } /// /// Gets a value indicating whether is encoding. /// bool IsEncoding { [OperationContract] get; } /// /// Start the WCF Service /// /// /// The port. /// void Start(string port); /// /// Stop the WCF Service /// void Stop(); /// /// The scan source. /// /// /// The path. /// /// /// The title. /// /// /// The preview Count. /// [OperationContract] void ScanSource(string path, int title, int previewCount); /// /// Start and Encode /// /// /// The job. /// /// /// The enable logging. /// [OperationContract] void StartEncode(QueueTask job, bool enableLogging); /// /// The process encode logs. /// /// /// The destination. /// [OperationContract] void ProcessEncodeLogs(string destination); /// /// Stop and Encode /// [OperationContract] void StopEncode(); /// /// Stop the scan. /// [OperationContract] void StopScan(); /// /// Subscribe for callbacks from the called functions /// /// /// The System.Boolean. /// [OperationContract] bool Subscribe(); /// /// Unsubscribe from callbacks. /// /// /// The System.Boolean. /// [OperationContract] bool Unsubscribe(); } }