\hypertarget{classUserInfo}{
\section{UserInfo Class Reference}
\label{classUserInfo}\index{UserInfo@{UserInfo}}
}
\hyperlink{classUserInfo}{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.  


{\tt \#include $<$userinfo.h$>$}

Inheritance diagram for UserInfo:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=400pt]{classUserInfo__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for UserInfo:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=137pt]{classUserInfo__coll__graph}
\end{center}
\end{figure}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item 
{\footnotesize template$<$class T$>$ }\\static T $\ast$ \hyperlink{classUserInfo_0f090c6525a3e8fb11634a553f467ede}{Assembly} (DOMElement \&element, const string tagName)
\item 
{\footnotesize template$<$class T$>$ }\\static bool \hyperlink{classUserInfo_1d402661b82feccb5265a70f65c242e1}{Disassembly} (T \&instance, DOMElement \&element, const string tagName, const string help)
\item 
{\footnotesize template$<$class T$>$ }\\static bool \hyperlink{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}{Disassembly} (T \&instance, DOMElement \&element, const string tagName)
\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{classUserInfo_0bccb19c6b819cf9f763e985c573ae8f}{
\hyperlink{classUserInfo_0bccb19c6b819cf9f763e985c573ae8f}{UserInfo} (const string \&userFriendlyTypeName, const string \&typeNameByRTTI)}
\label{classUserInfo_0bccb19c6b819cf9f763e985c573ae8f}

\begin{CompactList}\small\item\em default constructor \item\end{CompactList}\item 
\hypertarget{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}{
string \hyperlink{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}{XMLCh2str} (const XMLCh $\ast$const XMLCh\_\-str)}
\label{classBindingFrame_2244bd5181c3d1e70f3a6be2b72e9424}

\begin{CompactList}\small\item\em function which transcodes Xerces' XMLCh-based strings into C++ strings \item\end{CompactList}\item 
\hypertarget{classBindingFrame_820e4df85c0dc545e3079e407fcdbbaa}{
string \textbf{removeSpaces} (const string \&str)}
\label{classBindingFrame_820e4df85c0dc545e3079e407fcdbbaa}

\item 
\hypertarget{classBindingFrame_c6d068c261d4fc3a0a4d1305ade1483d}{
virtual void \hyperlink{classBindingFrame_c6d068c261d4fc3a0a4d1305ade1483d}{AssemblyComponentsFromXML} (DOMElement \&element)=0}
\label{classBindingFrame_c6d068c261d4fc3a0a4d1305ade1483d}

\begin{CompactList}\small\item\em This method parse DOMElement, finds proper DOMNode and fills binded data accordingly. \item\end{CompactList}\item 
\hypertarget{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}{
virtual void \hyperlink{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}{ReleaseMemory} ()}
\label{classBindingFrame_8d4dc5902ee71a473983d6a8fa3c8b7a}

\begin{CompactList}\small\item\em A method for releasing memory allocated within the 'AssemblyComponentsFromXML()' method. \item\end{CompactList}\item 
virtual bool \hyperlink{classBindingFrame_0c207ed6e5a4c975ed5bc9a758a063ca}{DisassemblyComponentsToXML} (DOMElement \&element)=0
\end{CompactItemize}
\subsection*{Classes}
\begin{CompactItemize}
\item 
class \textbf{StringToUIMap}
\end{CompactItemize}


\subsection{Detailed Description}
\hyperlink{classUserInfo}{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 \hyperlink{classUserInfo}{UserInfo} library are included within this class, see static methods 'Assembly' and 'Disassembly'. 

\subsection{Member Function Documentation}
\hypertarget{classUserInfo_0f090c6525a3e8fb11634a553f467ede}{
\index{UserInfo@{UserInfo}!Assembly@{Assembly}}
\index{Assembly@{Assembly}!UserInfo@{UserInfo}}
\subsubsection[Assembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static T$\ast$ UserInfo::Assembly (DOMElement \& {\em element}, \/  const string {\em tagName})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{classUserInfo_0f090c6525a3e8fb11634a553f467ede}


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.\hypertarget{classUserInfo_1d402661b82feccb5265a70f65c242e1}{
\index{UserInfo@{UserInfo}!Disassembly@{Disassembly}}
\index{Disassembly@{Disassembly}!UserInfo@{UserInfo}}
\subsubsection[Disassembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static bool UserInfo::Disassembly (T \& {\em instance}, \/  DOMElement \& {\em element}, \/  const string {\em tagName}, \/  const string {\em help})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{classUserInfo_1d402661b82feccb5265a70f65c242e1}


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().\hypertarget{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}{
\index{UserInfo@{UserInfo}!Disassembly@{Disassembly}}
\index{Disassembly@{Disassembly}!UserInfo@{UserInfo}}
\subsubsection[Disassembly]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T$>$ static bool UserInfo::Disassembly (T \& {\em instance}, \/  DOMElement \& {\em element}, \/  const string {\em tagName})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{classUserInfo_917b2257abc31b94c89ef3cd270e4a42}


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().\hypertarget{classBindingFrame_0c207ed6e5a4c975ed5bc9a758a063ca}{
\index{UserInfo@{UserInfo}!DisassemblyComponentsToXML@{DisassemblyComponentsToXML}}
\index{DisassemblyComponentsToXML@{DisassemblyComponentsToXML}!UserInfo@{UserInfo}}
\subsubsection[DisassemblyComponentsToXML]{\setlength{\rightskip}{0pt plus 5cm}virtual bool BindingFrame::DisassemblyComponentsToXML (DOMElement \& {\em element})\hspace{0.3cm}{\tt  \mbox{[}pure virtual, inherited\mbox{]}}}}
\label{classBindingFrame_0c207ed6e5a4c975ed5bc9a758a063ca}


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

Implemented in \hyperlink{classCompoundUserInfo_1_1BindedElement_6ef55cedb98f5d2dbcf92730f2fed939}{CompoundUserInfo$<$ T $>$::BindedElement$<$ U $>$}.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
work/git/mixpp/bdm/userinfo.h\end{CompactItemize}
