ROOT » NET » HTTP » TRootSnifferScanRec

class TRootSnifferScanRec


Structure used to scan hierarchies of ROOT objects
Represents single level of hierarchy

Function Members (Methods)

voidBuildFullName(TString& buf, TRootSnifferScanRec* prnt = 0)
Bool_tCanSetFields() const
static TClass*Class()
voidCreateNode(const char* _node_name)
Int_tDepth() const
Bool_tDone() const
Bool_tGoInside(TRootSnifferScanRec& super, TObject* obj, const char* obj_name = 0, TRootSniffer* sniffer = 0)
virtual TClass*IsA() const
Bool_tIsReadOnly(Bool_t dflt = kTRUE)
Bool_tIsReadyForResult() const
voidMakeItemName(const char* objname, TString& itemname)
TRootSnifferScanRec&operator=(const TRootSnifferScanRec&)
Bool_tScanOnlyFields() const
voidSetField(const char* name, const char* value, Bool_t with_quotes = kTRUE)
Bool_tSetResult(void* obj, TClass* cl, TDataMember* member = 0)
voidSetRootClass(TClass* cl)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
TRootSnifferScanRec(const TRootSnifferScanRec&)

Data Members

Bool_tfHasMore! indicates that potentially there are more items can be found
TStringfItemName! name of current item
TListfItemsNames! list of created items names, need to avoid duplication
Int_tfLevel! current level of hierarchy
UInt_tfMask! defines operation kind
Bool_tfNodeStarted! indicate if node was started
Int_tfNumChilds! number of childs
Int_tfNumFields! number of fields
TRootSnifferScanRec*fParent! pointer on parent record
Int_tfRestriction! restriction 0 - default, 1 - read-only, 2 - full access
const char*fSearchPath! current path searched
TRootSnifferStore*fStore! object to store results
static TRootSnifferScanRec::(anonymous)kActions
static TRootSnifferScanRec::(anonymous)kCheckChilds
static TRootSnifferScanRec::(anonymous)kExpand
static TRootSnifferScanRec::(anonymous)kOnlyFields
static TRootSnifferScanRec::(anonymous)kScan
static TRootSnifferScanRec::(anonymous)kSearch

Class Charts

Inheritance Chart:

Function documentation

void SetField(const char* name, const char* value, Bool_t with_quotes = kTRUE)
 record field for current element
void BeforeNextChild()
 indicates that new child for current element will be started
void MakeItemName(const char* objname, TString& itemname)
 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
void BuildFullName(TString& buf, TRootSnifferScanRec* prnt = 0)
 Produce full name, including all parents
void CreateNode(const char* _node_name)
 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
void CloseNode()
 close started node
void SetRootClass(TClass* cl)
 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
Bool_t Done() const
 returns true if scanning is done
 Can happen when searched element is found
Bool_t IsReadyForResult() const
 Checks if result will be accepted.
 Used to verify if sniffer should read object from the file
Bool_t SetResult(void* obj, TClass* cl, TDataMember* member = 0)
 set results of scanning
Int_t Depth() const
 returns current depth of scanned hierarchy
Bool_t CanExpandItem()
 returns true if current item can be expanded - means one could explore
 objects members
Bool_t IsReadOnly(Bool_t dflt = kTRUE)
 returns read-only flag for current item
 Depends from default value and current restrictions
Bool_t GoInside(TRootSnifferScanRec& super, TObject* obj, const char* obj_name = 0, TRootSniffer* sniffer = 0)
 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
Bool_t CanSetFields() const
 return true when fields could be set to the hierarchy item 
Bool_t ScanOnlyFields() const