\hypertarget{classKatabatic_1_1Observable}{}\section{Observable Class Reference} \label{classKatabatic_1_1Observable}\index{Observable@{Observable}} \mbox{\hyperlink{classKatabatic_1_1Observer}{Observer}} Design Pattern, Subject part. \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classKatabatic_1_1Observable_a6438e92e07db169a97ed3eba36788dc4}{Observable}} () \item {\footnotesize template$<$typename T $>$ }\\T $\ast$ \mbox{\hyperlink{classKatabatic_1_1Observable_acc0b7276e09628f2b101ecf751aacd2a}{get\+Observer}} () \item void \mbox{\hyperlink{classKatabatic_1_1Observable_a783fda85eeabe9c660881f236f162767}{add\+Observer}} (\mbox{\hyperlink{classKatabatic_1_1BaseObserver}{Base\+Observer}} $\ast$) \item void \mbox{\hyperlink{classKatabatic_1_1Observable_acaa5a7fc7fa631e3006a42006d753f43}{remove\+Observer}} (\mbox{\hyperlink{classKatabatic_1_1BaseObserver}{Base\+Observer}} $\ast$) \item void \mbox{\hyperlink{classKatabatic_1_1Observable_a52e577fb0c4f2e3650928334fb621c2f}{notify}} (unsigned int flags) \end{DoxyCompactItemize} \subsection{Detailed Description} \mbox{\hyperlink{classKatabatic_1_1Observer}{Observer}} Design Pattern, Subject part. \mbox{\hyperlink{classKatabatic_1_1Observable}{Observable}} is the implementation of the {\itshape subject} part of the \mbox{\hyperlink{classKatabatic_1_1Observer}{Observer}} design pattern. For the time beeing it\textquotesingle{}s a simplificated version that allows only one \mbox{\hyperlink{classKatabatic_1_1Observer}{Observer}} to watch the subject. \mbox{\hyperlink{classKatabatic_1_1Observable}{Observable}} is designed to be an attribute of the subject, not one of it\textquotesingle{}s base class. This implantation is completly generic and has nothing specific to \mbox{\hyperlink{namespaceKatabatic}{Katabatic}}. It may be moved sometimes in Hurricane at Property level in \textbf{ Hurricane\+::\+D\+Bo}. {\bfseries Note to Myself\+:} \mbox{\hyperlink{classKatabatic_1_1Observer}{Observer}} pattern is the one behind signal/slots. \subsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classKatabatic_1_1Observable_a6438e92e07db169a97ed3eba36788dc4}\label{classKatabatic_1_1Observable_a6438e92e07db169a97ed3eba36788dc4}} \index{Katabatic\+::\+Observable@{Katabatic\+::\+Observable}!Observable@{Observable}} \index{Observable@{Observable}!Katabatic\+::\+Observable@{Katabatic\+::\+Observable}} \subsubsection{\texorpdfstring{Observable()}{Observable()}} {\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1Observable}{Observable}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Default and only constructor. The copy constructor is disabled (made private and unimplemented). \subsection{Member Function Documentation} \mbox{\Hypertarget{classKatabatic_1_1Observable_acc0b7276e09628f2b101ecf751aacd2a}\label{classKatabatic_1_1Observable_acc0b7276e09628f2b101ecf751aacd2a}} \index{Katabatic\+::\+Observable@{Katabatic\+::\+Observable}!get\+Observer@{get\+Observer}} \index{get\+Observer@{get\+Observer}!Katabatic\+::\+Observable@{Katabatic\+::\+Observable}} \subsubsection{\texorpdfstring{get\+Observer()}{getObserver()}} {\footnotesize\ttfamily T $\ast$ get\+Observer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} {\bfseries Returns\+:} The (only) observer, {\ttfamily N\+U\+LL} if there is none. It is the object of which the \mbox{\hyperlink{classKatabatic_1_1Observer}{Observer}} is an attribute, that is, it\textquotesingle{}s {\itshape owner}, and not the \mbox{\hyperlink{classKatabatic_1_1Observer}{Observer}} itself which is returned. \mbox{\Hypertarget{classKatabatic_1_1Observable_a783fda85eeabe9c660881f236f162767}\label{classKatabatic_1_1Observable_a783fda85eeabe9c660881f236f162767}} \index{Katabatic\+::\+Observable@{Katabatic\+::\+Observable}!add\+Observer@{add\+Observer}} \index{add\+Observer@{add\+Observer}!Katabatic\+::\+Observable@{Katabatic\+::\+Observable}} \subsubsection{\texorpdfstring{add\+Observer()}{addObserver()}} {\footnotesize\ttfamily void add\+Observer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1BaseObserver}{Base\+Observer}} $\ast$}]{observer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Adds an observer. If more than one is added, throw an error. \mbox{\Hypertarget{classKatabatic_1_1Observable_acaa5a7fc7fa631e3006a42006d753f43}\label{classKatabatic_1_1Observable_acaa5a7fc7fa631e3006a42006d753f43}} \index{Katabatic\+::\+Observable@{Katabatic\+::\+Observable}!remove\+Observer@{remove\+Observer}} \index{remove\+Observer@{remove\+Observer}!Katabatic\+::\+Observable@{Katabatic\+::\+Observable}} \subsubsection{\texorpdfstring{remove\+Observer()}{removeObserver()}} {\footnotesize\ttfamily void remove\+Observer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKatabatic_1_1BaseObserver}{Base\+Observer}} $\ast$}]{observer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Removes an observer. If the observer do not belong to this observable, throw an exception. \mbox{\Hypertarget{classKatabatic_1_1Observable_a52e577fb0c4f2e3650928334fb621c2f}\label{classKatabatic_1_1Observable_a52e577fb0c4f2e3650928334fb621c2f}} \index{Katabatic\+::\+Observable@{Katabatic\+::\+Observable}!notify@{notify}} \index{notify@{notify}!Katabatic\+::\+Observable@{Katabatic\+::\+Observable}} \subsubsection{\texorpdfstring{notify()}{notify()}} {\footnotesize\ttfamily void notify (\begin{DoxyParamCaption}\item[{unsigned int}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} Used by the subject to signal a change in it\textquotesingle{}s state to the observers. The {\ttfamily flags} parameter can be used to indicates what kind of change is occuring. Values for {\ttfamily flags} are defined between the subject and the observers. References Base\+Observer\+::notify(). Referenced by Auto\+Segment\+::\+\_\+invalidate(), Auto\+Segment\+::\+\_\+post\+Create(), Auto\+Segment\+::\+\_\+pre\+Destroy(), and Auto\+Segment\+::revalidate(). The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item Observer.\+h\item Observer.\+dox\end{DoxyCompactItemize}