# UserInfo Class Reference

UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo<T> or ValuedUserInfo<T> instead. The raison d'etre of this class is to allow pointers to its templated descendants. More...

`#include <userinfo.h>`

Inheritance diagram for UserInfo:

[legend]
Collaboration diagram for UserInfo:

[legend]

List of all members.

## Static Public Member Functions
template<class T>
static T * | Assembly (DOMElement &element, const string tagName)
template<class T>
static bool | Disassembly (T &instance, DOMElement &element, const string tagName, const string help)
template<class T>
static bool | Disassembly (T &instance, DOMElement &element, const string tagName)
## Protected Member Functions
| UserInfo (const string &userFriendlyTypeName, const string &typeNameByRTTI)
| default constructor
string | XMLCh2str (const XMLCh *const XMLCh_str)
| function which transcodes Xerces' XMLCh-based strings into C++ strings
string | removeSpaces (const string &str)
virtual void | AssemblyComponentsFromXML (DOMElement &element)=0
| This method parse DOMElement, finds proper DOMNode and fills binded data accordingly.
virtual void | ReleaseMemory ()
| A method for releasing memory allocated within the 'AssemblyComponentsFromXML()' method.
virtual bool | DisassemblyComponentsToXML (DOMElement &element)=0
## Classes
class | StringToUIMap

## Detailed Description

UserInfo is an abstract is for internal purposes only. Use CompoundUserInfo<T> or ValuedUserInfo<T> instead. The raison d'etre of this class is to allow pointers to its templated descendants.

Also, the main functions of the whole UserInfo library are included within this class, see static methods 'Assembly' and 'Disassembly'.

## Member Function Documentation

template<class T>

static T* UserInfo::Assembly | ( | DOMElement & | element,
|  | const string | tagName |
| ) |  |  | `[inline, static]`

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.

References Attribute::Get(), and Attribute::type.

template<class T>

static bool UserInfo::Disassembly | ( | T & | instance,
|  | DOMElement & | element,
|  | const string | tagName,
|  | const string | help |
| ) |  |  | `[inline, static]`

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).

References Attribute::help, Attribute::Set(), and Attribute::type.

Referenced by Disassembly(), and CompoundUserInfo< T >::BindedElement< U >::DisassemblyComponentsToXML().

template<class T>

static bool UserInfo::Disassembly | ( | T & | instance,
|  | DOMElement & | element,
|  | const string | tagName |
| ) |  |  | `[inline, static]`

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.

References Disassembly().

virtual bool BindingFrame::DisassemblyComponentsToXML | ( | DOMElement & | element | ) | `[pure virtual, inherited]`

This method reads binded data, fill them into a new DOMNode, which then appends to the passed DOMElement

Implemented in CompoundUserInfo< T >::BindedElement< U >.

The documentation for this class was generated from the following file:

- work/git/mixpp/bdm/userinfo.h