00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 #pragma once 00013 00014 #include <opc/common/addons_core/addon_manager.h> 00015 00016 namespace Common 00017 { 00018 00019 struct ModuleConfiguration 00020 { 00021 AddonId Id; 00022 std::vector<AddonId> Dependencies; 00023 std::string Path; 00024 AddonParameters Parameters; 00025 }; 00026 00027 typedef std::vector<Common::ModuleConfiguration> ModulesConfiguration; 00028 00029 struct Configuration 00030 { 00031 Common::AddonParameters Parameters; 00032 std::vector<ModuleConfiguration> Modules; 00033 }; 00034 00035 Common::AddonInformation GetAddonInfomation(const ModuleConfiguration& config); 00036 00037 Configuration ParseConfiguration(const std::string& configPath); 00038 void SaveConfiguration(const ModulesConfiguration& configuration, const std::string& configPath); 00039 00040 Configuration ParseConfigurationFiles(const std::string& directory); 00041 00042 } 00043