TRootSnifferScanRec Structure used to scan hierarchies of ROOT objects Represents single level of hierarchy
virtual | ~TRootSniffer() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
Bool_t | CanDrawItem(const char* path) |
Bool_t | CanExploreItem(const char* path) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual void* | FindInHierarchy(const char* path, TClass** cl = 0, TDataMember** member = 0, Int_t* chld = 0) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
TObject* | FindTObjectInHierarchy(const char* path) |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
ULong_t | GetItemHash(const char* itemname) |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
ULong_t | GetStreamerInfoHash() |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
static Bool_t | IsDrawableClass(TClass* cl) |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
Bool_t | IsReadOnly() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | IsStreamerInfoItem(const char* itemname) |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
void | TObject::operator delete(void* ptr) |
void | TObject::operator delete(void* ptr, void* vp) |
void | TObject::operator delete[](void* ptr) |
void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
TRootSniffer& | operator=(const TRootSniffer&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
Bool_t | Produce(const char* path, const char* file, const char* options, void*& ptr, Long_t& length) |
Bool_t | ProduceBinary(const char* path, const char* options, void*& ptr, Long_t& length) |
Bool_t | ProduceExe(const char* path, const char* options, TString& res, Bool_t astxt = kFALSE) |
Bool_t | ProduceImage(Int_t kind, const char* path, const char* options, void*& ptr, Long_t& length) |
Bool_t | ProduceJson(const char* path, const char* options, TString& res) |
Bool_t | ProduceXml(const char* path, const char* options, TString& res) |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
Bool_t | RegisterObject(const char* subfolder, TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
void | ScanHierarchy(const char* topname, const char* path, TRootSnifferStore* store) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetReadOnly(Bool_t on = kTRUE) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
TRootSniffer(const TRootSniffer&) | |
TRootSniffer(const char* name, const char* objpath = "online") | |
Bool_t | UnregisterObject(TObject* obj) |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
void | CreateMemFile() |
TString | DecodeUrlOptionValue(const char* value, Bool_t remove_quotes = kTRUE) |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
void | ScanCollection(TRootSnifferScanRec& rec, TCollection* lst, const char* foldername = 0, Bool_t extra = kFALSE, TCollection* keys_lst = 0) |
void | ScanObject(TRootSnifferScanRec& rec, TObject* obj) |
virtual void | ScanObjectChilds(TRootSnifferScanRec& rec, TObject* obj) |
void | ScanObjectMemebers(TRootSnifferScanRec& rec, TClass* cl, char* ptr, unsigned long cloffset) |
virtual void | ScanObjectProperties(TRootSnifferScanRec& rec, TObject*& obj, TClass*& obj_class) |
virtual void | ScanRoot(TRootSnifferScanRec& rec) |
static TObject::(anonymous) | TObject::kBitMask | |
static TObject::EStatusBits | TObject::kCanDelete | |
static TObject::EStatusBits | TObject::kCannotPick | |
static TObject::EStatusBits | TObject::kHasUUID | |
static TObject::EStatusBits | TObject::kInvalidObject | |
static TObject::(anonymous) | TObject::kIsOnHeap | |
static TObject::EStatusBits | TObject::kIsReferenced | |
static TObject::EStatusBits | TObject::kMustCleanup | |
static TObject::EStatusBits | TObject::kNoContextMenu | |
static TObject::(anonymous) | TObject::kNotDeleted | |
static TObject::EStatusBits | TObject::kObjInCanvas | |
static TObject::(anonymous) | TObject::kOverwrite | |
static TObject::(anonymous) | TObject::kSingleKey | |
static TObject::(anonymous) | TObject::kWriteDelete | |
static TObject::(anonymous) | TObject::kZombie |
TMemFile* | fMemFile | ! file used to manage streamer infos |
TString | TNamed::fName | object identifier |
TString | fObjectsPath | ! path for registered objects |
Bool_t | fReadOnly | ! indicate if sniffer allowed to change ROOT structures - for instance, read objects from files |
Int_t | fSinfoSize | ! number of elements in streamer info, used as version |
TString | TNamed::fTitle | object title |
Inheritance Chart: | |||||||||||||
|
scan object data members some members like enum or static members will be excluded
scan object content if object is known collection class (like TFolder), collection content will be scanned as well
scans basic object properties here such fields as _typename, _title, _more properties can be specified
scans object childs (if any) here one scans collection, branches, trees and so on
scan collection content
scan complete ROOT objects hierarchy For the moment it includes objects in gROOT directory and list of canvases and files Also all registered objects are included. One could reimplement this method to provide alternative scan methods or to extend some collection kinds
scan ROOT hierarchy with provided store object
Search element with specified path Returns pointer on element Optionally one could obtain element class, member description and number of childs. When chld!=0, not only element is searched, but also number of childs are counted. When member!=0, any object will be scanned for its data members (disregard of extra options)
Search element in hierarchy, derived from TObject
Returns hash value for streamer infos At the moment - just number of items in streamer infos list.
Get hash function for specified item used to detect any changes in the specified object
Method returns true when object has childs or one could try to expand item
Creates TMemFile instance, which used for objects streaming One could not use TBufferFile directly, while one also require streamer infos list
produce JSON data for specified item For object conversion TBufferJSON is used
produce XML data for specified item For object conversion TBufferXML is used
method replaces all kind of special symbols, which could appear in URL options
execute command for specified object options include method and extra list of parameters sniffer should be not-readonly to allow execution of the commands
produce binary data for specified item
if "zipped" option specified in query, buffer will be compressed
Method to produce image from specified object Parameters: kind - image kind TImage::kPng, TImage::kJpeg, TImage::kGif path - path to object options - extra options By default, image 300x200 is produced In options string one could provide following parameters: w - image width h - image height opt - draw options For instance: http://localhost:8080/Files/hsimple.root/hpx/get.png?w=500&h=500&opt=lego1 Return is memory with produced image Memory must be released by user with free(ptr) call
method to produce different kind of binary data Supported file (case sensitive): "root.bin" - binary data "root.png" - png image "root.jpeg" - jpeg image "root.gif" - gif image "root.xml" - xml representation "root.json" - json representation "exe.json" - method execution with json reply "exe.txt" - method execution with debug output
register object in subfolder structure subfolder parameter can have many levels like: TRootSniffer* sniff = new TRootSniffer("sniff"); sniff->RegisterObject("/my/sub/subfolder", h1); Such objects can be later found in "Objects" folder of sniffer like h1 = sniff->FindTObjectInHierarchy("/Objects/my/sub/subfolder/h1"); Objects, registered in "extra" sub-folder, can be explored. Typically one used "extra" sub-folder to register event structures to be able expand it later in web-browser: TEvent* ev = new TEvent; sniff->RegisterObject("extra", ev);
unregister (remove) object from folders structures folder itself will remain even when it will be empty
When readonly on (default), sniffer is not allowed to change ROOT structures. For instance, it is not allowed to read new objects from files
{ fReadOnly = on; }