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); // } [ServiceContract] [ServiceKnownType(typeof(EPDState))] [ServiceKnownType(typeof(RawDataItem))] [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] void Reset(); [OperationContract] int IsOnline(); [OperationContract] void SetOption(string name, string value); [OperationContract] string GetOption(string name); [OperationContract] string GetData(string name); [OperationContract] Dictionary GetOptions(List names); [OperationContract] bool SetOptions(Dictionary dic, string cmd, int channel); //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); // online模式,恢复计算 [OperationContract] void Resume(int channel); // 手动触发EndPoint [OperationContract] void ManualEPD(int channel); // 获取硬件通道数 [OperationContract] int QueryChannels(); [OperationContract] List QueryChannelNames(); [OperationContract] List QueryChamberNames(); [OperationContract] string QueryChannelName(int channel); // 获取当前model [OperationContract] Tuple QueryModel(int channel); // 获取 波长信息,频谱图 X 坐标 [OperationContract] double[] QueryWave(int channel); [OperationContract] double[] QueryWaveIEP(int channel); /// /// 获取当前帧数据 /// /// /// False,为无数据。 /// [OperationContract] CRawDataItem QueryData(int channel); [OperationContract] RawDataItem QueryRawData(int channel); [OperationContract] List QuerySpectrum(int channel); [OperationContract] List QueryHistoryDataList(int channel, string date); [OperationContract] byte[] QueryHistoryData(int channel, string date, string name); // 获取当前State [OperationContract] EPDState QueryState(int channel); [OperationContract] bool QueryConnectState(int channel); [OperationContract] bool QueryRecordState(int channel); [OperationContract] long QueryRecipeTime(int channel); [OperationContract] List QueryStepTime(int channel); [OperationContract] List QueryConfigList(); // 读取光谱采集器故障信息 [OperationContract] string QuerySpectralStatus(); [OperationContract] List QuerySpectralSerials(); [OperationContract] string QueryChannelSerial(int channel); [OperationContract] string QueryChannelVersion(int channel); [OperationContract] string QueryConfig(string name); [OperationContract] bool DeleteConfig(string name); [OperationContract] bool SaveConfig(string name, string xml); [OperationContract] int QueryIntrgrationTime(int channel); [OperationContract] void SetIntrgrationTime(int channel, int ms); [OperationContract] void SetFlashMode(int channel, bool model); [OperationContract] int QueryRunStatus(); [OperationContract] void SetRunStatus(int runSta); [OperationContract] int QueryOperateMode(); [OperationContract] void SetOperateMode(int mode); [OperationContract] void ClearBackground(int channel); [OperationContract] double QueryClearBackgroundPercent(int channel); [OperationContract] RawDataType QueryRawType(int channel); [OperationContract] int QueryWaveFactorStatus(int channel); //[OperationContract] AccountMgrResult CreateUser(string userName, string firstName, string lastName, string description, string password, RoleLevel roleLevel); //[OperationContract] AccountMgrResult DeleteUser(string userName); //[OperationContract] AccountMgrResult UpdateUser(string userName, string firstName, string lastName, string description, string password, RoleLevel roleLevel); //[OperationContract] AccountMgrResult UpdatePassword(string userName, string password); //[OperationContract] string GetCurrentUser(); //[OperationContract] Datas.Account GetUserData(string userName); //[OperationContract] List GetUserList(); //[OperationContract] Dictionary GetRoleAuthorizations(RoleLevel roleLevel); //[OperationContract] Dictionary GetCurrentUserAuthorizations(); //[OperationContract] AccessLevel GetCurrentUserModuleAuthorization(AuthorizationModule module); //[OperationContract] AccountMgrResult UpdateRoleAuthorization(RoleLevel roleLevel, Dictionary authorizations); //[OperationContract] AccountMgrResult Login(string username, string password); //[OperationContract] AccountMgrResult Logout(string username); } public interface IRecipeService { [OperationContract] List QueryRecipes(); [OperationContract] string Load(string name); [OperationContract] void Save(string name, string recipe); [OperationContract] void Delete(string name); } }