The Gaudi Framework  v30r3 (a5ef0a68)
Gaudi::ISignalMonitor Class Referenceabstract

Interface for the service that monitors the occurrences of system signals. More...

#include <GaudiUtils/ISignalMonitor.h>

Inheritance diagram for Gaudi::ISignalMonitor:
Collaboration diagram for Gaudi::ISignalMonitor:

Public Member Functions

 DeclareInterfaceID (ISignalMonitor, 1, 0)
 InterfaceID. More...
 
virtual void monitorSignal (int signum, bool propagate=true)=0
 Add a signal (number) to the list of signals to be monitored. More...
 
virtual void ignoreSignal (int signum)=0
 Ignore future occurrences of the given signal number. More...
 
virtual bool gotSignal (int signum) const =0
 Tell if the given signal has been received or not. More...
 
virtual void setSignal (int signum)=0
 Set the flag for the given signal, as if the signal was received. More...
 
virtual void clearSignal (int signum)=0
 Clear the flag for the given signal, so that a new occurrence can be identified. More...
 
- Public Member Functions inherited from IInterface
virtual void * i_cast (const InterfaceID &) const =0
 main cast function More...
 
virtual std::vector< std::stringgetInterfaceNames () const =0
 Returns a vector of strings containing the names of all the implemented interfaces. More...
 
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual unsigned long refCount () const =0
 Current reference count. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)=0
 Set the void** to the pointer to the requested interface of the instance. More...
 
virtual ~IInterface ()=default
 Virtual destructor. More...
 

Additional Inherited Members

- Public Types inherited from IInterface
enum  Status : StatusCode::code_t {
  Status::FAILURE = 0, Status::SUCCESS = 1, Status::NO_INTERFACE, Status::VERSMISMATCH,
  Status::LAST_ERROR
}
 Return status. More...
 
using iid = Gaudi::InterfaceId< IInterface, 0, 0 >
 Interface ID. More...
 
using ext_iids = Gaudi::interface_list< iid >
 Extra interfaces. More...
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 

Detailed Description

Interface for the service that monitors the occurrences of system signals.

The signal to be monitored have to be declared via the method monitorSignal(). The method gotSignal() can used to check if a signal has been received.

Note that the service is passive, in the sense that it simply keeps track of received signals without performing any action. So it is responsibility of the users to add a check if the signal has been received or not.

Author
Marco Clemencic

Definition at line 20 of file ISignalMonitor.h.

Member Function Documentation

virtual void Gaudi::ISignalMonitor::clearSignal ( int  signum)
pure virtual

Clear the flag for the given signal, so that a new occurrence can be identified.

Parameters
signumsignal number
Gaudi::ISignalMonitor::DeclareInterfaceID ( ISignalMonitor  ,
,
 
)
virtual bool Gaudi::ISignalMonitor::gotSignal ( int  signum) const
pure virtual

Tell if the given signal has been received or not.

Parameters
signumsignal number
virtual void Gaudi::ISignalMonitor::ignoreSignal ( int  signum)
pure virtual

Ignore future occurrences of the given signal number.

Parameters
signumsignal number
virtual void Gaudi::ISignalMonitor::monitorSignal ( int  signum,
bool  propagate = true 
)
pure virtual

Add a signal (number) to the list of signals to be monitored.

It possible to choose if a previously installed signal handler should be called or not.

Parameters
signumsignal number
propagateif true (default) an already present signal handler is called, otherwise the signal is stopped in the service.
virtual void Gaudi::ISignalMonitor::setSignal ( int  signum)
pure virtual

Set the flag for the given signal, as if the signal was received.

Parameters
signumsignal number

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