6 #ifndef IFM3D_DEVICE_LEGACY_DEVICE_H
7 #define IFM3D_DEVICE_LEGACY_DEVICE_H
9 #include <ifm3d/device/device.h>
16 using Ptr = std::shared_ptr<LegacyDevice>;
25 using device_family = ifm3d::Device::DeviceFamily;
47 static Ptr MakeShared(
48 const std::string& ip = ifm3d::DEFAULT_IP,
49 std::uint16_t xmlrpc_port = ifm3d::DEFAULT_XMLRPC_PORT,
50 const std::string& password = ifm3d::DEFAULT_PASSWORD);
64 std::uint16_t xmlrpc_port = ifm3d::DEFAULT_XMLRPC_PORT,
65 const std::string& password = ifm3d::DEFAULT_PASSWORD);
74 virtual std::string Password();
77 virtual std::string SessionID();
83 virtual void FactoryReset();
111 virtual std::string RequestSession();
125 virtual bool CancelSession();
134 virtual bool CancelSession(
const std::string& sid);
148 virtual int Heartbeat(
int hb);
150 virtual std::unordered_map<std::string, std::string> NetInfo();
151 virtual std::unordered_map<std::string, std::string> TimeInfo();
170 virtual void SetTemporaryApplicationParameters(
171 const std::unordered_map<std::string, std::string>& params);
177 virtual int ActiveApplication();
191 virtual json ApplicationList();
202 virtual std::vector<std::string> ApplicationTypes();
212 virtual std::vector<std::string> ImagerTypes();
225 virtual int CopyApplication(
int idx);
244 virtual int CreateApplication(
245 const std::string& type = DEFAULT_APPLICATION_TYPE);
253 virtual void DeleteApplication(
int idx);
262 virtual void SetCurrentTime(
int epoch_secs = -1);
268 virtual std::vector<std::uint8_t> UnitVectors();
274 virtual std::vector<std::uint8_t> ExportIFMConfig();
291 virtual std::vector<std::uint8_t> ExportIFMApp(
int idx);
297 virtual void ImportIFMConfig(
const std::vector<std::uint8_t>& bytes,
298 std::uint16_t flags = 0x0);
313 virtual int ImportIFMApp(
const std::vector<std::uint8_t>& bytes);
323 virtual void SetPassword(
const std::string& password =
"");
325 json ToJSON()
override;
326 void FromJSON(
const json& j)
override;
327 void ForceTrigger()
override;
331 std::unique_ptr<Impl> _impl;
347 void from_json(
const json& j_curr,
349 const std::function<
void(
const std::string&,
350 const std::string&)>& set_func,
351 const std::function<
void()>& save_func,
352 const std::string& name,
363 static bool get_app_json(
int index,
const json& j,
json& app);
365 json to_json(
bool open_session =
true);
367 json get_application_infos_to_json();
371 #endif // IFM3D_DEVICE_LEGACY_DEVICE_H