DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
DalFactoryFunctions.hpp
Go to the documentation of this file.
1//
2// DUNE DAQ modification notice:
3// This file has been modified from the original ATLAS config source for the DUNE DAQ project.
4// Fork baseline commit: 67a24e731 (2022-10-27).
5// Renamed since fork: yes (from config/DalFactoryFunctions.h to include/conffwk/DalFactoryFunctions.hpp).
6//
7
8#ifndef DAL_FACTORY_FUNCTIONS_H
9#define DAL_FACTORY_FUNCTIONS_H
10
11#include <set>
12#include <string>
13
14#include <boost/compute/functional/identity.hpp>
15
16namespace dunedaq {
17namespace conffwk {
18
19class Configuration;
20class ConfigObject;
22class DalObject;
23class CacheBase;
24
35
36typedef DalObject* (*dal_object_creator)(Configuration& db, ConfigObject& obj, const std::string& uid);
37
47
48typedef void (*notify2)(Configuration& conf, const ConfigurationChange* changed_class);
49
58
59typedef void (*unread_object)(CacheBase* x);
60
70
71typedef void (*rename_object_f)(CacheBase* x, const std::string& old_id, const std::string& new_id);
72
74{
79
80 std::set<std::string> m_algorithms;
81
82 template<class T>
83 DalFactoryFunctions(boost::compute::identity<T>, const std::set<std::string> algorithms);
84};
85} // namespace conffwk
86} // namespace dunedaq
87
88#endif
Represents database objects.
Describes changes inside a class returned by the notification mechanism.
Definition Change.hpp:43
Defines base class for cache of template objects.
The base class for any generated DAL object.
Definition DalObject.hpp:51
void(*) notify2(Configuration &conf, const ConfigurationChange *changed_class)
The notification callback function which is invoked by database implementation in case of changes.
DalObject *(*) dal_object_creator(Configuration &db, ConfigObject &obj, const std::string &uid)
The factory function creates DAL object of given template class.
void(*) rename_object_f(CacheBase *x, const std::string &old_id, const std::string &new_id)
The function to rename object in cache.
void(*) unread_object(CacheBase *x)
The function to update states of objects in cache.
The DUNE-DAQ namespace.
msgpack::object obj
DalFactoryFunctions(boost::compute::identity< T >, const std::set< std::string > algorithms)