tdaq-develop-2025-02-12
ots::ARTDAQSupervisor Class Reference

#include <otsdaq/ARTDAQSupervisor/ARTDAQSupervisor.hh>

Inheritance diagram for ots::ARTDAQSupervisor:
ots::CoreSupervisorBase ots::SOAPMessenger ots::CorePropertySupervisorBase ots::RunControlStateMachine

Classes

struct  DAQInterfaceProcessInfo
 

Public Member Functions

 XDAQ_INSTANTIATOR ()
 
 ARTDAQSupervisor (xdaq::ApplicationStub *s)
 
void init (void)
 
void destroy (void)
 
virtual void transitionConfiguring (toolbox::Event::Reference event) override
 
virtual void transitionHalting (toolbox::Event::Reference event) override
 
virtual void transitionInitializing (toolbox::Event::Reference event) override
 
virtual void transitionPausing (toolbox::Event::Reference event) override
 
virtual void transitionResuming (toolbox::Event::Reference event) override
 
virtual void transitionStarting (toolbox::Event::Reference event) override
 
virtual void transitionStopping (toolbox::Event::Reference event) override
 
virtual void enteringError (toolbox::Event::Reference event) override
 
virtual std::vector< SupervisorInfo::SubappInfogetSubappInfo (void) override
 
virtual std::string getStatusProgressDetail (void) override
 
std::list< std::pair< DAQInterfaceProcessInfo, std::unique_ptr< artdaq::CommanderInterface > > > makeCommandersFromProcessInfo ()
 
- Public Member Functions inherited from ots::CoreSupervisorBase
 CoreSupervisorBase (xdaq::ApplicationStub *stub)
 
void destroy (void)
 
unsigned int getSupervisorLID (void) const
 
virtual void defaultPage (xgi::Input *in, xgi::Output *out)
 
virtual void request (const std::string &requestType, cgicc::Cgicc &cgiIn, HttpXmlDocument &xmlOut, const WebUsers::RequestUserInfo &userInfo)
 
virtual void nonXmlRequest (const std::string &requestType, cgicc::Cgicc &cgiIn, std::ostream &out, const WebUsers::RequestUserInfo &userInfo)
 
void stateMachineXgiHandler (xgi::Input *in, xgi::Output *out)
 State Machine request handlers.
 
xoap::MessageReference stateMachineXoapHandler (xoap::MessageReference message)
 
xoap::MessageReference stateMachineStateRequest (xoap::MessageReference message)
 
xoap::MessageReference stateMachineErrorMessageRequest (xoap::MessageReference message)
 
void sendAsyncExceptionToGateway (const std::string &errMsg, bool isPauseException, bool isStopException)
 
virtual xoap::MessageReference workLoopStatusRequest (xoap::MessageReference message)
 
virtual xoap::MessageReference applicationStatusRequest (xoap::MessageReference message)
 
bool stateMachineThread (toolbox::task::WorkLoop *workLoop)
 
virtual void stateInitial (toolbox::fsm::FiniteStateMachine &fsm)
 
virtual void statePaused (toolbox::fsm::FiniteStateMachine &fsm)
 
virtual void stateRunning (toolbox::fsm::FiniteStateMachine &fsm)
 
virtual void stateHalted (toolbox::fsm::FiniteStateMachine &fsm)
 
virtual void stateConfigured (toolbox::fsm::FiniteStateMachine &fsm)
 
virtual void inError (toolbox::fsm::FiniteStateMachine &fsm)
 
- Public Member Functions inherited from ots::SOAPMessenger
 SOAPMessenger (xdaq::Application *application)
 
 SOAPMessenger (const SOAPMessenger &aSOAPMessenger)
 
std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, xoap::MessageReference message)
 
std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, SOAPCommand soapCommand)
 
std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, std::string command)
 
std::string send (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, std::string command, SOAPParameters parameters)
 
std::string sendStatus (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, std::string message)
 
xoap::MessageReference sendWithSOAPReply (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, xoap::MessageReference message)
 
xoap::MessageReference sendWithSOAPReply (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, SOAPCommand soapCommand)
 
xoap::MessageReference sendWithSOAPReply (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, std::string command)
 
xoap::MessageReference sendWithSOAPReply (XDAQ_CONST_CALL xdaq::ApplicationDescriptor *d, std::string command, SOAPParameters parameters)
 
- Public Member Functions inherited from ots::CorePropertySupervisorBase
 CorePropertySupervisorBase (xdaq::Application *application)
 
XDAQ_CONST_CALL xdaq::ApplicationDescriptor * getGatewaySupervisorDescriptor (void)
 will be wizard supervisor in wiz mode More...
 
virtual void setSupervisorPropertyDefaults (void)
 override to control supervisor specific defaults More...
 
virtual void forceSupervisorPropertyValues (void)
 override to force supervisor property values (and ignore user settings)
 
void getRequestUserInfo (WebUsers::RequestUserInfo &requestUserInfo)
 
