using EPInterface.Data; using System; using System.Collections.Generic; using System.ServiceModel; using EPInterface.Datas; namespace EPInterface { [ServiceContract] [ServiceKnownType(typeof(EPDState))] [ServiceKnownType(typeof(CRawDataItem))] [ServiceKnownType(typeof(List))] public interface IEPDService { /// /// 设置当前model /// /// [OperationContract] void SetModel(int channel, string name, string model); [OperationContract] int Heartbeat(int counter); [OperationContract] void Online(); [OperationContract] void Offline(); [OperationContract] bool IsOnline(); [OperationContract] void SetOption(string name, string value); [OperationContract] string GetOption(string name); /// ///RecipeStart /// /// [OperationContract] void RecipeStart(int channel, string name); /// ///RecipeStart /// /// [OperationContract] void RecipeStop(int channel); /// /// Online 模式,开始计算 /// /// [OperationContract] void Start(int channel, int idx, string name, string model); [OperationContract] void StartByConfig(int channel, int idx, string name, EPDConfig config); /// /// online 模式,停止计算 /// [OperationContract] void Stop(int channel); /// /// online模式,暂停 /// [OperationContract] void Pause(int channel); [OperationContract] /// /// online模式,恢复计算 /// void Resume(int channel); /// /// 获取硬件通道数 /// [OperationContract] int QueryChannels(); [OperationContract] List QueryChannelNames(); [OperationContract] string QueryChannelName(int channel); [OperationContract] /// /// 获取当前model /// Tuple QueryModel(int channel); /// /// 获取 波长信息,频谱图 X 坐标 /// /// [OperationContract] double[] QueryWave(int channel); /// /// 获取当前帧数据 /// /// /// False,为无数据。 /// [OperationContract] CRawDataItem QueryData(int channel); [OperationContract] /// /// 获取当前State /// EPDState QueryState(int channel); [OperationContract] bool QueryRecordState(int channel); [OperationContract] long QueryRecipeTime(int channel); [OperationContract] List QueryStepTime(int channel); [OperationContract] List QueryConfigList(); [OperationContract] string QueryConfig(string name); } public interface IRecipeService { [OperationContract] List QueryRecipes(); [OperationContract] string Load(string name); [OperationContract] void Save(string name, string recipe); [OperationContract] void Delete(string name); } }