6 #ifndef IFM3D_DEVICE_O3R_H
7 #define IFM3D_DEVICE_O3R_H
9 #include <ifm3d/device/device.h>
13 static const int NET_WAIT_O3R_SET = 10000;
30 using Ptr = std::shared_ptr<O3R>;
31 O3R(
const std::string& ip = ifm3d::DEFAULT_IP,
32 const std::uint16_t xmlrpc_port = ifm3d::DEFAULT_XMLRPC_PORT);
36 O3R& operator=(
O3R&&) =
delete;
38 O3R& operator=(
O3R&) =
delete;
47 virtual void FactoryReset(
bool keepNetworkSettings);
66 const std::vector<std::string>& path = std::vector<std::string>());
76 json ResolveConfig(
const json::json_pointer& ptr);
85 void Set(
const json& j);
96 void Remove(
const std::string& jsonPointer);
107 void Reset(
const std::string& jsonPointer);
125 void SaveInit(
const std::vector<std::string>& pointers = {});
134 std::string GetInitStatus();
145 void Lock(
const std::string& password);
154 void Unlock(
const std::string& password);
162 std::vector<PortInfo> Ports();
171 PortInfo Port(
const std::string& port);
178 json GetDiagnostic();
186 json GetDiagnosticFilterSchema();
195 json GetDiagnosticFiltered(
json filter);
198 const boot_mode& mode = ifm3d::Device::boot_mode::PRODUCTIVE)
override;
203 void RebootToRecovery();
205 device_family WhoAmI()
override;
206 ifm3d::Device::swu_version SwUpdateVersion()
override;
212 json ToJSON()
override;
218 void FromJSON(
const json& j)
override;
222 std::unique_ptr<Impl> pImpl;
225 #endif // IFM3D_DEVICE_O3R_H