1#ifndef PLUGINS_RAW_REGISTRY_H
2#define PLUGINS_RAW_REGISTRY_H
4#include "registry_types.h"
9namespace downward::cli::plugins {
11 std::vector<const CategoryPlugin*> category_plugins;
12 std::vector<const SubcategoryPlugin*> subcategory_plugins;
13 std::vector<const EnumPlugin*> enum_plugins;
14 std::vector<const Plugin*> plugins;
16 FeatureTypes collect_types(std::vector<std::string>& errors)
const;
17 void validate_category_names(std::vector<std::string>& errors)
const;
19 collect_subcategory_plugins(std::vector<std::string>& errors)
const;
20 Features collect_features(
21 const SubcategoryPlugins& subcategory_plugins,
22 std::vector<std::string>& errors)
const;
25 void insert_category_plugin(
const CategoryPlugin& category_plugin);
26 void insert_subcategory_plugin(
const SubcategoryPlugin& subcategory_plugin);
27 void insert_enum_plugin(
const EnumPlugin& enum_plugin);
28 void insert_plugin(
const Plugin& plugin);
30 Registry construct_registry()
const;
32 static RawRegistry* instance()
34 static RawRegistry instance_;