ConfigurationTree getContextTreeNode (void) const
 
ConfigurationTree getSupervisorTableNode (void) const
 
const std::string & getContextUID (void) const
 
const std::string & getSupervisorUID (void) const
 
const std::string & getSupervisorConfigurationPath (void) const
 
void resetPropertiesAreSetup (void)
 
ConfigurationTree getSupervisorTreeNode (void)
 
void loadUserSupervisorProperties (void)
 
template<class T >
void setSupervisorProperty (const std::string &propertyName, const T &propertyValue)
 
void setSupervisorProperty (const std::string &propertyName, const std::string &propertyValue)
 
template<class T >
void addSupervisorProperty (const std::string &propertyName, const T &propertyValue)
 
void addSupervisorProperty (const std::string &propertyName, const std::string &propertyValue)
 
template<class T >
getSupervisorProperty (const std::string &propertyName)
 
template<class T >
getSupervisorProperty (const std::string &propertyName, const T &defaultValue)
 
std::string getSupervisorProperty (const std::string &propertyName)
 
std::string getSupervisorProperty (const std::string &propertyName, const std::string &defaultValue)
 getSupervisorProperty
 
WebUsers::permissionLevel_t getSupervisorPropertyUserPermissionsThreshold (const std::string &requestType)
 
time_t getSupervisorUptime (void) const
 
- Public Member Functions inherited from ots::RunControlStateMachine
 RunControlStateMachine (const std::string &name="Undefined Name")
 
void reset (void)
 
void setStateMachineName (const std::string &name)
 
const std::string & getErrorMessage (void) const
 
void setAsyncPauseExceptionMessage (const std::string &error)
 
void setAsyncStopExceptionMessage (const std::string &error)
 
template<class OBJECT >
void addStateTransition (toolbox::fsm::State from, toolbox::fsm::State to, const std::string &input, const std::string &transitionName, OBJECT *obj, void(OBJECT::*func)(toolbox::Event::Reference))
 
template<class OBJECT >
void addStateTransition (toolbox::fsm::State from, toolbox::fsm::State to, const std::string &input, const std::string &transitionName, const std::string &transitionParameter, OBJECT *obj, void(OBJECT::*func)(toolbox::Event::Reference))
 
virtual void stateShutdown (toolbox::fsm::FiniteStateMachine &)
 
virtual void transitionShuttingDown (toolbox::Event::Reference)
 
virtual void transitionStartingUp (toolbox::Event::Reference)
 
xoap::MessageReference runControlMessageHandler (xoap::MessageReference message)
 Run Control Messages. More...
 
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)
 
const std::string & getLastCommand (void)
 
const std::string & getLastAttemptedConfigureGroup (void)
 

Static Public Member Functions

static std::list< std::string > tokenize_ (std::string const &input)
 
- Static Public Member Functions inherited from ots::CorePropertySupervisorBase
static void extractPermissionsMapFromString (const std::string &permissionsString, std::map< std::string, WebUsers::permissionLevel_t > &permissionsMap)
 
static bool doPermissionsGrantAccess (std::map< std::string, WebUsers::permissionLevel_t > &permissionLevelsMap, std::map< std::string, WebUsers::permissionLevel_t > &permissionThresholdsMap)
 

Additional Inherited Members

- Public Attributes inherited from ots::CorePropertySupervisorBase
AllSupervisorInfo allSupervisorInfo_
 
ConfigurationManagertheConfigurationManager_
 
- Static Public Attributes inherited from ots::CoreSupervisorBase
static const std::string WORK_LOOP_DONE = "Done"
 
static const std::string WORK_LOOP_WORKING = "Working"
 
- Static Public Attributes inherited from ots::RunControlStateMachine
static const std::string FAILED_STATE_NAME = FiniteStateMachine::FAILED_STATE_NAME
 
static const std::string INITIAL_STATE_NAME = "Initial"
 
static const std::string HALTED_STATE_NAME = "Halted"
 
static const std::string PAUSED_STATE_NAME = "Paused"
 
static const std::string RUNNING_STATE_NAME = "Running"
 
static const std::string SHUTDOWN_STATE_NAME = "Shutdown"
 
static const std::string CONFIGURED_STATE_NAME = "Configured"
 
static const std::string SHUTDOWN_TRANSITION_NAME = "Shutdown"
 
static const std::string STARTUP_TRANSITION_NAME = "Startup"
 
static const std::string INIT_TRANSITION_NAME = "Initialize"
 
static const std::string ERROR_TRANSITION_NAME = FiniteStateMachine::ERROR_TRANSITION_NAME
 
static const std::string FAIL_TRANSITION_NAME = "Fail"
 
static const std::string CONFIGURE_TRANSITION_NAME = "Configure"
 
static const std::string HALT_TRANSITION_NAME = "Halt"
 
static const std::string ABORT_TRANSITION_NAME = "Abort"
 
