18 "Failed to find the dal package name for class " << class_name <<
" in its schema path '" << schema_path <<
"'",
19 ((std::string)class_name)((std::string)schema_path))
22 "Could not load dal shared library " << library,
23 ((
std::
string)library))
33 typedef std::function<DalObject *(DalRegistry& db, ConfigObject& obj)> dal_object_instatiator_2g;
49 register_dal_class(
const std::string & name);
52 get_known_class_name_ref(
const std::string& name);
67 get(Configuration& db, ConfigObject& obj,
const std::string& uid,
bool upcast_unregistered)
const;
70 get(Configuration& db, ConfigObject& obj,
const std::string& uid,
const std::string& class_name)
const;
82 const DalFactoryFunctions&
83 functions(Configuration& db,
const std::string& name,
bool upcast_unregistered);
87 class4algo(Configuration& db,
const std::string& name,
const std::string&
algorithm)
const;
96 const DalFactoryFunctions&
97 functions(
const std::string& name)
const;
109 std::mutex m_class_mutex;
110 std::map<std::string, DalFactoryFunctions> m_classes;
113 std::map<std::string, dal_object_instatiator_2g> m_creators;
115 std::mutex m_known_class_mutex;
119 bool try_load_class_library(Configuration& db,
const std::string& class_name);
#define ERS_DECLARE_ISSUE(namespace_name, class_name, message, attributes)
The base class for any generated DAL object.
DalRegistry: A registry of DalObjects It provides a single interface to create, cache and manage DalO...
std::unordered_set< std::string > set