aboutsummaryrefslogtreecommitdiff
path: root/src/zen/cmds/compute_cmd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/zen/cmds/compute_cmd.h')
-rw-r--r--src/zen/cmds/compute_cmd.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/zen/cmds/compute_cmd.h b/src/zen/cmds/compute_cmd.h
new file mode 100644
index 000000000..b26f639c4
--- /dev/null
+++ b/src/zen/cmds/compute_cmd.h
@@ -0,0 +1,53 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#include "../zen.h"
+
+#include <string>
+
+#if ZEN_WITH_COMPUTE_SERVICES
+
+namespace zen {
+
+class ComputeRecordStartSubCmd : public ZenSubCmdBase
+{
+public:
+ ComputeRecordStartSubCmd();
+ void Run(const ZenCliOptions& GlobalOptions) override;
+
+private:
+ std::string m_HostName;
+};
+
+class ComputeRecordStopSubCmd : public ZenSubCmdBase
+{
+public:
+ ComputeRecordStopSubCmd();
+ void Run(const ZenCliOptions& GlobalOptions) override;
+
+private:
+ std::string m_HostName;
+};
+
+class ComputeCommand : public ZenCmdWithSubCommands
+{
+public:
+ static constexpr char Name[] = "compute";
+ static constexpr char Description[] = "Compute service operations";
+
+ ComputeCommand();
+ ~ComputeCommand();
+
+ cxxopts::Options& Options() override { return m_Options; }
+
+private:
+ cxxopts::Options m_Options{Name, Description};
+ std::string m_SubCommand;
+ ComputeRecordStartSubCmd m_RecordStartSubCmd;
+ ComputeRecordStopSubCmd m_RecordStopSubCmd;
+};
+
+} // namespace zen
+
+#endif // ZEN_WITH_COMPUTE_SERVICES