static const std::string PAUSE_TRANSITION_NAME = "Pause"
 
static const std::string RESUME_TRANSITION_NAME = "Resume"
 
static const std::string START_TRANSITION_NAME = "Start"
 
static const std::string STOP_TRANSITION_NAME = "Stop"
 
- Protected Member Functions inherited from ots::CoreSupervisorBase
void transitionConfiguringFSMs (void)
 
void preStateMachineExecution (unsigned int i)
 
void postStateMachineExecution (unsigned int i)
 
void preStateMachineExecutionLoop (void)
 
void postStateMachineExecutionLoop (void)
 
- Protected Member Functions inherited from ots::CorePropertySupervisorBase
xoap::MessageReference TRACESupervisorRequest (xoap::MessageReference message)
 
const std::string & getTraceLevels (void)
 
const std::string & setTraceLevels (std::string const &host, std::string const &mode, std::string const &labelsStr, uint32_t setValueMSB, uint32_t setValueLSB)
 
const std::string & setIndividualTraceLevels (std::string const &host, std::string const &mode, std::string const &labelValuesStr)
 
const std::string & getTraceTriggerStatus (void)
 
const std::string & setTraceTriggerEnable (std::string const &host, size_t entriesAfterTrigger)
 
const std::string & resetTRACE (std::string const &host)
 
const std::string & enableTRACE (std::string const &host, bool enable)
 
const std::string & getTraceSnapshot (std::string const &host, std::string const &filterFor, std::string const &filterOut)
 
- Static Protected Member Functions inherited from ots::CorePropertySupervisorBase
static void indicateOtsAlive (const CorePropertySupervisorBase *properties=0)
 
static void indicateOtsDead (const CorePropertySupervisorBase *properties=0)
 
- Protected Attributes inherited from ots::CoreSupervisorBase
WorkLoopManager stateMachineWorkLoopManager_
 
toolbox::BSem stateMachineSemaphore_
 
std::vector< VStateMachine * > theStateMachineImplementation_
 
std::vector< bool > stateMachinesIterationDone_
 for managing transition iterations
 
unsigned int stateMachinesIterationWorkCount_
 
unsigned int subIterationWorkStateMachineIndex_
 
RemoteWebUsers theRemoteWebUsers_
 
- Protected Attributes inherited from ots::SOAPMessenger
xdaq::Application * theApplication_
 
- Protected Attributes inherited from ots::CorePropertySupervisorBase
const std::string supervisorClass_
 
const std::string supervisorClassNoNamespace_
 
ITRACEControllertheTRACEController_
 only define for an app that receives a command
 
- Protected Attributes inherited from ots::RunControlStateMachine
FiniteStateMachine theStateMachine_
 
ProgressBar theProgressBar_
 
volatile bool asyncFailureReceived_
 
volatile bool asyncPauseExceptionReceived_
 
volatile bool asyncStopExceptionReceived_
 
unsigned int iterationIndex_ = 0
 
unsigned int subIterationIndex_ = 0
 
bool iterationWorkFlag_
 
bool subIterationWorkFlag_
 
toolbox::fsm::State lastIterationState_
 
std::string lastIterationCommand_
 
std::string lastAttemptedConfigureGroup_
 
std::string lastIterationResult_
 
unsigned int lastIterationIndex_
 
unsigned int lastSubIterationIndex_
 
std::map< toolbox::fsm::State, std::map< std::string, void(RunControlStateMachine::*)(toolbox::Event::Reference), std::less< std::string > > > stateTransitionFunctionTable_
 
- Static Protected Attributes inherited from ots::CorePropertySupervisorBase
static const struct ots::CorePropertySupervisorBase::SupervisorProperties SUPERVISOR_PROPERTIES
 

Detailed Description

ARTDAQSupervisor This class provides the otsdaq Supervisor interface to a single artdaq Data Logger.

Definition at line 24 of file ARTDAQSupervisor.hh.

Member Function Documentation

◆ getStatusProgressDetail()

virtual std::string ots::ARTDAQSupervisor::getStatusProgressDetail ( void  )
inlineoverridevirtual

virtual progress string that can be overridden with more info e.g. steps and sub-steps however integer 0-100 should be first number, then separated by : colons e.g. 94:FE0:1:2

Reimplemented from ots::CoreSupervisorBase.

Definition at line 54 of file ARTDAQSupervisor.hh.

◆ transitionHalting()

virtual void ots::ARTDAQSupervisor::transitionHalting ( toolbox::Event::Reference  event)
overridevirtual

transitionHalting Ignore errors if coming from Failed state

Reimplemented from ots::CoreSupervisorBase.

◆ transitionInitializing()

virtual void ots::ARTDAQSupervisor::transitionInitializing ( toolbox::Event::Reference  event)
overridevirtual

Inheriting supervisor classes should not override this function, or should at least also call it in the override to maintain property functionality.

Reimplemented from ots::CoreSupervisorBase.


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