DABC (Data Acquisition Backbone Core)  2.9.9
Public Member Functions
dabc::WorkerRef Class Reference

Reference on dabc::Worker More...

#include <dabc/Worker.h>

Inheritance diagram for dabc::WorkerRef:
dabc::Reference dabc::ApplicationRef dabc::DeviceRef dabc::ManagerRef dabc::ModuleItemRef dabc::ModuleRef dabc::PublisherRef dabc::SocketCommandClientRef root::MonitorRef

Public Member Functions

bool CanSubmitCommand () const
 Returns true if command can be submitted to the worker. More...
 
RecordField Cfg (const std::string &name, Command cmd=nullptr) const
 Returns configuration record of specified name. More...
 
bool Execute (Command cmd, double tmout=-1.)
 
bool Execute (const std::string &cmd, double tmout=-1.)
 
bool FireEvent (const EventId &ev)
 
bool FireEvent (uint16_t evid, uint32_t arg)
 
bool HasThread () const
 Returns true when thread is assigned to the worker. More...
 
bool IsSameThread (const WorkerRef &ref)
 Returns true if two workers share same thread. More...
 
bool MakeThreadForWorker (const std::string &thrdname="")
 
Parameter Par (const std::string &name) const
 Returns reference on parameter. More...
 
bool Submit (Command cmd)
 
bool SyncWorker (double tmout=-1.)
 Synchronize worker with caller thread. More...
 
ThreadRef thread ()
 
std::string ThreadName () const
 Returns thread name of worker assigned. More...
 
- Public Member Functions inherited from dabc::Reference
bool AddChild (Object *obj)
 Add child to list of object children. More...
 
const char * ClassName () const
 Return class name of referenced object, if object not assigned, returns "---". More...
 
void Destroy () throw ()
 Release reference and starts destroyment of referenced object. More...
 
Reference FindChild (const char *name) const
 Searches for child in referenced object. More...
 
bool GetAllChildRef (ReferencesVector *vect) const
 Return references for all childs. More...
 
Reference GetChild (unsigned n) const
 Return reference on child n. More...
 
Reference GetFolder (const std::string &name, bool force=false) throw ()
 Return folder of specified name, no special symbols are allowed. More...
 
const char * GetName () const
 Return name of referenced object, if object not assigned, returns "---". More...
 
ObjectGetObject () const
 Return pointer on the object. More...
 
ObjectGetParent () const
 Returns pointer on parent object. More...
 
Reference GetParentRef () const
 Returns reference on parent object. More...
 
bool IsName (const char *name) const
 Returns true if object name is the same as specified one. More...
 
std::string ItemName (bool compact=true) const
 Produce string, which can be used as name argument in dabc::mgr.FindItem(name) call. More...
 
bool null () const
 Returns true if reference contains nullptr. More...
 
unsigned NumChilds () const
 Return number of childs in referenced object. More...
 
unsigned NumReferences () const
 Returns number of references on the object. More...
 
bool operator! () const
 Returns true if reference contains nullptr. More...
 
bool operator!= (const Reference &src) const
 Compare operator - return true if references refer to different object. More...
 
bool operator!= (Object *obj) const
 Compare operator - return true if reference refer to different objects. More...
 
Objectoperator() () const
 Return pointer on the object. More...
 
Referenceoperator<< (Reference &src) throw ()
 Move operator - reference moved from source to target. More...
 
Referenceoperator= (const Reference &src) throw ()
 Assignment operator - copy reference. More...
 
Referenceoperator= (Object *obj) throw ()
 Assignment operator - copy reference. More...
 
bool operator== (const Reference &src) const
 Compare operator - return true if references refer to same object. More...
 
bool operator== (Object *obj) const
 Compare operator - return true if reference refer to same object. More...
 
void Print (int lvl=0, const char *from=0) const
 Show on debug output content of reference. More...
 
 Reference (const Reference &src) throw ()
 Copy constructor, if source is transient than source reference will be emptied. More...
 
 Reference (Object *obj=nullptr)
 Constructor, creates reference on the object. More...
 
