\hypertarget{classKatabatic_1_1Observable}{\section{Observable Class Reference} \label{classKatabatic_1_1Observable}\index{Observable@{Observable}} } \hyperlink{classKatabatic_1_1Observer}{Observer} Design Pattern, Subject part. \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \hyperlink{classKatabatic_1_1Observable_a6438e92e07db169a97ed3eba36788dc4}{Observable} () \item {\footnotesize template$<$typename T $>$ }\\T $\ast$ \hyperlink{classKatabatic_1_1Observable_acc0b7276e09628f2b101ecf751aacd2a}{get\-Observer} () \item void \hyperlink{classKatabatic_1_1Observable_a783fda85eeabe9c660881f236f162767}{add\-Observer} (\hyperlink{classKatabatic_1_1BaseObserver}{Base\-Observer} $\ast$) \item void \hyperlink{classKatabatic_1_1Observable_acaa5a7fc7fa631e3006a42006d753f43}{remove\-Observer} (\hyperlink{classKatabatic_1_1BaseObserver}{Base\-Observer} $\ast$) \item void \hyperlink{classKatabatic_1_1Observable_a52e577fb0c4f2e3650928334fb621c2f}{notify} (unsigned int flags) \end{DoxyCompactItemize} \subsection{Detailed Description} \hyperlink{classKatabatic_1_1Observer}{Observer} Design Pattern, Subject part. \hyperlink{classKatabatic_1_1Observable}{Observable} is the implementation of the {\itshape subject} part of the \hyperlink{classKatabatic_1_1Observer}{Observer} design pattern. For the time beeing it's a simplificated version that allows only one \hyperlink{classKatabatic_1_1Observer}{Observer} to watch the subject. \hyperlink{classKatabatic_1_1Observable}{Observable} is designed to be an attribute of the subject, not one of it's base class. This implantation is completly generic and has nothing specific to \hyperlink{namespaceKatabatic}{Katabatic}. It may be moved sometimes in {\bf Hurricane} at Property level in {\bf Hurricane\-::\-D\-Bo}. {\bfseries Note to Myself\-:} \hyperlink{classKatabatic_1_1Observer}{Observer} pattern is the one behind signal/slots. \subsection{Constructor \& Destructor Documentation} \hypertarget{classKatabatic_1_1Observable_a6438e92e07db169a97ed3eba36788dc4}{\index{Katabatic\-::\-Observable@{Katabatic\-::\-Observable}!Observable@{Observable}} \index{Observable@{Observable}!Katabatic::Observable@{Katabatic\-::\-Observable}} \subsubsection[{Observable}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Observable} ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1Observable_a6438e92e07db169a97ed3eba36788dc4} Default and only constructor. The copy constructor is disabled (made private and unimplemented). \subsection{Member Function Documentation} \hypertarget{classKatabatic_1_1Observable_acc0b7276e09628f2b101ecf751aacd2a}{\index{Katabatic\-::\-Observable@{Katabatic\-::\-Observable}!get\-Observer@{get\-Observer}} \index{get\-Observer@{get\-Observer}!Katabatic::Observable@{Katabatic\-::\-Observable}} \subsubsection[{get\-Observer}]{\setlength{\rightskip}{0pt plus 5cm}T $\ast$ get\-Observer ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1Observable_acc0b7276e09628f2b101ecf751aacd2a} {\bfseries Returns\-:} The (only) observer, {\ttfamily N\-U\-L\-L} if there is none. It is the object of which the \hyperlink{classKatabatic_1_1Observer}{Observer} is an attribute, that is, it's {\itshape owner}, and not the \hyperlink{classKatabatic_1_1Observer}{Observer} itself which is returned. \hypertarget{classKatabatic_1_1Observable_a783fda85eeabe9c660881f236f162767}{\index{Katabatic\-::\-Observable@{Katabatic\-::\-Observable}!add\-Observer@{add\-Observer}} \index{add\-Observer@{add\-Observer}!Katabatic::Observable@{Katabatic\-::\-Observable}} \subsubsection[{add\-Observer}]{\setlength{\rightskip}{0pt plus 5cm}void add\-Observer ( \begin{DoxyParamCaption} \item[{{\bf Base\-Observer} $\ast$}]{observer} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1Observable_a783fda85eeabe9c660881f236f162767} Adds an observer. If more than one is added, throw an error. \hypertarget{classKatabatic_1_1Observable_acaa5a7fc7fa631e3006a42006d753f43}{\index{Katabatic\-::\-Observable@{Katabatic\-::\-Observable}!remove\-Observer@{remove\-Observer}} \index{remove\-Observer@{remove\-Observer}!Katabatic::Observable@{Katabatic\-::\-Observable}} \subsubsection[{remove\-Observer}]{\setlength{\rightskip}{0pt plus 5cm}void remove\-Observer ( \begin{DoxyParamCaption} \item[{{\bf Base\-Observer} $\ast$}]{observer} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1Observable_acaa5a7fc7fa631e3006a42006d753f43} Removes an observer. If the observer do not belong to this observable, throw an exception. \hypertarget{classKatabatic_1_1Observable_a52e577fb0c4f2e3650928334fb621c2f}{\index{Katabatic\-::\-Observable@{Katabatic\-::\-Observable}!notify@{notify}} \index{notify@{notify}!Katabatic::Observable@{Katabatic\-::\-Observable}} \subsubsection[{notify}]{\setlength{\rightskip}{0pt plus 5cm}void notify ( \begin{DoxyParamCaption} \item[{unsigned int}]{flags} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1Observable_a52e577fb0c4f2e3650928334fb621c2f} Used by the subject to signal a change in it'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}