3Gear Systems SDK  v0.9.34
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
HandTrackingClient.h
1 #pragma once
2 
3 #include "HandTrackingClient/HandTrackingListener.h"
5 
6 #include <string>
7 #include <memory>
8 #include <cstdint>
9 
35 namespace HandTrackingClient
36 {
37 
38 // In case you want to use this as a standalone library, we hide the implementation
39 // in the CPP file so that you don't have to depend on asio or boost
40 // We use the private implementation idiom: http://c2.com/cgi/wiki?PimplIdiom
41 class ClientImpl;
42 
43 class Client
44 {
45 public:
46  Client();
47  ~Client();
48 
54  std::pair<bool, std::string> connect(const char *ipAddr = "127.0.0.1", const uint16_t port = 1988);
55 
57  void addHandTrackingListener(HandTrackingListener* listener);
58 
60  void stop();
61 
62 private:
63  std::unique_ptr<ClientImpl> _clientImpl;
64 };
65 
66 } // namespace HandTrackingClient
67