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;
28 using Ptr = std::shared_ptr<O3R>;
29 O3R(
const std::string& ip = ifm3d::DEFAULT_IP,
30 const std::uint16_t xmlrpc_port = ifm3d::DEFAULT_XMLRPC_PORT);
34 O3R& operator=(
O3R&&) =
delete;
36 O3R& operator=(
O3R&) =
delete;
45 virtual void FactoryReset(
bool keepNetworkSettings);
64 const std::vector<std::string>& path = std::vector<std::string>());
74 json ResolveConfig(
const json::json_pointer& ptr);
82 void Set(
const json& j);
93 void Remove(
const std::string& jsonPointer);
103 void Reset(
const std::string& jsonPointer);
123 std::string GetInitStatus();
130 void Lock(
const std::string& password);
139 void Unlock(
const std::string& password);
146 std::vector<PortInfo> Ports();
155 PortInfo Port(
const std::string& port);
162 json GetDiagnostic();
170 json GetDiagnosticFilterSchema();
179 json GetDiagnosticFiltered(
json filter);
182 const boot_mode& mode = ifm3d::Device::boot_mode::PRODUCTIVE)
override;
187 void RebootToRecovery();
189 device_family WhoAmI()
override;
190 ifm3d::Device::swu_version SwUpdateVersion()
override;
196 json ToJSON()
override;
202 void FromJSON(
const json& j)
override;
206 std::unique_ptr<Impl> pImpl;
209 #endif // IFM3D_DEVICE_O3R_H