raw_data_uv_ipc_server.h 807 B

1234567891011121314151617181920212223242526272829
  1. #ifndef _raw_data_uv_ipc_server_h_
  2. #define _raw_data_uv_ipc_server_h_
  3. #include "uv_ipc_common.h"
  4. #include <string>
  5. ////////////////////////////////////////////////////////////////////////////////////////////////
  6. class RawDataUVIPCServer : public UVIPCSink
  7. {
  8. public:
  9. RawDataUVIPCServer();
  10. virtual ~RawDataUVIPCServer();
  11. bool StartPipeServer(char* pipe_name, UVIPCSink* sink);
  12. bool StopPipeServer();
  13. virtual void onMessageRecvNotification(UVIPCMessage* msg);
  14. virtual void onConnect();
  15. virtual void onDisconnect();
  16. virtual void onIdle();
  17. bool SendMessage(const char* buf, int len);
  18. bool SendMessage(UVIPCMessage* msg);
  19. bool HasClientConnected() { return _pipe_server.IsRunning(true); }
  20. private:
  21. int _client_connected_count;
  22. UVIPCInSubThread _pipe_server;
  23. UVIPCSink* _external_sink;
  24. };
  25. #endif