// --------------------------------------------------------------------------------------------------------------------
//
// 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;
///
/// The HandBrakeService interface.
///
[ServiceContract(CallbackContract = typeof(IHbServiceCallback), SessionMode = SessionMode.Required)]
public interface IServerService
{
///
/// Gets the activity log.
///
[DataMember]
string EncodeActivityLog { 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();
///
/// Start and Encode
///
///
/// The job.
///
[OperationContract]
void StartEncode(QueueTask job);
///
/// The process encode logs.
///
///
/// The destination.
///
[OperationContract]
void ProcessEncodeLogs(string destination);
///
/// Stop and Encode
///
[OperationContract]
void StopEncode();
///
/// Subscribe for callbacks from the called functions
///
///
/// The System.Boolean.
///
[OperationContract]
bool Subscribe();
///
/// Unsubscribe from callbacks.
///
///
/// The System.Boolean.
///
[OperationContract]
bool Unsubscribe();
}
}