aboutsummaryrefslogtreecommitdiff
path: root/src/command.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/command.hpp')
-rw-r--r--src/command.hpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/command.hpp b/src/command.hpp
index 37afaae..afc6a6f 100644
--- a/src/command.hpp
+++ b/src/command.hpp
@@ -9,21 +9,36 @@
namespace wanda
{
+ /**
+ * @brief An enum to describe different command IDs
+ */
enum struct command_id : char
{
- change,
+ change, //< Change the wallpaper
};
+ /**
+ * @brief A simple type to represent commands transported through the control connection
+ */
struct command
{
command_id const id;
std::vector<std::string> const arguments;
+ /**
+ * @brief Convert the command to a message for transmission to a remote endpoint
+ */
std::optional<wanda::message> message() const;
};
+ /**
+ * @brief Extract a command from a message
+ */
std::optional<command> make_command(message message);
+ /**
+ * @brief A simple factory to create a "Change wallpaper" command
+ */
command make_change_command();
} // namespace wanda