\section{TXml\-Object Class Reference}
\label{class_t_xml_object}\index{TXmlObject@{TXmlObject}}
Base class for all object, which can be serialized/deserialized.  


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

Inheritance diagram for TXml\-Object::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=8.75cm]{class_t_xml_object}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
const char $\ast$ {\bf get\-Type} () const 
\begin{CompactList}\small\item\em Return type of class. \item\end{CompactList}\item 
bool {\bf has\-Parent} (const char $\ast$class\-Name) const 
\begin{CompactList}\small\item\em Check if class is inherited from class named class\-Name. \item\end{CompactList}\item 
Ti\-Xml\-Element \& {\bf serialize} () const 
\begin{CompactList}\small\item\em Serialization. Create XML element from object instance. \item\end{CompactList}\end{CompactItemize}
\subsection*{Static Public Member Functions}
\begin{CompactItemize}
\item 
static {\bf TXml\-Object} $\ast$ {\bf get\-Xml\-Object} (const Ti\-Xml\-Element \&element)
\begin{CompactList}\small\item\em Deserialization. Create new TXml\-Object from XML element. \item\end{CompactList}\item 
static const char $\ast$ {\bf get\-Class\-Uid} (const string \&name)
\begin{CompactList}\small\item\em Translate class name to pointer, required to pointer comparation. \item\end{CompactList}\item 
static void {\bf register\-Class} (const char $\ast$class\-Name, t\_\-xml\_\-factory method)
\begin{CompactList}\small\item\em Enregister factory for creating instances of specific class. \item\end{CompactList}\item 
static void {\bf register\-All} ()\label{class_t_xml_object_8080e41f70d4b6e9f5b29ef8238e0199}

\begin{CompactList}\small\item\em Enregister all classes, which can perform serialization/deserialization. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Base class for all object, which can be serialized/deserialized. 

\begin{Desc}
\item[Date:]01-13-2006\end{Desc}
\begin{Desc}
\item[Author:]Ondrej Svejdar\end{Desc}
\begin{Desc}
\item[{\bf Todo}]\end{Desc}
\begin{Desc}
\item[{\bf Bug}]\end{Desc}




\subsection{Member Function Documentation}
\index{TXmlObject@{TXml\-Object}!getClassUid@{getClassUid}}
\index{getClassUid@{getClassUid}!TXmlObject@{TXml\-Object}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ TXml\-Object::get\-Class\-Uid (const string \& {\em name})\hspace{0.3cm}{\tt  [static]}}\label{class_t_xml_object_490ef6dd04ed5b2cc2fe85a5b8d33ced}


Translate class name to pointer, required to pointer comparation. 

\begin{Desc}
\item[Note:]This works only on classes enregistred by register\-Class method \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em name}]class name \end{description}
\end{Desc}
\index{TXmlObject@{TXml\-Object}!getType@{getType}}
\index{getType@{getType}!TXmlObject@{TXml\-Object}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ TXml\-Object::get\-Type () const\hspace{0.3cm}{\tt  [virtual]}}\label{class_t_xml_object_1413702cbda682553d02b08afccebfc3}


Return type of class. 

\begin{Desc}
\item[Returns:]type of class \end{Desc}


Reimplemented from {\bf TObject} {\rm (p.\,\pageref{class_t_object_1413702cbda682553d02b08afccebfc3})}.

