10 #ifndef GO_PXL_SDK_GOGDPCLIENT_H
11 #define GO_PXL_SDK_GOGDPCLIENT_H
13 #include <kApi/Io/kNetwork.h>
14 #include <kApi/Io/kTcpClient.h>
16 #include <kApi/Threads/kThread.h>
17 #include <kApi/Threads/kLock.h>
18 #include <kApi/Threads/kTimer.h>
20 #include <GoApi/GoApi.h>
21 #include <GoApi/Threads/MsgQueue.h>
22 #include <GoApi/Threads/Locker.h>
28 class GoGdpClientTests;
45 const int CONNECT_TIMEOUT = 5000000;
46 const int CANCEL_QUERY_INTERVAL = 100000;
85 void ReceiveDataSync(k64u receiveTimeoutInMilliseconds);
95 void ReceiveDataAsync(std::function<
void(
const GoDataSet& receivedDataSet)>& func);
135 void InitTcpClient();
144 void InitThreadAndTimer();
155 static kStatus kCall OnDataReceive(
void* context);
166 static kStatus kCall DataThreadEntry(
void* context);
171 std::function<void(const GoDataSet& pDataSet)> func;
175 bool isConnected =
false;
179 Go::Object<kTcpClient> socket;
180 Go::Object<kSerializer> serializer;
181 Go::Object<kTimer> timer;
182 Go::Object<kThread> receiveThread;
183 Go::MsgQueue<GoDataSet> dataQueue;
184 Go::Object<kThread> dataThread;
186 kIpAddress ipAddress;
189 friend class ::GoGdpClientTests;
Definition: GoDataSet.h:18
#define GoPxLSdkClass
Definition: Def.h:35
Declares the GoPxLSdk.GoDataSet class.
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:32
constexpr k16u GO_PXL_SDK_DEFAULT_GDP_SERVER_PORT
Definition: Def.h:40