6 #ifndef IFM3D_PCICCLIENT_PCICCLIENT_H
7 #define IFM3D_PCICCLIENT_PCICCLIENT_H
9 #include <ifm3d/pcicclient/pcicclient_export.h>
11 #include <condition_variable>
16 #include <ifm3d/device.h>
29 using Ptr = std::shared_ptr<PCICClient>;
39 const std::uint16_t pcic_port = ifm3d::PCIC_PORT);
83 long Call(
const std::string& request,
84 std::function<
void(
const std::string& response)> callback);
100 std::string Call(
const std::string& request);
125 bool Call(
const std::string& request,
126 std::string& response,
127 long timeout_millis);
142 long SetErrorCallback(
143 std::function<
void(
const std::string& error)> callback);
160 long SetNotificationCallback(
161 std::function<
void(
const std::string& notification)> callback);
173 void CancelCallback(
long callback_id);
176 class IFM3D_PCICCLIENT_LOCAL Impl;
177 std::unique_ptr<Impl> pImpl;
183 #endif // IFM3D_PCICCLIENT_PCICCLIENT_H