Logo ROOT  
Reference Guide
TXMLPlayer.h
Go to the documentation of this file.
1 // @(#)root/xml:$Id$
2 // Author: Sergey Linev 10.05.2004
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, 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 
12 #ifndef ROOT_TXMLPlayer
13 #define ROOT_TXMLPlayer
14 
15 #include "TObject.h"
16 
17 #include "TXMLSetup.h"
18 
19 class TStreamerInfo;
20 class TStreamerElement;
21 class TStreamerSTL;
22 class TDataMember;
23 class TList;
24 
25 class TXMLPlayer : public TObject {
26 public:
27  TXMLPlayer();
28  virtual ~TXMLPlayer();
29 
30  Bool_t ProduceCode(TList *cllist, const char *filename);
31 
32 protected:
34 
35  const char *ElementGetter(TClass *cl, const char *membername, int specials = 0);
36  const char *ElementSetter(TClass *cl, const char *membername, char *endch);
37 
40  TString GetBasicTypeReaderMethodName(Int_t type, const char *realname);
41  void ProduceStreamerSource(std::ostream &fs, TClass *cl, TList *cllist);
42 
43  void ReadSTLarg(std::ostream &fs, TString &argname, int argtyp, Bool_t isargptr, TClass *argcl, TString &tname,
44  TString &ifcond);
45  void WriteSTLarg(std::ostream &fs, const char *accname, int argtyp, Bool_t isargptr, TClass *argcl);
46  Bool_t ProduceSTLstreamer(std::ostream &fs, TClass *cl, TStreamerSTL *el, Bool_t isWriting);
47 
48  TString fGetterName; //! buffer for name of getter method
49  TString fSetterName; //! buffer for name of setter method
50  TXMLSetup fXmlSetup; //! buffer for xml names conversion
51 
52  ClassDef(TXMLPlayer, 1) // Generation of external xml streamers
53 };
54 
55 #endif
TXMLPlayer::fGetterName
TString fGetterName
Definition: TXMLPlayer.h:48
TXMLPlayer::ReadSTLarg
void ReadSTLarg(std::ostream &fs, TString &argname, int argtyp, Bool_t isargptr, TClass *argcl, TString &tname, TString &ifcond)
Produce code to read argument of stl container from xml file.
Definition: TXMLPlayer.cxx:832
TXMLPlayer
Definition: TXMLPlayer.h:25
TXMLPlayer::fSetterName
TString fSetterName
buffer for name of getter method
Definition: TXMLPlayer.h:49
TXMLPlayer::~TXMLPlayer
virtual ~TXMLPlayer()
destructor of TXMLPlayer object
Definition: TXMLPlayer.cxx:143
TDataMember
All ROOT classes may have RTTI (run time type identification) support added.
Definition: TDataMember.h:31
TXMLPlayer::WriteSTLarg
void WriteSTLarg(std::ostream &fs, const char *accname, int argtyp, Bool_t isargptr, TClass *argcl)
Produce code to write argument of stl container to xml file.
Definition: TXMLPlayer.cxx:893
TString
Basic string class.
Definition: TString.h:136
TXMLSetup
Definition: TXMLSetup.h:82
bool
TXMLPlayer::GetMemberTypeName
TString GetMemberTypeName(TDataMember *member)
returns name of simple data type for given data member
Definition: TXMLPlayer.cxx:222
TXMLPlayer::ElementGetter
const char * ElementGetter(TClass *cl, const char *membername, int specials=0)
produce code to access member of given class.
Definition: TXMLPlayer.cxx:333
TXMLSetup.h
TXMLPlayer::ProduceStreamerSource
void ProduceStreamerSource(std::ostream &fs, TClass *cl, TList *cllist)
Produce source code of streamer function for specified class.
Definition: TXMLPlayer.cxx:429
TStreamerInfo
Describe Streamer information for one class version.
Definition: TStreamerInfo.h:44
TXMLPlayer::GetStreamerName
TString GetStreamerName(TClass *cl)
returns streamer function name for given class
Definition: TXMLPlayer.cxx:150
TStreamerSTL
Definition: TStreamerElement.h:392
TXMLPlayer::TXMLPlayer
TXMLPlayer()
default constructor
Definition: TXMLPlayer.cxx:136
TXMLPlayer::GetBasicTypeReaderMethodName
TString GetBasicTypeReaderMethodName(Int_t type, const char *realname)
return functions name to read simple data type from xml file
Definition: TXMLPlayer.cxx:293
TXMLPlayer::fXmlSetup
TXMLSetup fXmlSetup
buffer for name of setter method
Definition: TXMLPlayer.h:50
TObject.h
TClass
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
TXMLPlayer::ElementSetter
const char * ElementSetter(TClass *cl, const char *membername, char *endch)
Produce code to set value to given data member.
Definition: TXMLPlayer.cxx:392
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TXMLPlayer::GetBasicTypeName
TString GetBasicTypeName(TStreamerElement *el)
return simple data types for given TStreamerElement object
Definition: TXMLPlayer.cxx:260
TXMLPlayer::ProduceCode
Bool_t ProduceCode(TList *cllist, const char *filename)
Produce streamers for provide class list TList should include list of classes, for which code should ...
Definition: TXMLPlayer.cxx:167
TXMLPlayer::ProduceSTLstreamer
Bool_t ProduceSTLstreamer(std::ostream &fs, TClass *cl, TStreamerSTL *el, Bool_t isWriting)
Produce code of xml streamer for data member of stl type.
Definition: TXMLPlayer.cxx:943
type
int type
Definition: TGX11.cxx:121
TStreamerElement
Definition: TStreamerElement.h:33
TList
A doubly linked list.
Definition: TList.h:44
int