TRootSnifferScanRec Structure used to scan hierarchies of ROOT objects Represents single level of hierarchy
virtual | ~TRootSnifferScanRec() |
void | BeforeNextChild() |
Bool_t | CanExpandItem() |
Bool_t | CanSetFields() |
static TClass* | Class() |
void | CloseNode() |
void | CreateNode(const char* _node_name, const char* _obj_name = 0) |
Int_t | Depth() const |
Bool_t | Done() |
Int_t | ExtraFolderLevel() |
Bool_t | GoInside(TRootSnifferScanRec& super, TObject* obj, const char* obj_name = 0) |
virtual TClass* | IsA() const |
void | MakeItemName(const char* objname, TString& itemname) |
TRootSnifferScanRec& | operator=(const TRootSnifferScanRec&) |
void | SetField(const char* name, const char* value) |
Bool_t | SetResult(void* obj, TClass* cl, TDataMember* member = 0, Int_t chlds = -1) |
void | SetRootClass(TClass* cl) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
TRootSnifferScanRec() | |
TRootSnifferScanRec(const TRootSnifferScanRec&) |
TList | fItemsNames | ! list of created items names, need to avoid duplication |
Bool_t | has_more | ! indicates that potentially there are more items can be found |
Int_t | lvl | ! current level of hierarchy |
UInt_t | mask | ! defines operation kind |
Int_t | num_childs | ! number of childs |
Int_t | num_fields | ! number of fields |
TRootSnifferScanRec* | parent | ! pointer on parent record |
const char* | searchpath | ! current path searched |
TString | started_node | ! name of node stared |
TRootSnifferStore* | store | ! object to store results |
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
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 "dabc:itemname" field Optionally, object name can be recorded as "dabc:realname" field
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
set results of scanning
return level depth till folder, marked with extra flag Objects in such folder can be 'expanded' - one can get access to all class members If no extra folder found, -1 is returned
returns true if current item can be expanded - means one could explore objects members
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