otsdaq  v2_05_02_indev
ots::FEVInterface Class Referenceabstract
Inheritance diagram for ots::FEVInterface:
ots::WorkLoop ots::Configurable ots::VStateMachine ots::FEProducerVInterface

Classes

struct  frontEndMacroStruct_t
 
struct  macroStruct_t
 

Public Types

using frontEndMacroArg_t = std::pair< const std::string, std::string >
 
using frontEndMacroArgs_t = std::vector< frontEndMacroArg_t > &
 
using frontEndMacroConstArgs_t = const std::vector< frontEndMacroArg_t > &
 
using frontEndMacroFunction_t = void(ots::FEVInterface::*)([[maybe_unused]] const frontEndMacroStruct_t &feMacroStruct, [[maybe_unused]] FEVInterface::frontEndMacroConstArgs_t argsIn,[[maybe_unused]] FEVInterface::frontEndMacroArgs_t argsOut)
 

Public Member Functions

 FEVInterface (const std::string &interfaceUID, const ConfigurationTree &theXDAQContextConfigTree, const std::string &configurationPath)
 
const std::string & getInterfaceUID (void) const
 
virtual std::string getInterfaceType (void) const
 
virtual void universalRead (char *address, char *returnValue)=0
 
virtual void universalWrite (char *address, char *writeValue)=0
 
const unsigned int & getUniversalAddressSize (void)
 
const unsigned int & getUniversalDataSize (void)
 
void runSequenceOfCommands (const std::string &treeLinkName)
 
virtual void configure (void)
 
virtual void start (std::string)
 
virtual void stop (void)
 
virtual void halt (void)
 
virtual void pause (void)
 
virtual void resume (void)
 
virtual bool running (void)
 
virtual void configureSlowControls (void)
 
void addSlowControlsChannels (ConfigurationTree slowControlsGroupLink, const std::string &subInterfaceID, std::map< std::string, FESlowControlsChannel > *mapOfSlowControlsChannels)
 
virtual void resetSlowControlsChannelIterator (void)
 
virtual FESlowControlsChannelgetNextSlowControlsChannel (void)
 
virtual unsigned int getSlowControlsChannelCount (void)
 
virtual void getSlowControlsValue (FESlowControlsChannel &channel, std::string &readValue)
 
bool slowControlsRunning (void)
 
void startSlowControlsWorkLoop (void)
 
void stopSlowControlsWorkLoop (void)
 
const std::map< std::string,
frontEndMacroStruct_t > & 
getMapOfFEMacroFunctions (void)
 
void runSelfFrontEndMacro (const std::string &feMacroName, const std::vector< FEVInterface::frontEndMacroArg_t > &inputArgs, std::vector< FEVInterface::frontEndMacroArg_t > &outputArgs)
 
template<class T >
void sendToFrontEnd (const std::string &targetInterfaceID, const T &value) const
 
void runFrontEndMacro (const std::string &targetInterfaceID, const std::string &feMacroName, const std::vector< FEVInterface::frontEndMacroArg_t > &inputArgs, std::vector< FEVInterface::frontEndMacroArg_t > &outputArgs) const
 
template<class T >
void receiveFromFrontEnd (const std::string &requester, T &retValue, unsigned int timeoutInSeconds=1) const
 
void receiveFromFrontEnd (const std::string &requester, std::string &retValue, unsigned int timeoutInSeconds=1) const
 
template<class T >
receiveFromFrontEnd (const std::string &requester="*", unsigned int timeoutInSeconds=1) const
 
std::string receiveFromFrontEnd (const std::string &requester="*", unsigned int timeoutInSeconds=1) const
 
- Public Member Functions inherited from ots::WorkLoop
 WorkLoop (const std::string &name)
 
void startWorkLoop (void)
 
bool stopWorkLoop (void)
 
bool isActive (void) const
 
- Public Member Functions inherited from ots::Configurable
 Configurable (const ConfigurationTree &theXDAQContextConfigTree, const std::string &theConfigurationPath)
 
