Structure used to scan hierarchies of ROOT objects.
Represents single level of hierarchy
Definition at line 28 of file TRootSniffer.h.
Public Member Functions | |
TRootSnifferScanRec () | |
constructor | |
virtual | ~TRootSnifferScanRec () |
destructor | |
void | BeforeNextChild () |
Indicates that new child for current element will be started. | |
void | BuildFullName (TString &buf, TRootSnifferScanRec *prnt=nullptr) |
Produces full name for the current item. | |
Bool_t | CanExpandItem () |
Returns true when item can be expanded. | |
Bool_t | CanSetFields () const |
return true when fields could be set to the hierarchy item | |
void | CloseNode () |
Close started node. | |
void | CreateNode (const char *_node_name) |
Starts new node, must be closed at the end. | |
Int_t | Depth () const |
Returns depth of hierarchy. | |
Bool_t | Done () const |
Method indicates that scanning can be interrupted while result is set. | |
Bool_t | GoInside (TRootSnifferScanRec &super, TObject *obj, const char *obj_name=nullptr, TRootSniffer *sniffer=nullptr) |
Method verifies if new level of hierarchy should be started with provided object. | |
virtual TClass * | IsA () const |
Bool_t | IsReadOnly (Bool_t dflt=kTRUE) |
Returns read-only flag for current item. | |
Bool_t | IsReadyForResult () const |
Checks if result will be accepted. | |
void | MakeItemName (const char *objname, TString &itemname) |
Construct item name, using object name as basis. | |
Bool_t | ScanOnlyFields () const |
return true when only fields are scanned by the sniffer | |
void | SetField (const char *name, const char *value, Bool_t with_quotes=kTRUE) |
Set item field only when creating is specified. | |
Bool_t | SetFoundResult (void *obj, TClass *cl, TDataMember *member=nullptr) |
Set found element with class and datamember (optional) | |
Bool_t | SetResult (void *obj, TClass *cl, TDataMember *member=nullptr) |
Obsolete, use SetFoundResult instead. | |
void | SetRootClass (TClass *cl) |
Mark item with ROOT class and correspondent streamer info. | |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Protected Types | |
enum | { kScan = 0x0001 , kExpand = 0x0002 , kSearch = 0x0004 , kCheckChilds = 0x0008 , kOnlyFields = 0x0010 , kActions = 0x001F } |
Protected Attributes | |
Bool_t | fHasMore {kFALSE} |
! indicates that potentially there are more items can be found | |
TString | fItemName |
! name of current item | |
TList | fItemsNames |
! list of created items names, need to avoid duplication | |
Int_t | fLevel {0} |
! current level of hierarchy | |
UInt_t | fMask {0} |
! defines operation kind | |
Bool_t | fNodeStarted {kFALSE} |
! indicate if node was started | |
Int_t | fNumChilds {0} |
! number of childs | |
Int_t | fNumFields {0} |
! number of fields | |
TRootSnifferScanRec * | fParent {nullptr} |
! pointer on parent record | |
Int_t | fRestriction {0} |
! restriction 0 - default, 1 - read-only, 2 - full access | |
const char * | fSearchPath {nullptr} |
! current path searched | |
TRootSnifferStore * | fStore {nullptr} |
! object to store results | |
Friends | |
class | TRootSniffer |
#include <TRootSniffer.h>
|
protected |
Definition at line 34 of file TRootSniffer.h.
TRootSnifferScanRec::TRootSnifferScanRec | ( | ) |
constructor
Definition at line 59 of file TRootSniffer.cxx.
|
virtual |
destructor
Definition at line 67 of file TRootSniffer.cxx.
void TRootSnifferScanRec::BeforeNextChild | ( | ) |
Indicates that new child for current element will be started.
Definition at line 85 of file TRootSniffer.cxx.
void TRootSnifferScanRec::BuildFullName | ( | TString & | buf, |
TRootSnifferScanRec * | prnt = nullptr |
||
) |
Produces full name for the current item.
Produce full name, including all parents.
Definition at line 121 of file TRootSniffer.cxx.
Bool_t TRootSnifferScanRec::CanExpandItem | ( | ) |
Returns true when item can be expanded.
returns true if current item can be expanded - means one could explore objects members
Definition at line 268 of file TRootSniffer.cxx.
|
inline |
return true when fields could be set to the hierarchy item
Definition at line 64 of file TRootSniffer.h.
|
static |
|
inlinestaticconstexpr |
Definition at line 110 of file TRootSniffer.h.
void TRootSnifferScanRec::CloseNode | ( | ) |
Close started node.
Definition at line 158 of file TRootSniffer.cxx.
void TRootSnifferScanRec::CreateNode | ( | const char * | _node_name | ) |
Starts new node, must be closed at the end.
Creates new node with specified name if special symbols like "[]&<>" are used, node name will be replaced by default name like "extra_item_N" and original node name will be recorded as "_original_name" field Optionally, object name can be recorded as "_realname" field.
Definition at line 141 of file TRootSniffer.cxx.
|
inlinestatic |
Definition at line 110 of file TRootSniffer.h.
Int_t TRootSnifferScanRec::Depth | ( | ) | const |
Returns depth of hierarchy.
returns current depth of scanned hierarchy
Definition at line 252 of file TRootSniffer.cxx.
Bool_t TRootSnifferScanRec::Done | ( | ) | const |
Method indicates that scanning can be interrupted while result is set.
returns true if scanning is done Can happen when searched element is found
Definition at line 181 of file TRootSniffer.cxx.
Bool_t TRootSnifferScanRec::GoInside | ( | TRootSnifferScanRec & | super, |
TObject * | obj, | ||
const char * | obj_name = nullptr , |
||
TRootSniffer * | sniffer = nullptr |
||
) |
Method verifies if new level of hierarchy should be started with provided object.
If required, all necessary nodes and fields will be created Used when different collection kinds should be scanned
Definition at line 301 of file TRootSniffer.cxx.
|
inlinevirtual |
Definition at line 110 of file TRootSniffer.h.
Returns read-only flag for current item.
returns read-only flag for current item Depends from default value and current restrictions
Definition at line 287 of file TRootSniffer.cxx.
Bool_t TRootSnifferScanRec::IsReadyForResult | ( | ) | const |
Checks if result will be accepted.
Used to verify if sniffer should read object from the file
Definition at line 199 of file TRootSniffer.cxx.
void TRootSnifferScanRec::MakeItemName | ( | const char * | objname, |
TString & | itemname | ||
) |
Construct item name, using object name as basis.
Constructs item name from object name if special symbols like '/', '#', ':', '&', '?' are used in object name they will be replaced with '_'.
To avoid item name duplication, additional id number can be appended
Definition at line 98 of file TRootSniffer.cxx.
|
inline |
return true when only fields are scanned by the sniffer
Definition at line 67 of file TRootSniffer.h.
void TRootSnifferScanRec::SetField | ( | const char * | name, |
const char * | value, | ||
Bool_t | with_quotes = kTRUE |
||
) |
Set item field only when creating is specified.
record field for current element
Definition at line 75 of file TRootSniffer.cxx.
Bool_t TRootSnifferScanRec::SetFoundResult | ( | void * | obj, |
TClass * | cl, | ||
TDataMember * | member = nullptr |
||
) |
Set found element with class and datamember (optional)
set results of scanning when member specified, obj is pointer on object to which member belongs
Definition at line 236 of file TRootSniffer.cxx.
Bool_t TRootSnifferScanRec::SetResult | ( | void * | obj, |
TClass * | cl, | ||
TDataMember * | member = nullptr |
||
) |
Obsolete, use SetFoundResult instead.
set results of scanning when member should be specified, use SetFoundResult instead
Definition at line 222 of file TRootSniffer.cxx.
void TRootSnifferScanRec::SetRootClass | ( | TClass * | cl | ) |
Mark item with ROOT class and correspondent streamer info.
set root class name as node kind in addition, path to master item (streamer info) specified Such master item required to correctly unstream data on JavaScript
Definition at line 171 of file TRootSniffer.cxx.
|
virtual |
|
inline |
Definition at line 110 of file TRootSniffer.h.
|
friend |
Definition at line 30 of file TRootSniffer.h.
! indicates that potentially there are more items can be found
Definition at line 52 of file TRootSniffer.h.
|
protected |
! name of current item
Definition at line 47 of file TRootSniffer.h.
|
protected |
! list of created items names, need to avoid duplication
Definition at line 48 of file TRootSniffer.h.
|
protected |
! current level of hierarchy
Definition at line 46 of file TRootSniffer.h.
|
protected |
! defines operation kind
Definition at line 44 of file TRootSniffer.h.
! indicate if node was started
Definition at line 53 of file TRootSniffer.h.
|
protected |
! number of childs
Definition at line 55 of file TRootSniffer.h.
|
protected |
! number of fields
Definition at line 54 of file TRootSniffer.h.
|
protected |
! pointer on parent record
Definition at line 43 of file TRootSniffer.h.
|
protected |
! restriction 0 - default, 1 - read-only, 2 - full access
Definition at line 49 of file TRootSniffer.h.
|
protected |
! current path searched
Definition at line 45 of file TRootSniffer.h.
|
protected |
! object to store results
Definition at line 51 of file TRootSniffer.h.