diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2018-11-14 12:39:54 +0900 |
---|---|---|
committer | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2018-11-14 12:39:54 +0900 |
commit | 5f9be1b9c8e6a4b6d25d64e6f5ec28deb0525854 (patch) | |
tree | f1df13a6601a8065c3ecd5c73065b9d768b56c77 /demo3/common/agl-service-windowmanager/src/wm_connection.hpp | |
parent | 5025144c46ad116ba2f7b0506fb9b5c0b2b7a3e4 (diff) |
Add windowmanager-service and libraries
Add windowmanager-service and libraries.
Change-Id: I838b149ee8a62c0dbc6cb98e1fe8e45929e19140
Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'demo3/common/agl-service-windowmanager/src/wm_connection.hpp')
-rw-r--r-- | demo3/common/agl-service-windowmanager/src/wm_connection.hpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/demo3/common/agl-service-windowmanager/src/wm_connection.hpp b/demo3/common/agl-service-windowmanager/src/wm_connection.hpp new file mode 100644 index 0000000..9d3180f --- /dev/null +++ b/demo3/common/agl-service-windowmanager/src/wm_connection.hpp @@ -0,0 +1,64 @@ +/* + * Insert Copyright if needed. + */ + +#ifndef WM_CONNECTION_HPP +#define WM_CONNECTION_HPP + +#include <functional> + +struct json_object; + +namespace wm +{ + +class WMConnection +{ + public: + WMConnection(); + ~WMConnection() = default; + + using ReceivedHandler = std::function<void(json_object* j_out)>; + + int initialize(); + void registerCallback(ReceivedHandler on_received); + int sendRequest(char const *req, char const *appid, + char const *drawing_name, char const *drawing_area); + bool isMasterMode(); + bool isMasterArea(const char* area); + bool isConnecting(); + std::string parseMasterArea(const char* area); + bool isSyncDrawingForRemote(const char* role); + void startSyncDrawForRemote(const char* role); + void finishSyncDrawForRemote(const char* role); + int getMySocket(); + int getConnectedSocket(); + void setConnectedSocket(int connected_socket); + std::string getEcuName(); + void callOnReceivedHandler(json_object *j_out); + int connectToMaster(); + + int receive(json_object** j_out); + + private: + std::string mode; + std::string ip; + int port; + int my_socket = -1; + int connected_socket = -1; + ReceivedHandler onReceived; + std::string syndDrawingAppId; + + std::string ecu_name; + + int initializeMaster(); + int initializeSlave(); + int loadConnectionConfigFile(); + + int send(json_object* j_in); +}; + +} // namespace wm + +#endif // WM_CONNECTION_HPP + |