ConfigurationTree getSelfNode () const
 
const ConfigurationManagergetConfigurationManager () const
 
const std::string & getContextUID () const
 
const std::string & getApplicationUID () const
 
unsigned int getApplicationLID () const
 
std::string getContextAddress () const
 
unsigned int getContextPort () const
 
- Public Member Functions inherited from ots::VStateMachine
 VStateMachine (const std::string &name)
 
virtual void paused (void)
 
virtual void halted (void)
 
virtual void configured (void)
 
virtual void initial (void)
 
virtual void inError (void)
 
virtual std::string getStatusProgressDetail (void)
 
void setTransitionName (const std::string &transitionName)
 
const std::string & getTransitionName (void)
 
void setIterationIndex (unsigned int i)
 
void setSubIterationIndex (unsigned int i)
 
unsigned int getIterationIndex (void)
 
unsigned int getSubIterationIndex (void)
 
void indicateIterationWork (void)
 
void clearIterationWork (void)
 
bool getIterationWork (void)
 
void indicateSubIterationWork (void)
 
void clearSubIterationWork (void)
 
bool getSubIterationWork (void)
 

Static Public Member Functions

static void sendAsyncErrorToGateway (FEVInterface *fe, const std::string &errMsg, bool isSoftError)
 
static const std::string & getFEMacroConstArgument (frontEndMacroConstArgs_t args, const std::string &argName)
 
static std::string & getFEMacroArgument (frontEndMacroArgs_t args, const std::string &argName)
 

Public Attributes

FEVInterfacesManagerparentInterfaceManager_
 
- Public Attributes inherited from ots::VStateMachine
CoreSupervisorBaseparentSupervisor_
 

Protected Member Functions

void runMacro (FEVInterface::macroStruct_t &macro, std::map< std::string, uint64_t > &variableMap)
 
bool workLoopThread (toolbox::task::WorkLoop *workLoop)
 
void registerFEMacroFunction (const std::string &feMacroName, frontEndMacroFunction_t feMacroFunction, const std::vector< std::string > &namesOfInputArgs, const std::vector< std::string > &namesOfOutputArgs, uint8_t requiredUserPermissions=1, const std::string &allowedCallingFEs="*")
 
template<class T >
std::string & setFEMacroArgumentValue (frontEndMacroArgs_t args, const std::string &argName, const T &value) const
 
template<class T >
std::string & emplaceFEMacroArgumentValue (frontEndMacroArgs_t args, const std::string &argName, const T &value) const
 
- Protected Member Functions inherited from ots::WorkLoop
const std::string & getWorkLoopName (void) const
 

Protected Attributes

std::map< std::string,
FESlowControlsChannel
mapOfSlowControlsChannels_
 
std::map< std::string,
FESlowControlsChannel >
::iterator 
slowControlsChannelsIterator_
 
FESlowControlsWorkLoop slowControlsWorkLoop_
 
std::string interfaceUID_
 
std::string mfSubject_
 
unsigned int universalAddressSize_ = 0
 
unsigned int universalDataSize_ = 0
 
std::map< std::string,
frontEndMacroStruct_t
mapOfFEMacroFunctions_
 
- Protected Attributes inherited from ots::WorkLoop
volatile bool continueWorkLoop_
 
- Protected Attributes inherited from ots::Configurable
const ConfigurationTree theXDAQContextConfigTree_
 
const std::string theConfigurationPath_
 
const std::string theConfigurationRecordName_
 
- Protected Attributes inherited from ots::VStateMachine
std::map< std::string,
std::map< unsigned int,
std::string > > 
iterationAliasMap_
 
std::map< std::string,
std::map< unsigned int,
std::string > > 
subIterationAliasMap_
 

Friends

class FEVInterfacesManager
 

Detailed Description

Definition at line 49 of file FEVInterface.h.


The documentation for this class was generated from the following files: