// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "../zen.h" #include #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