Logo ROOT  
Reference Guide
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_TObjectRemote
12#define ROOT_TObjectRemote
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 "TSystemDirectory.h"
31
32#include "TList.h"
33
34#include "TSystem.h"
35
36class TRemoteObject : public TNamed {
37
38protected:
39 FileStat_t fFileStat; // file status
40 Bool_t fIsFolder; // is folder flag
41 Long64_t fRemoteAddress; // remote address
42 TString fClassName; // real object class name
43 TString fKeyObjectName; // key object name
44 TString fKeyClassName; // key object class name
45
46public:
48 TRemoteObject(const char *name, const char *title, const char *classname);
49
50 virtual ~TRemoteObject();
51
52 virtual void Browse(TBrowser *b);
53 Bool_t IsFolder() const { return fIsFolder; }
54 TList *Browse();
56 const char *GetClassName() const { return fClassName.Data(); }
57 const char *GetKeyObjectName() const { return fKeyObjectName.Data(); }
58 const char *GetKeyClassName() const { return fKeyClassName.Data(); }
59 void SetFolder(Bool_t isFolder) { fIsFolder = isFolder; }
60 void SetKeyObjectName(const char *name) { fKeyObjectName = name; }
61 void SetKeyClassName(const char *name) { fKeyClassName = name; }
62 void SetRemoteAddress(Long_t addr) { fRemoteAddress = addr; }
63
64 ClassDef(TRemoteObject,0) //A remote object
65};
66
67#endif
68
#define b(i)
Definition: RSha256.hxx:100
long Long_t
Definition: RtypesCore.h:50
bool Bool_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:69
#define ClassDef(name, id)
Definition: Rtypes.h:326
char name[80]
Definition: TGX11.cxx:109
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
A doubly linked list.
Definition: TList.h:44
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.
Definition: TRemoteObject.h:36
TString fClassName
Definition: TRemoteObject.h:42
void SetKeyClassName(const char *name)
Definition: TRemoteObject.h:61
void SetKeyObjectName(const char *name)
Definition: TRemoteObject.h:60
void SetRemoteAddress(Long_t addr)
Definition: TRemoteObject.h:62
virtual ~TRemoteObject()
Delete remote object.
TList * Browse()
Browse OS system directories.
const char * GetClassName() const
Definition: TRemoteObject.h:56
TString fKeyObjectName
Definition: TRemoteObject.h:43
Bool_t GetFileStat(FileStat_t *sbuf)
Get remote file status.
TRemoteObject()
Create a remote object.
Bool_t fIsFolder
Definition: TRemoteObject.h:40
const char * GetKeyObjectName() const
Definition: TRemoteObject.h:57
TString fKeyClassName
Definition: TRemoteObject.h:44
Long64_t fRemoteAddress
Definition: TRemoteObject.h:41
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition: TRemoteObject.h:53
void SetFolder(Bool_t isFolder)
Definition: TRemoteObject.h:59
FileStat_t fFileStat
Definition: TRemoteObject.h:39
const char * GetKeyClassName() const
Definition: TRemoteObject.h:58
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364