Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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 
36 class TRemoteObject : public TNamed {
37 
38 protected:
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 
46 public:
47  TRemoteObject();
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();
55  Bool_t GetFileStat(FileStat_t *sbuf);
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