summaryrefslogtreecommitdiff
path: root/src/state/initial_state.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/initial_state.hpp')
-rw-r--r--src/state/initial_state.hpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/state/initial_state.hpp b/src/state/initial_state.hpp
index f64ff25..3a2346c 100644
--- a/src/state/initial_state.hpp
+++ b/src/state/initial_state.hpp
@@ -67,13 +67,13 @@ struct InitialState : public BasicStateT<InitialState>
processIface->register_property(
"Active", bool(false),
[](const bool& req, bool& property) { return 0; },
- [& machine = machine](const bool& property) -> bool {
+ [&machine = machine](const bool& property) -> bool {
return machine.getState().get_if<ActiveState>();
});
processIface->register_property(
"ExitCode", int32_t(0),
[](const int32_t& req, int32_t& property) { return 0; },
- [& machine = machine](const int32_t& property) {
+ [&machine = machine](const int32_t& property) {
return machine.getExitCode();
});
processIface->initialize();
@@ -91,6 +91,20 @@ struct InitialState : public BasicStateT<InitialState>
iface->register_property("EndpointId", machine.getConfig().endPointId);
iface->register_property("Socket", machine.getConfig().unixSocket);
iface->register_property(
+ "ImageURL", std::string(),
+ [](const std::string& req, std::string& property) {
+ throw sdbusplus::exception::SdBusError(
+ EPERM, "Setting ImageURL property is not allowed");
+ return -1;
+ },
+ [&target = machine.getTarget()](const std::string& property) {
+ if (target)
+ {
+ return target->imgUrl;
+ }
+ return std::string();
+ });
+ iface->register_property(
"Timeout", machine.getConfig().timeout.value_or(
Configuration::MountPoint::defaultTimeout));
iface->register_property(
@@ -101,7 +115,7 @@ struct InitialState : public BasicStateT<InitialState>
"not allowed");
return -1;
},
- [& config = machine.getConfig()](const int& property) -> int {
+ [&config = machine.getConfig()](const int& property) -> int {
return config.remainingInactivityTimeout.count();
});
iface->initialize();
@@ -130,7 +144,7 @@ struct InitialState : public BasicStateT<InitialState>
// Common unmount
iface->register_method(
- "Unmount", [& machine = machine, waitCnt,
+ "Unmount", [&machine = machine, waitCnt,
timerPeriod](boost::asio::yield_context yield) {
LogMsg(Logger::Info, "[App]: Unmount called on ",
machine.getName());
@@ -206,7 +220,7 @@ struct InitialState : public BasicStateT<InitialState>
using optional_fd = std::variant<int, unix_fd>;
iface->register_method(
- "Mount", [& machine = machine, handleMount](
+ "Mount", [&machine = machine, handleMount](
boost::asio::yield_context yield,
std::string imgUrl, bool rw, optional_fd fd) {
LogMsg(Logger::Info, "[App]: Mount called on ",
@@ -287,7 +301,7 @@ struct InitialState : public BasicStateT<InitialState>
else
{
iface->register_method(
- "Mount", [& machine = machine,
+ "Mount", [&machine = machine,
handleMount](boost::asio::yield_context yield) {
LogMsg(Logger::Info, "[App]: Mount called on ",
getObjectPath(machine), machine.getName());