DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
DAQModule.hpp File Reference
#include "appfwk/ConfigurationManager.hpp"
#include "logging/Logging.hpp"
#include "opmonlib/MonitorableObject.hpp"
#include "utilities/NamedObject.hpp"
#include "cetlib/BasicPluginFactory.h"
#include "cetlib/compiler_macros.h"
#include "ers/Issue.hpp"
#include "nlohmann/json.hpp"
#include <functional>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include "detail/DAQModule.hxx"
Include dependency graph for DAQModule.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  dunedaq
 Including Qt Headers.
 

Macros

#define EXTERN_C_FUNC_DECLARE_START
 
#define DEFINE_DUNE_DAQ_MODULE(klass)
 Declare the function that will be called by the plugin loader.
 

Functions

 dunedaq::ERS_DECLARE_ISSUE (appfwk, DAQModuleCreationFailed, "Failed to create DAQModule "<< instance_name<< " of type "<< plugin_name,((std::string) plugin_name)((std::string) instance_name)) ERS_DECLARE_ISSUE(appfwk
 A ERS Issue for DAQModule creation failure.
 
DAQModule std::string name dunedaq::ERS_DECLARE_ISSUE_BASE (appfwk, DAQModuleInitFailed, appfwk::GeneralDAQModuleIssue, " init failed.",((std::string) name), ERS_EMPTY) ERS_DECLARE_ISSUE_BASE(appfwk
 Initialization failed ERS Issue (used by DAQModuleManager)
 

Variables

 dunedaq::GeneralDAQModuleIssue
 
DAQModule dunedaq::__pad0__
 
DAQModule std::string name dunedaq::CommandIssue
 

Detailed Description

DAQModule Class Interface

The DAQModule interface defines the required functionality for all DAQModules that use the Application Framework. DAQModules are defined as "a set of code which performs a specific task". DAQModules are hosted within Applications and communicate with one another via the iomanager messaging system.

This interface is intended to define only absolutely necessary methods to be able to support the many different tasks that DAQModules will be asked to perform.

This is part of the DUNE DAQ Application Framework, copyright 2020. Licensing/copyright details are in the COPYING file that you should have received with this code.

Definition in file DAQModule.hpp.

Macro Definition Documentation

◆ DEFINE_DUNE_DAQ_MODULE

#define DEFINE_DUNE_DAQ_MODULE ( klass)
Value:
EXTERN_C_FUNC_DECLARE_START \
std::shared_ptr<dunedaq::appfwk::DAQModule> make(std::string n) \
{ \
return std::shared_ptr<dunedaq::appfwk::DAQModule>(new klass(n)); \
} \
}

Declare the function that will be called by the plugin loader.

Parameters
klassClass to be defined as a DUNE DAQ Module

Definition at line 50 of file DAQModule.hpp.

50#define DEFINE_DUNE_DAQ_MODULE(klass) \
51 EXTERN_C_FUNC_DECLARE_START \
52 std::shared_ptr<dunedaq::appfwk::DAQModule> make(std::string n) \
53 { \
54 return std::shared_ptr<dunedaq::appfwk::DAQModule>(new klass(n)); \
55 } \
56 }

◆ EXTERN_C_FUNC_DECLARE_START

#define EXTERN_C_FUNC_DECLARE_START
Value:
extern "C" \
{

Definition at line 40 of file DAQModule.hpp.

40#define EXTERN_C_FUNC_DECLARE_START \
41 extern "C" \
42 {