| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | 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<long>))]    public interface IEPDService	{          /// <summary>        /// 设置当前model        /// </summary>        /// <param name="model"></param>        [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);        /// <summary>        ///RecipeStart        /// </summary>        /// <param name="recipe"></param>        [OperationContract]        void RecipeStart(int channel, string name);        /// <summary>        ///RecipeStart        /// </summary>        /// <param name="model"></param>        [OperationContract]        void RecipeStop(int channel);        /// <summary>        /// Online 模式,开始计算        /// </summary>        /// <param name="model"></param>        [OperationContract]        void Start(int channel, int idx, string name, string model);        [OperationContract]        void StartByConfig(int channel, int idx, string name, EPDConfig config);        /// <summary>        /// online 模式,停止计算        /// </summary>        [OperationContract]        void Stop(int channel);                /// <summary>        /// online模式,暂停        /// </summary>        [OperationContract]        void Pause(int channel);        [OperationContract]        /// <summary>        /// online模式,恢复计算        /// </summary>        void Resume(int channel);        /// <summary>        /// 获取硬件通道数        /// </summary>        [OperationContract]        int QueryChannels();        [OperationContract]        List<string> QueryChannelNames();        [OperationContract]        string QueryChannelName(int channel);        [OperationContract]        ///        /// 获取当前model <name,xml>        ///        Tuple<string,string> QueryModel(int channel);         /// <summary>        /// 获取 波长信息,频谱图 X 坐标        /// </summary>        /// <param name="wave"></param>        [OperationContract]        double[] QueryWave(int channel);        /// <summary>        /// 获取当前帧数据                /// </summary>        /// <param name="data"></param>        /// <returns>False,为无数据。        /// </returns>        [OperationContract]        CRawDataItem QueryData(int channel);        [OperationContract]        ///        /// 获取当前State        ///        EPDState QueryState(int channel);                [OperationContract]        bool QueryRecordState(int channel);        [OperationContract]        long QueryRecipeTime(int channel);        [OperationContract]        List<long> QueryStepTime(int channel);        [OperationContract]        List<string> QueryConfigList();        [OperationContract]        string QueryConfig(string name);    }    public interface IRecipeService    {        [OperationContract]        List<string> QueryRecipes();        [OperationContract]        string Load(string name);        [OperationContract]        void Save(string name, string recipe);        [OperationContract]        void Delete(string name);    }}
 |