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

Command definition class. More...

#include <dabc/Parameter.h>

Inheritance diagram for dabc::CommandDefinition:
dabc::Record dabc::Reference

Public Member Functions

CommandDefinitionAddArg (const std::string &name, const std::string &kind="string", bool required=true, const RecordField &dflt=RecordField())
 
int FindArg (const std::string &name) const
 
bool GetArg (int n, std::string &name, std::string &kind, bool &required, std::string &dflt) const
 
bool HasArg (const std::string &name) const
 
Command MakeCommand () const
 Create command according command definition, all default and required parameters will be specified. More...
 
int NumArgs () const
 
CommandDefinitionSetArgMinMax (const std::string &name, const RecordField &min, const RecordField &max)
 
- 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 Member Functions

std::string ArgName (int n) const
 
- 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...
 

Additional Inherited Members

- Protected Attributes inherited from dabc::Reference
ObjectfObj
 pointer on the object More...
 

Detailed Description

Command definition class.

This class should be used to create command description, which than can be used to provide interactive user interface created with CreatePar(name, "cmddef") call or CreateCmdDef(name)

Definition at line 333 of file Parameter.h.

Member Function Documentation

◆ ArgName()

std::string dabc::CommandDefinition::ArgName ( int  n) const
protected

Definition at line 579 of file Parameter.cxx.

◆ AddArg()

dabc::CommandDefinition & dabc::CommandDefinition::AddArg ( const std::string &  name,
const std::string &  kind = "string",
bool  required = true,
const RecordField dflt = RecordField() 
)

Definition at line 593 of file Parameter.cxx.

◆ SetArgMinMax()

dabc::CommandDefinition & dabc::CommandDefinition::SetArgMinMax ( const std::string &  name,
const RecordField min,
const RecordField max 
)

Definition at line 618 of file Parameter.cxx.

◆ NumArgs()

int dabc::CommandDefinition::NumArgs ( ) const

Definition at line 574 of file Parameter.cxx.

◆ FindArg()

int dabc::CommandDefinition::FindArg ( const std::string &  name) const

Definition at line 584 of file Parameter.cxx.

◆ HasArg()

bool dabc::CommandDefinition::HasArg ( const std::string &  name) const
inline

Definition at line 352 of file Parameter.h.

◆ GetArg()

bool dabc::CommandDefinition::GetArg ( int  n,
std::string &  name,
std::string &  kind,
bool &  required,
std::string &  dflt 
) const

Definition at line 632 of file Parameter.cxx.

◆ MakeCommand()

dabc::Command dabc::CommandDefinition::MakeCommand ( ) const

Create command according command definition, all default and required parameters will be specified.

Definition at line 656 of file Parameter.cxx.


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