#pragma once #include "TCPClient.h" class CRedRatProcess: public CTCPClient { public: CRedRatProcess(void); ~CRedRatProcess(void); protected: bool checkEOM(std::string& data); private: // ֻ������һ�����������; static DWORD m_dwCurAppId; std::string m_strCurDevice; std::string m_strCurDataset; std::vector<std::string> m_vtDevices; std::vector<std::string> m_vtDataset; std::vector<std::string> m_vtSignals; // �ⲿ����ӿ�; public: static bool StartApp(LPCTSTR lpAppDir, LPCTSTR lpSignalXml, DWORD dwPort = 40000); static DWORD IsAppRunning(LPCTSTR lpszAppDir); static bool CloseApp(DWORD dwAppId = 0); static DWORD GetProcessId(std::string strApp = "RedRatHubCmd.exe"); // ������ӿ�; public: // ��ȡ�豸�б�; bool getDeviceNameList(); bool getDeviceNameList(std::vector<std::string>& vtDevice); // �����ź����ݼ�; void SelectDataset(std::string dataset) { m_strCurDataset = dataset; } // ��ȡ���ݼ��б�; bool getDatasetNameList(); bool getDatasetNameList(std::vector<std::string>& vtDataset); // �����ź����ݼ�xml�ļ�,����ɾ����ǰ���м��ع���xml�ļ�; bool loadSignalDataSet(std::string file); // �����ź����ݼ�xml�ļ�, ��ͬ���ݼ����ƵĽ��ᱻ���� bool addSignalDataSet(std::string file); // ��ȡָ�����ݼ��ź�����; //bool getSignalsName(std::string dataset = ""); bool getSignalsName(std::vector<std::string>& vtSignals, std::string dataset = ""); std::string getSignalsName(std::string dataset = ""); // ���͵����ź�; bool sendSignal(std::string signal, int send_times = 1, int sleep_time = 1000); // ���Ͷ���ź�; bool sendSignals(const char(*signals)[10], int nCount, int sleep_time = 1000); bool sendSignals(std::string signals[], int nCount, int sleep_time = 1000); bool sendSignals(std::vector<std::string>& vtSignals, int sleep_time = 1000); // �ظ�����; bool sendRepeatsSignal(std::string signal, int repeat_time = 2); bool sendDurationSignal(std::string signal, int duration_time = 1000); bool sendBothSignal(std::string signal, int repeat_time = 2, int duration_time = 1000); };