std::string RelativeName (const dabc::Reference &topitem)
 Produce name, which can be used to find item, calling topitem.FindChild(). More...
 
void Release () throw ()
 Releases reference on the object. More...
 
bool RemoveChild (const char *name, bool cleanup=true)
 Remove child with given name and return reference on that child. More...
 
bool RemoveChilds (bool cleanup=true)
 Remove all childs in referenced object If cleanup true (default) and object is owner, all objects will be destroyed. More...
 
void SetAutoDestroy (bool on=true)
 Set autodestroy flag for the object Once enabled, object will be destroyed when last reference will be cleared. More...
 
void SetObject (Object *obj, bool withmutex=true)
 Direct set of object to reference. More...
 
Reference Take ()
 Copy reference to output object. More...
 
virtual ~Reference ()
 Destructor, releases reference on the object. More...
 

Additional Inherited Members

- Protected Member Functions inherited from dabc::Reference
bool AcquireRefWithoutMutex (Reference &ref)
 Special method, which allows to generate new reference when object mutex is locked. More...
 
void Assign (const Reference &src)
 Method used in copy constructor and assigned operations. More...
 
MutexObjectMutex () const
 
template<class T >
bool verify_object (Object *src, T *&tgt)
 Method used in reference constructor/assignments to verify is object is suitable. More...
 
- Protected Attributes inherited from dabc::Reference
ObjectfObj
 pointer on the object More...
 

Detailed Description

Reference on dabc::Worker

Definition at line 466 of file Worker.h.

Member Function Documentation

◆ Submit()

bool dabc::WorkerRef::Submit ( dabc::Command  cmd)

Definition at line 1139 of file Worker.cxx.

◆ Execute() [1/2]

bool dabc::WorkerRef::Execute ( Command  cmd,
double  tmout = -1. 
)

Definition at line 1147 of file Worker.cxx.

◆ Execute() [2/2]

bool dabc::WorkerRef::Execute ( const std::string &  cmd,
double  tmout = -1. 
)

Definition at line 1153 of file Worker.cxx.

◆ Par()

dabc::Parameter dabc::WorkerRef::Par ( const std::string &  name) const

Returns reference on parameter.

Definition at line 1159 of file Worker.cxx.

◆ Cfg()

RecordField dabc::WorkerRef::Cfg ( const std::string &  name,
Command  cmd = nullptr 
) const
inline

Returns configuration record of specified name.

Definition at line 482 of file Worker.h.

◆ HasThread()

bool dabc::WorkerRef::HasThread ( ) const

Returns true when thread is assigned to the worker.

Definition at line 1165 of file Worker.cxx.

◆ ThreadName()

std::string dabc::WorkerRef::ThreadName ( ) const
inline

Returns thread name of worker assigned.

Definition at line 489 of file Worker.h.

◆ thread()

ThreadRef dabc::WorkerRef::thread ( )
inline

Definition at line 492 of file Worker.h.

◆ IsSameThread()

bool dabc::WorkerRef::IsSameThread ( const WorkerRef ref)

Returns true if two workers share same thread.

Definition at line 1170 of file Worker.cxx.

◆ MakeThreadForWorker()

bool dabc::WorkerRef::MakeThreadForWorker ( const std::string &  thrdname = "")
inline

Definition at line 498 of file Worker.h.

◆ CanSubmitCommand()

bool dabc::WorkerRef::CanSubmitCommand ( ) const

Returns true if command can be submitted to the worker.

Definition at line 1179 of file Worker.cxx.

◆ SyncWorker()

bool dabc::WorkerRef::SyncWorker ( double  tmout = -1.)

Synchronize worker with caller thread.

We let worker to execute all queued commands and process all queued events.

Definition at line 1184 of file Worker.cxx.

◆ FireEvent() [1/2]

bool dabc::WorkerRef::FireEvent ( uint16_t  evid,
uint32_t  arg 
)
inline

Definition at line 508 of file Worker.h.

◆ FireEvent() [2/2]

bool dabc::WorkerRef::FireEvent ( const EventId ev)
inline

Definition at line 510 of file Worker.h.


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