9 #ifndef GO_PXL_SDK_GOGDPCLIENT_H
10 #define GO_PXL_SDK_GOGDPCLIENT_H
12 #include <kApi/Io/kNetwork.h>
13 #include <kApi/Io/kTcpClient.h>
15 #include <kApi/Threads/kThread.h>
16 #include <kApi/Threads/kLock.h>
17 #include <kApi/Threads/kTimer.h>
19 #include <GoApi/GoApi.h>
20 #include <GoApi/Threads/MsgQueue.h>
21 #include <GoApi/Threads/Locker.h>
42 const int CONNECT_TIMEOUT = 5000000;
43 const int CANCEL_QUERY_INTERVAL = 100000;
82 void ReceiveDataSync(k64u receiveTimeoutInMilliseconds);
92 void ReceiveDataAsync(std::function<
void(
const GoDataSet& receivedDataSet)>& func);
121 void InitTcpClient();
130 void InitThreadAndTimer();
141 static kStatus kCall OnDataReceive(
void* context);
152 static kStatus kCall DataThreadEntry(
void* context);
155 std::function<void(const GoDataSet& pDataSet)> func;
159 bool isConnected =
false;
163 Go::Object<kTcpClient> socket;
164 Go::Object<kSerializer> serializer;
165 Go::Object<kTimer> timer;
166 Go::Object<kThread> receiveThread;
167 Go::MsgQueue<GoDataSet> dataQueue;
168 Go::Object<kThread> dataThread;
Definition: GoDataSet.h:17
#define GoPxLSdkClass
Definition: Def.h:35
MessageType
List of enums representing types available to be serialized out through GDP This list is essentially ...
Definition: GoGdpMsgDef.h:27
Declares the general SDK definitions.
Definition: GoGdpClient.h:29
constexpr k16u GO_PXL_SDK_DEFAULT_GDP_SERVER_PORT
Definition: Def.h:40