Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TRemoteObject.h
Go to the documentation of this file.
1// @(#)root/base:$Id$
2// Author: Bertrand Bellenot 19/06/2007
3
4/*************************************************************************
5 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11#ifndef ROOT_TRemoteObject
12#define ROOT_TRemoteObject
13
14//////////////////////////////////////////////////////////////////////////
15// //
16// TRemoteObject //
17// //
18// The TRemoteObject class provides protocol for browsing ROOT objects //
19// from a remote ROOT session. //
20// It contains information on the real remote object as: //
21// - Object Properties (i.e. file stat if the object is a TSystemFile) //
22// - Object Name //
23// - Class Name //
24// - TKey Object Name (if the remote object is a TKey) //
25// - TKey Class Name (if the remote object is a TKey) //
26// - Remote object address //
27// //
28//////////////////////////////////////////////////////////////////////////
29
30#include "TSystem.h"
31
32class TList;
33
34class TRemoteObject : public TNamed {
35
36protected:
37 FileStat_t fFileStat; // file status
38 Bool_t fIsFolder; // is folder flag
39 Long64_t fRemoteAddress; // remote address
40 TString fClassName; // real object class name
41 TString fKeyObjectName; // key object name
42 TString fKeyClassName; // key object class name
43
44public:
46 TRemoteObject(const char *name, const char *title, const char *classname);
47
48 virtual ~TRemoteObject();
49
50 void Browse(TBrowser *b) override;
51 Bool_t IsFolder() const override { return fIsFolder; }
52 TList *Browse();
54 const char *GetClassName() const { return fClassName.Data(); }
55 const char *GetKeyObjectName() const { return fKeyObjectName.Data(); }
56 const char *GetKeyClassName() const { return fKeyClassName.Data(); }
57 void SetFolder(Bool_t isFolder) { fIsFolder = isFolder; }
58 void SetKeyObjectName(const char *name) { fKeyObjectName = name; }
59 void SetKeyClassName(const char *name) { fKeyClassName = name; }
61
62 ClassDefOverride(TRemoteObject,0) //A remote object
63};
64
65#endif
66
#define b(i)
Definition RSha256.hxx:100
bool Bool_t
Definition RtypesCore.h:63
long Longptr_t
Definition RtypesCore.h:82
long long Long64_t
Definition RtypesCore.h:80
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
char name[80]
Definition TGX11.cxx:110
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
A doubly linked list.
Definition TList.h:38
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
The TRemoteObject class provides protocol for browsing ROOT objects from a remote ROOT session.
TString fClassName
void SetKeyClassName(const char *name)
void SetKeyObjectName(const char *name)
Bool_t IsFolder() const override
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
virtual ~TRemoteObject()
Delete remote object.
TList * Browse()
Browse OS system directories.
const char * GetClassName() const
TString fKeyObjectName
void SetRemoteAddress(Longptr_t addr)
Bool_t GetFileStat(FileStat_t *sbuf)
Get remote file status.
TRemoteObject()
Create a remote object.
const char * GetKeyObjectName() const
TString fKeyClassName
Long64_t fRemoteAddress
void SetFolder(Bool_t isFolder)
FileStat_t fFileStat
const char * GetKeyClassName() const
Basic string class.
Definition TString.h:139
const char * Data() const
Definition TString.h:376