DABC (Data Acquisition Backbone Core)  2.9.9
Protected Member Functions | Private Member Functions
dabc::PublisherRef Class Reference

#include <dabc/Publisher.h>

Inheritance diagram for dabc::PublisherRef:
dabc::WorkerRef dabc::Reference

Protected Member Functions

bool OwnCommand (int id, const std::string &path, const std::string &workername, void *hier=nullptr)
 
- 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...
 

Private Member Functions

bool AddRemote (const std::string &remnode, const std::string &workername)
 
Command ExeCmd (const std::string &fullname, const std::string &query)
 Execute item is command, providing parameters in query. More...
 
Buffer GetBinary (const std::string &fullname, const std::string &kind, const std::string &query, double tmout=5.)
 Return different kinds of binary data, depends from kind. More...
 
Hierarchy GetItem (const std::string &fullname, const std::string &query="", double tmout=5.)
 
int NeedAuth (const std::string &path)
 Returns 1 - need auth, 0 - no need auth, -1 - undefined. More...
 
bool Register (const std::string &path, const std::string &workername, void *hierarchy)
 
bool RemoveWorker (const std::string &workername, bool sync=true)
 
bool Subscribe (const std::string &path, const std::string &workername)
 
bool Unregister (const std::string &path, const std::string &workername, void *hierarchy)
 
bool Unsubscribe (const std::string &path, const std::string &workername)
 
std::string UserInterfaceKind (const char *uri, std::string &path, std::string &fname)
 Returns "" - undefined, "__tree__" – tree hierarchy "__single__" – single element "__file__" – just a file name. More...
 

Additional Inherited Members

- Public Member Functions inherited from dabc::WorkerRef
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...
 
- Protected Attributes inherited from dabc::Reference
ObjectfObj
 pointer on the object More...
 

Detailed Description

Definition at line 221 of file Publisher.h.

Member Function Documentation

◆ Register()

bool dabc::PublisherRef::Register ( const std::string &  path,
const std::string &  workername,
void *  hierarchy 
)
inlineprivate

Definition at line 224 of file Publisher.h.

◆ Unregister()

bool dabc::PublisherRef::Unregister ( const std::string &  path,
const std::string &  workername,
void *  hierarchy 
)
inlineprivate

Definition at line 227 of file Publisher.h.

◆ Subscribe()

bool dabc::PublisherRef::Subscribe ( const std::string &  path,
const std::string &  workername 
)
inlineprivate

Definition at line 230 of file Publisher.h.

◆ Unsubscribe()

bool dabc::PublisherRef::Unsubscribe ( const std::string &  path,
const std::string &  workername 
)
inlineprivate

Definition at line 233 of file Publisher.h.

◆ RemoveWorker()

bool dabc::PublisherRef::RemoveWorker ( const std::string &  workername,
bool  sync = true 
)
inlineprivate

Definition at line 236 of file Publisher.h.

◆ AddRemote()

bool dabc::PublisherRef::AddRemote ( const std::string &  remnode,
const std::string &  workername 
)
inlineprivate

Definition at line 239 of file Publisher.h.

◆ UserInterfaceKind()

std::string dabc::PublisherRef::UserInterfaceKind ( const char *  uri,
std::string &  path,
std::string &  fname 
)
private

Returns "" - undefined, "__tree__" – tree hierarchy "__single__" – single element "__file__" – just a file name.

Definition at line 946 of file Publisher.cxx.

◆ NeedAuth()

int dabc::PublisherRef::NeedAuth ( const std::string &  path)
private

Returns 1 - need auth, 0 - no need auth, -1 - undefined.

Definition at line 960 of file Publisher.cxx.

◆ GetBinary()

dabc::Buffer dabc::PublisherRef::GetBinary ( const std::string &  fullname,
const std::string &  kind,
const std::string &  query,
double  tmout = 5. 
)
private

Return different kinds of binary data, depends from kind.

Definition at line 996 of file Publisher.cxx.

◆ GetItem()

dabc::Hierarchy dabc::PublisherRef::GetItem ( const std::string &  fullname,
const std::string &  query = "",
double  tmout = 5. 
)
private

Definition at line 1009 of file Publisher.cxx.

◆ ExeCmd()

dabc::Command dabc::PublisherRef::ExeCmd ( const std::string &  fullname,
const std::string &  query 
)
private

Execute item is command, providing parameters in query.

Definition at line 974 of file Publisher.cxx.

◆ OwnCommand()

bool dabc::PublisherRef::OwnCommand ( int  id,
const std::string &  path,
const std::string &  workername,
void *  hier = nullptr 
)
protected

Definition at line 922 of file Publisher.cxx.


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