Reimplemented in {\bf Tk\-Photo} {\rm (p.\,\pageref{class_tk_photo_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Button} {\rm (p.\,\pageref{class_tk_button_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Check\-Button} {\rm (p.\,\pageref{class_tk_check_button_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Entry} {\rm (p.\,\pageref{class_tk_entry_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Frame} {\rm (p.\,\pageref{class_tk_frame_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Grid\-Constraints} {\rm (p.\,\pageref{class_tk_grid_constraints_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Grid\-Layout} {\rm (p.\,\pageref{class_tk_grid_layout_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Label} {\rm (p.\,\pageref{class_tk_label_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Layout} {\rm (p.\,\pageref{class_tk_layout_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Listbox} {\rm (p.\,\pageref{class_tk_listbox_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Menu} {\rm (p.\,\pageref{class_tk_menu_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Place\-Constraints} {\rm (p.\,\pageref{class_tk_place_constraints_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Place\-Layout} {\rm (p.\,\pageref{class_tk_place_layout_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Radio\-Button} {\rm (p.\,\pageref{class_tk_radio_button_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Scroll\-Bar} {\rm (p.\,\pageref{class_tk_scroll_bar_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Spin\-Box} {\rm (p.\,\pageref{class_tk_spin_box_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Text} {\rm (p.\,\pageref{class_tk_text_1413702cbda682553d02b08afccebfc3})}, {\bf Tk\-Top\-Level} {\rm (p.\,\pageref{class_tk_top_level_1413702cbda682553d02b08afccebfc3})}, {\bf Tcl\-Bool\-Var} {\rm (p.\,\pageref{class_tcl_bool_var_1413702cbda682553d02b08afccebfc3})}, {\bf Tcl\-Double\-Var} {\rm (p.\,\pageref{class_tcl_double_var_1413702cbda682553d02b08afccebfc3})}, {\bf Tcl\-Int\-Var} {\rm (p.\,\pageref{class_tcl_int_var_1413702cbda682553d02b08afccebfc3})}, {\bf Tcl\-List\-Var} {\rm (p.\,\pageref{class_tcl_list_var_1413702cbda682553d02b08afccebfc3})}, {\bf Tcl\-String\-Var} {\rm (p.\,\pageref{class_tcl_string_var_1413702cbda682553d02b08afccebfc3})}, and {\bf Tcl\-Var} {\rm (p.\,\pageref{class_tcl_var_1413702cbda682553d02b08afccebfc3})}.\index{TXmlObject@{TXml\-Object}!getXmlObject@{getXmlObject}}
\index{getXmlObject@{getXmlObject}!TXmlObject@{TXml\-Object}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf TXml\-Object} $\ast$ TXml\-Object::get\-Xml\-Object (const Ti\-Xml\-Element \& {\em element})\hspace{0.3cm}{\tt  [static]}}\label{class_t_xml_object_25656ae9973eb5de5b30dd7b0594cb81}


Deserialization. Create new TXml\-Object from XML element. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em element}]XML element \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]new instance of TXml\-Object \end{Desc}
\index{TXmlObject@{TXml\-Object}!hasParent@{hasParent}}
\index{hasParent@{hasParent}!TXmlObject@{TXml\-Object}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TXml\-Object::has\-Parent (const char $\ast$ {\em class\-Name}) const\hspace{0.3cm}{\tt  [virtual]}}\label{class_t_xml_object_7fbb45a4d4ba4b5c543927cbf45de180}


Check if class is inherited from class named class\-Name. 

We're using pointer comparation, so typicall usage should be like this : 

\footnotesize\begin{verbatim} bool isInheritedFromMyClass=hasParent(MyClass::type)
\end{verbatim}
\normalsize
 \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em class\-Name}]pointer to type of class \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true, if this instance is inherited from class named class\-Name \end{Desc}


Reimplemented from {\bf TObject} {\rm (p.\,\pageref{class_t_object_7fbb45a4d4ba4b5c543927cbf45de180})}.\index{TXmlObject@{TXml\-Object}!registerClass@{registerClass}}
\index{registerClass@{registerClass}!TXmlObject@{TXml\-Object}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TXml\-Object::register\-Class (const char $\ast$ {\em class\-Name}, t\_\-xml\_\-factory {\em method})\hspace{0.3cm}{\tt  [static]}}\label{class_t_xml_object_46279ed839edabd3e3d2d8c99b5838e3}


Enregister factory for creating instances of specific class. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em class\-Name}]name of class \item[{\em method}]pointer to factory method \end{description}
\end{Desc}
\index{TXmlObject@{TXml\-Object}!serialize@{serialize}}
\index{serialize@{serialize}!TXmlObject@{TXml\-Object}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ti\-Xml\-Element\& TXml\-Object::serialize () const\hspace{0.3cm}{\tt  [inline]}}\label{class_t_xml_object_d047febff36ec0639042557b7edf7a57}


Serialization. Create XML element from object instance. 

\begin{Desc}
\item[Returns:]XML element \end{Desc}


The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
H:/projs/dot\-NET/eda/src/txmlobject.h\item 
H:/projs/dot\-NET/eda/src/txmlobject.cpp\end{CompactItemize}
