#include <TXMLPlayer.h>
Inheritance diagram for TXMLPlayer:
Public Member Functions | |
TXMLPlayer () | |
virtual | ~TXMLPlayer () |
Bool_t | ProduceCode (TList *cllist, const char *filename) |
TXMLPlayer () | |
virtual | ~TXMLPlayer () |
Bool_t | ProduceCode (TList *cllist, const char *filename) |
Protected Member Functions | |
TString | GetStreamerName (TClass *cl) |
const char * | ElementGetter (TClass *cl, const char *membername, int specials=0) |
const char * | ElementSetter (TClass *cl, const char *membername, char *endch) |
TString | GetMemberTypeName (TDataMember *member) |
TString | GetBasicTypeName (TStreamerElement *el) |
TString | GetBasicTypeReaderMethodName (Int_t type, const char *realname) |
void | ProduceStreamerSource (ostream &fs, TClass *cl, TList *cllist) |
void | ReadSTLarg (ostream &fs, TString &argname, int argtyp, Bool_t isargptr, TClass *argcl, TString &tname, TString &ifcond) |
void | WriteSTLarg (ostream &fs, const char *accname, int argtyp, Bool_t isargptr, TClass *argcl) |
Bool_t | ProduceSTLstreamer (ostream &fs, TClass *cl, TStreamerSTL *el, Bool_t isWriting) |
TString | GetStreamerName (TClass *cl) |
const char * | ElementGetter (TClass *cl, const char *membername, int specials=0) |
const char * | ElementSetter (TClass *cl, const char *membername, char *endch) |
TString | GetMemberTypeName (TDataMember *member) |
TString | GetBasicTypeName (TStreamerElement *el) |
TString | GetBasicTypeReaderMethodName (Int_t type, const char *realname) |
void | ProduceStreamerSource (ostream &fs, TClass *cl, TList *cllist) |
void | ReadSTLarg (ostream &fs, TString &argname, int argtyp, Bool_t isargptr, TClass *argcl, TString &tname, TString &ifcond) |
void | WriteSTLarg (ostream &fs, const char *accname, int argtyp, Bool_t isargptr, TClass *argcl) |
Bool_t | ProduceSTLstreamer (ostream &fs, TClass *cl, TStreamerSTL *el, Bool_t isWriting) |
Protected Attributes | |
TString | fGetterName |
TString | fSetterName |
buffer for name of getter method | |
TXMLSetup | fXmlSetup |
buffer for name of setter method |
Definition at line 32 of file TXMLPlayer.h.
TXMLPlayer::TXMLPlayer | ( | ) |
Definition at line 133 of file TXMLPlayer.cxx.
TXMLPlayer::~TXMLPlayer | ( | ) | [virtual] |
Definition at line 139 of file TXMLPlayer.cxx.
TXMLPlayer::TXMLPlayer | ( | ) |
virtual TXMLPlayer::~TXMLPlayer | ( | ) | [virtual] |
Definition at line 156 of file TXMLPlayer.cxx.
References TObjArray::Add(), TObjArray::Delete(), TObjArray::FindObject(), TClass::GetDeclFileName(), GetStreamerName(), kFALSE, kTRUE, names_xmlfileclass, ProduceStreamerSource(), and TIter::Reset().
Definition at line 145 of file TXMLPlayer.cxx.
Referenced by ProduceCode(), ProduceStreamerSource(), ReadSTLarg(), and WriteSTLarg().
const char * TXMLPlayer::ElementGetter | ( | TClass * | cl, | |
const char * | membername, | |||
int | specials = 0 | |||
) | [protected] |
Definition at line 313 of file TXMLPlayer.cxx.
References buf, TString::Data(), fGetterName, TDataMember::GetArrayDim(), TClass::GetBaseDataMember(), TClass::GetDataMember(), GetMemberTypeName(), TMethodCall::GetMethod(), TMethodCall::GetMethodName(), TDataMember::GetOffset(), TDataMember::GetterMethod(), TDataMember::IsaPointer(), TDataMember::Property(), and TFunction::Property().
Referenced by ProduceSTLstreamer(), and ProduceStreamerSource().
const char * TXMLPlayer::ElementSetter | ( | TClass * | cl, | |
const char * | membername, | |||
char * | endch | |||
) | [protected] |
Definition at line 372 of file TXMLPlayer.cxx.
References TString::Data(), fSetterName, TDataMember::GetArrayDim(), TClass::GetBaseDataMember(), TClass::GetDataMember(), GetMemberTypeName(), TMethodCall::GetMethod(), TMethodCall::GetMethodName(), TDataMember::GetOffset(), TDataMember::IsaPointer(), TDataMember::Property(), TFunction::Property(), TDataMember::SetterMethod(), and strcpy().
Referenced by ProduceSTLstreamer(), and ProduceStreamerSource().
TString TXMLPlayer::GetMemberTypeName | ( | TDataMember * | member | ) | [protected] |
Definition at line 214 of file TXMLPlayer.cxx.
References TDataMember::GetDataType(), TDataType::GetType(), TDataType::GetTypeName(), TDataMember::GetTypeName(), TDataMember::IsBasic(), TDataMember::IsEnum(), kBool_t, kChar_t, kDouble32_t, kDouble_t, kFloat16_t, kFloat_t, kInt_t, kLong64_t, kLong_t, kShort_t, kUChar_t, kUInt_t, kULong64_t, kULong_t, and kUShort_t.
Referenced by ElementGetter(), and ElementSetter().
TString TXMLPlayer::GetBasicTypeName | ( | TStreamerElement * | el | ) | [protected] |
Definition at line 249 of file TXMLPlayer.cxx.
References TStreamerElement::GetType(), TStreamerElement::GetTypeNameBasic(), TVirtualStreamerInfo::kBool, TVirtualStreamerInfo::kChar, TVirtualStreamerInfo::kCounter, TVirtualStreamerInfo::kDouble, TVirtualStreamerInfo::kDouble32, TVirtualStreamerInfo::kFloat, TVirtualStreamerInfo::kFloat16, TVirtualStreamerInfo::kInt, TVirtualStreamerInfo::kLong, TVirtualStreamerInfo::kLong64, TVirtualStreamerInfo::kShort, TVirtualStreamerInfo::kUChar, TVirtualStreamerInfo::kUInt, TVirtualStreamerInfo::kULong, TVirtualStreamerInfo::kULong64, and TVirtualStreamerInfo::kUShort.
Definition at line 280 of file TXMLPlayer.cxx.
References TVirtualStreamerInfo::kBool, TVirtualStreamerInfo::kChar, TVirtualStreamerInfo::kCounter, TVirtualStreamerInfo::kDouble, TVirtualStreamerInfo::kDouble32, TVirtualStreamerInfo::kFloat, TVirtualStreamerInfo::kFloat16, TString::kIgnoreCase, TVirtualStreamerInfo::kInt, TVirtualStreamerInfo::kLong, TVirtualStreamerInfo::kLong64, TVirtualStreamerInfo::kShort, TVirtualStreamerInfo::kUChar, TVirtualStreamerInfo::kUInt, TVirtualStreamerInfo::kULong, TVirtualStreamerInfo::kULong64, and TVirtualStreamerInfo::kUShort.
Referenced by ProduceStreamerSource(), and ReadSTLarg().
Definition at line 408 of file TXMLPlayer.cxx.
References TObjArray::At(), c1, ElementGetter(), ElementSetter(), TPad::FindObject(), GetBasicTypeReaderMethodName(), TStreamerBasicPointer::GetCountName(), TObjArray::GetLast(), TPad::GetName(), TStreamerSTL::GetSTLtype(), TClass::GetStreamerInfo(), GetStreamerName(), info, TVirtualStreamerInfo::kAny, TVirtualStreamerInfo::kAnyp, TVirtualStreamerInfo::kAnyP, TVirtualStreamerInfo::kBase, TVirtualStreamerInfo::kBool, TVirtualStreamerInfo::kChar, TVirtualStreamerInfo::kCharStar, TVirtualStreamerInfo::kCounter, TVirtualStreamerInfo::kDouble, TVirtualStreamerInfo::kDouble32, TVirtualStreamerInfo::kFloat, TVirtualStreamerInfo::kFloat16, TVirtualStreamerInfo::kInt, TVirtualStreamerInfo::kLong, TVirtualStreamerInfo::kLong64, TVirtualStreamerInfo::kOffsetL, TVirtualStreamerInfo::kOffsetP, TVirtualStreamerInfo::kShort, TVirtualStreamerInfo::kSTL, TVirtualStreamerInfo::kSTLp, TVirtualStreamerInfo::kUChar, TVirtualStreamerInfo::kUInt, TVirtualStreamerInfo::kULong, TVirtualStreamerInfo::kULong64, TVirtualStreamerInfo::kUShort, n, names_xmlfileclass, ProduceSTLstreamer(), TIter::Reset(), tab1, tab2, tab3, and tab4.
Referenced by ProduceCode().
void TXMLPlayer::ReadSTLarg | ( | ostream & | fs, | |
TString & | argname, | |||
int | argtyp, | |||
Bool_t | isargptr, | |||
TClass * | argcl, | |||
TString & | tname, | |||
TString & | ifcond | |||
) | [protected] |
Definition at line 825 of file TXMLPlayer.cxx.
References buf, TString::Data(), GetBasicTypeReaderMethodName(), GetStreamerName(), TVirtualStreamerInfo::kBool, TVirtualStreamerInfo::kChar, TVirtualStreamerInfo::kCounter, TVirtualStreamerInfo::kDouble, TVirtualStreamerInfo::kDouble32, TVirtualStreamerInfo::kFloat, TVirtualStreamerInfo::kFloat16, TVirtualStreamerInfo::kInt, TVirtualStreamerInfo::kLong, TVirtualStreamerInfo::kLong64, TVirtualStreamerInfo::kObject, TVirtualStreamerInfo::kShort, TVirtualStreamerInfo::kSTLstring, TVirtualStreamerInfo::kUChar, TVirtualStreamerInfo::kUInt, TVirtualStreamerInfo::kULong, TVirtualStreamerInfo::kULong64, TVirtualStreamerInfo::kUShort, and TString::Length().
Referenced by ProduceSTLstreamer().
void TXMLPlayer::WriteSTLarg | ( | ostream & | fs, | |
const char * | accname, | |||
int | argtyp, | |||
Bool_t | isargptr, | |||
TClass * | argcl | |||
) | [protected] |
Definition at line 891 of file TXMLPlayer.cxx.
References GetStreamerName(), TVirtualStreamerInfo::kBool, TVirtualStreamerInfo::kChar, TVirtualStreamerInfo::kCounter, TVirtualStreamerInfo::kDouble, TVirtualStreamerInfo::kDouble32, TVirtualStreamerInfo::kFloat, TVirtualStreamerInfo::kFloat16, TVirtualStreamerInfo::kInt, TVirtualStreamerInfo::kLong, TVirtualStreamerInfo::kLong64, TVirtualStreamerInfo::kObject, TVirtualStreamerInfo::kShort, TVirtualStreamerInfo::kSTLstring, TVirtualStreamerInfo::kUChar, TVirtualStreamerInfo::kUInt, TVirtualStreamerInfo::kULong, TVirtualStreamerInfo::kULong64, and TVirtualStreamerInfo::kUShort.
Referenced by ProduceSTLstreamer().
Bool_t TXMLPlayer::ProduceSTLstreamer | ( | ostream & | fs, | |
TClass * | cl, | |||
TStreamerSTL * | el, | |||
Bool_t | isWriting | |||
) | [protected] |
Definition at line 942 of file TXMLPlayer.cxx.
References buf, ElementGetter(), ElementSetter(), TCollection::FindObject(), fXmlSetup, TStreamerElement::GetArrayLength(), TClass::GetClass(), TStreamerElement::GetClassPointer(), TROOT::GetListOfTypes(), TNamed::GetName(), TClassEdit::GetSplit(), TStreamerSTL::GetSTLtype(), TDataType::GetType(), gROOT, TStreamerSTL::IsaPointer(), TClassEdit::IsSTLCont(), TClassEdit::kDeque, TClassEdit::kDropStlDefault, TClassEdit::kList, TClassEdit::kMap, TClassEdit::kMultiMap, TClassEdit::kMultiSet, TVirtualStreamerInfo::kObject, TClassEdit::kSet, TStreamerElement::kSTLstring, TVirtualStreamerInfo::kSTLstring, TClassEdit::kVector, TString::Length(), n, ReadSTLarg(), TClassEdit::ShortType(), TClassEdit::STLKind(), strlcat(), strlcpy(), tab1, tab2, tab3, tab4, WriteSTLarg(), and TXMLSetup::XmlGetElementName().
Referenced by ProduceStreamerSource().
const char* TXMLPlayer::ElementGetter | ( | TClass * | cl, | |
const char * | membername, | |||
int | specials = 0 | |||
) | [protected] |
const char* TXMLPlayer::ElementSetter | ( | TClass * | cl, | |
const char * | membername, | |||
char * | endch | |||
) | [protected] |
TString TXMLPlayer::GetMemberTypeName | ( | TDataMember * | member | ) | [protected] |
TString TXMLPlayer::GetBasicTypeName | ( | TStreamerElement * | el | ) | [protected] |
void TXMLPlayer::ReadSTLarg | ( | ostream & | fs, | |
TString & | argname, | |||
int | argtyp, | |||
Bool_t | isargptr, | |||
TClass * | argcl, | |||
TString & | tname, | |||
TString & | ifcond | |||
) | [protected] |
void TXMLPlayer::WriteSTLarg | ( | ostream & | fs, | |
const char * | accname, | |||
int | argtyp, | |||
Bool_t | isargptr, | |||
TClass * | argcl | |||
) | [protected] |
Bool_t TXMLPlayer::ProduceSTLstreamer | ( | ostream & | fs, | |
TClass * | cl, | |||
TStreamerSTL * | el, | |||
Bool_t | isWriting | |||
) | [protected] |
TString TXMLPlayer::fGetterName [protected] |
TString TXMLPlayer::fSetterName [protected] |
buffer for name of getter method
Definition at line 56 of file TXMLPlayer.h.
Referenced by ElementSetter().
TXMLSetup TXMLPlayer::fXmlSetup [protected] |
buffer for name of setter method
Definition at line 57 of file TXMLPlayer.h.
Referenced by ProduceSTLstreamer().