#ifndef LIBREPOMGR_BUILD_ACTION_TEMPLATE_H #define LIBREPOMGR_BUILD_ACTION_TEMPLATE_H #include "./buildactionmeta.h" #include #include #include namespace LibRepoMgr { struct LIBREPOMGR_EXPORT BuildActionTemplate : public ReflectiveRapidJSON::JsonSerializable { std::string directory; std::vector packageNames; std::vector sourceDbs, destinationDbs; std::unordered_map settings; BuildActionFlagType flags = noBuildActionFlags; BuildActionType type = BuildActionType::Invalid; CppUtilities::TimeSpan maxFrequency = CppUtilities::TimeSpan::infinity(); }; struct LIBREPOMGR_EXPORT BuildTask : public ReflectiveRapidJSON::JsonSerializable { std::string name; std::string desc; std::string category; std::vector actions; CppUtilities::TimeSpan frequency = CppUtilities::TimeSpan::infinity(); }; struct LIBREPOMGR_EXPORT BuildPresets : public ReflectiveRapidJSON::JsonSerializable { std::unordered_map templates; std::unordered_map tasks; }; } // namespace LibRepoMgr #endif // LIBREPOMGR_BUILD_ACTION_TEMPLATE_H