// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "../zen.h" namespace zen { /** Print Compact Binary */ class PrintCommand : public ZenCmdBase { public: static constexpr char Name[] = "print"; static constexpr char Description[] = "Print compact binary object"; PrintCommand(); ~PrintCommand(); virtual void Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) override; virtual cxxopts::Options& Options() override { return m_Options; } virtual ZenCmdCategory& CommandCategory() const override { return g_UtilitiesCategory; } private: cxxopts::Options m_Options{Name, Description}; std::filesystem::path m_Filename; bool m_ShowCbObjectTypeInfo = false; }; /** Print Compact Binary Package */ class PrintPackageCommand : public ZenCmdBase { public: static constexpr char Name[] = "printpackage"; static constexpr char Description[] = "Print compact binary package"; PrintPackageCommand(); ~PrintPackageCommand(); virtual void Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) override; virtual cxxopts::Options& Options() override { return m_Options; } virtual ZenCmdCategory& CommandCategory() const override { return g_UtilitiesCategory; } private: cxxopts::Options m_Options{Name, Description}; std::filesystem::path m_Filename; bool m_ShowCbObjectTypeInfo = false; }; } // namespace zen