CompoundUserInfo TypedUserInfo< T > userinfo.h CompoundUserInfo::BindedElement typename T T vector< BindingFrame * > vector<BindingFrame*> CompoundUserInfo< T >::bindedElements bindedElements Elements binding inner XML tags to related userinfos. void void CompoundUserInfo< T >::AssemblyComponentsFromXML (DOMElement &element) AssemblyComponentsFromXML AssemblyComponentsFromXML DOMElement & element This method parse DOMElement, finds proper DOMNode and fills binded data accordingly. void void CompoundUserInfo< T >::ReleaseMemory () ReleaseMemory ReleaseMemory A method for releasing memory allocated within the 'AssemblyComponentsFromXML()' method. bool bool CompoundUserInfo< T >::DisassemblyComponentsToXML (DOMElement &element) DisassemblyComponentsToXML DisassemblyComponentsToXML DOMElement & element This method reads binded data, fill them into a new DOMNode, which then appends to the passed DOMElement CompoundUserInfo< T >::CompoundUserInfo (string userFriendlyTypeName) CompoundUserInfo string userFriendlyTypeName string string BindingFrame::XMLCh2str (const XMLCh *const XMLCh_str) XMLCh2str const XMLCh *const XMLCh_str function which transcodes Xerces' XMLCh-based strings into C++ strings string string BindingFrame::removeSpaces (const string &str) removeSpaces const string & str const TypedUserInfo< T > & const TypedUserInfo<T>& TypedUserInfo< T >::instance instance the only instance of this class (each type T has its own instance) which is used as a factory for processing related userinfos class T T T * static T* UserInfo::Assembly (DOMElement &element, const string tagName) Assembly DOMElement & element const string tagName This methods tries to assembly a new instance of type T (or some of its descendant types) according to a data stored in a DOMNode named tagName within a child nodes of the passed element. If an error occurs, it returns a NULL pointer. Attribute::Get Attribute::type class T T bool static bool UserInfo::Disassembly (T &instance, DOMElement &element, const string tagName, const string help) Disassembly T & instance DOMElement & element const string tagName const string help This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node (with a help attribute filled). Attribute::help Attribute::Set Attribute::type UserInfo::Disassembly CompoundUserInfo< T >::BindedElement< U >::DisassemblyComponentsToXML class T T bool static bool UserInfo::Disassembly (T &instance, DOMElement &element, const string tagName) Disassembly T & instance DOMElement & element const string tagName This methods tries to disassembly an instance of type T (or some of its descendant types) and build DOM tree accordingly. Then, it creates a new DOMNode named according tagName and connecti it to the passed DOMElement as a new child node. UserInfo::Disassembly The main userinfo template class. You should derive this class whenever you need a new userinfo of a class which is compound from smaller elements (all having its own userinfo class prepared). To bind some inner element to its own userinfo class, and also to automate its assembling and disassembling, it is necessary to create a instance of an inner templated class BindedElement<T>. Those attributes have to be initialized in constructor of a new compound userinfo this way:classBikeUI:publicCompoundUserInfo<Bike> { private: BindedElement<int>year; BindedElement<bool>lights; BindedElement<string>manufacturer; public: BikeUI() :CompoundUserInfo<Bike>("bike"), year(this,"year",0), lights(this,"electriclights",false), manufacturer(this,"manufacturer","unknown") { } ... } < Bike > < Car > userFriendlyTypeName typeNameByRTTI dummy CompoundUserInfoAssembly CompoundUserInfoAssemblyComponentsFromXML CompoundUserInfobindedElements CompoundUserInfoBindingFrame CompoundUserInfoCompoundUserInfo CompoundUserInfoDisassembly CompoundUserInfoDisassembly CompoundUserInfoDisassemblyComponentsToXML CompoundUserInfoinstance CompoundUserInfoReleaseMemory CompoundUserInforemoveSpaces CompoundUserInfoTypedUserInfo CompoundUserInfoUserInfo CompoundUserInfoXMLCh2str CompoundUserInfo~TypedUserInfo