\hypertarget{classcUPnPClassContainer}{
\section{cUPnPClassContainer Class Reference}
\label{classcUPnPClassContainer}\index{cUPnPClassContainer@{cUPnPClassContainer}}
}
{\tt \#include $<$object.h$>$}

Inheritance diagram for cUPnPClassContainer:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=400pt]{classcUPnPClassContainer__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for cUPnPClassContainer:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=400pt]{classcUPnPClassContainer__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
virtual cStringList $\ast$ \hyperlink{classcUPnPClassContainer_d952c993314a9352d13f644bb95fbdc2}{getPropertyList} ()
\item 
virtual IXML\_\-Node $\ast$ \hyperlink{classcUPnPClassContainer_fec5b0bae4ed2d194bfc9973f14a3926}{createDIDLFragment} (IXML\_\-Document $\ast$Document, cStringList $\ast$Filter)
\item 
virtual bool \hyperlink{classcUPnPClassContainer_488761ebb4f074ded0d5374f862a1b54}{setProperty} (const char $\ast$Property, const char $\ast$Value)
\item 
virtual bool \hyperlink{classcUPnPClassContainer_f70297d2275e083f05024524d21118d7}{getProperty} (const char $\ast$Property, char $\ast$$\ast$Value) const 
\item 
virtual \hyperlink{classcUPnPClassContainer}{cUPnPClassContainer} $\ast$ \hyperlink{classcUPnPClassContainer_32eb7f1d0b3821f0d9573fe59befdf10}{getContainer} ()
\item 
void \hyperlink{classcUPnPClassContainer_589392682fb7c8e698d09b2eeca83887}{addObject} (\hyperlink{classcUPnPClassObject}{cUPnPClassObject} $\ast$Object)
\item 
void \hyperlink{classcUPnPClassContainer_2e3110bd01c17df34cd60302d9330e72}{removeObject} (\hyperlink{classcUPnPClassObject}{cUPnPClassObject} $\ast$Object)
\item 
\hyperlink{classcUPnPClassObject}{cUPnPClassObject} $\ast$ \hyperlink{classcUPnPClassContainer_b2d43f5d5b6ad40d444b7e353979451d}{getObject} (\hyperlink{structcUPnPObjectID}{cUPnPObjectID} ID) const 
\item 
\hyperlink{classcUPnPObjects}{cUPnPObjects} $\ast$ \hyperlink{classcUPnPClassContainer_ba09b831bbb533d1dbcb6cff4f4b9c23}{getObjectList} () const 
\item 
int \hyperlink{classcUPnPClassContainer_d177af2487ff337fe79ef11fe1e07dd1}{addSearchClass} (\hyperlink{structcClass}{cClass} SearchClass)
\item 
int \hyperlink{classcUPnPClassContainer_3cfb0c2035e678cde990631b804d4ab2}{delSearchClass} (\hyperlink{structcClass}{cClass} SearchClass)
\item 
int \hyperlink{classcUPnPClassContainer_55613e5fa7019137aa818036e91a0811}{addCreateClass} (\hyperlink{structcClass}{cClass} CreateClass)
\item 
int \hyperlink{classcUPnPClassContainer_23c2949d1cb925423a6b113cf0021a5f}{delCreateClass} (\hyperlink{structcClass}{cClass} CreateClass)
\item 
int \hyperlink{classcUPnPClassContainer_495f4218ec9566ede534a96daf387462}{setContainerType} (const char $\ast$Type)
\item 
int \hyperlink{classcUPnPClassContainer_aa34f20a75725837af2168a192687a51}{setSearchClasses} (std::vector$<$ \hyperlink{structcClass}{cClass} $>$ SearchClasses)
\item 
int \hyperlink{classcUPnPClassContainer_633b1e47657d9039d0919ce9b139f9b2}{setCreateClasses} (std::vector$<$ \hyperlink{structcClass}{cClass} $>$ CreateClasses)
\item 
int \hyperlink{classcUPnPClassContainer_d32e937984f39806a15a22d13a644703}{setSearchable} (bool Searchable)
\item 
const char $\ast$ \hyperlink{classcUPnPClassContainer_b4977eba812c34a4201935f31be0f5c9}{getContainerType} () const 
\item 
const std::vector$<$ \hyperlink{structcClass}{cClass} $>$ $\ast$ \hyperlink{classcUPnPClassContainer_735327b72c023d3048db0d4fd2a608cc}{getSearchClasses} () const 
\item 
const std::vector$<$ \hyperlink{structcClass}{cClass} $>$ $\ast$ \hyperlink{classcUPnPClassContainer_d9a875daad1093311723262f5f6c1f7c}{getCreateClasses} () const 
\item 
bool \hyperlink{classcUPnPClassContainer_c6d1de26df91d64379a9a2db1f5a7301}{isSearchable} () const 
\item 
unsigned int \hyperlink{classcUPnPClassContainer_b23a80cebe626e0b2b6c3b1a83b039c6}{getChildCount} () const 
\item 
unsigned int \hyperlink{classcUPnPClassContainer_475ad1a2003cc9b169685f825a9d790d}{getUpdateID} () const 
\item 
bool \hyperlink{classcUPnPClassContainer_a8ae4e790074d3a34bc7ec173a02595a}{isUpdated} ()
\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
void \hyperlink{classcUPnPClassContainer_6f89b0043d19349efbc52caf7b7dbb3a}{update} ()
\item 
int \hyperlink{classcUPnPClassContainer_9d3b9dd6388dd2021889a56a4fccfed3}{setUpdateID} (unsigned int UID)
\item 
\hyperlink{classcUPnPClassContainer_e485882089f12f383ddbea26e186d851}{cUPnPClassContainer} ()
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hypertarget{classcUPnPClassContainer_0e4678ea867811f9c5e70e018992c8c8}{
cString \hyperlink{classcUPnPClassContainer_0e4678ea867811f9c5e70e018992c8c8}{mContainerType}}
\label{classcUPnPClassContainer_0e4678ea867811f9c5e70e018992c8c8}

\begin{CompactList}\small\item\em DLNA container type. \item\end{CompactList}\item 
\hypertarget{classcUPnPClassContainer_5b66ce95c06498c6166b856d015139b5}{
tClassVector \hyperlink{classcUPnPClassContainer_5b66ce95c06498c6166b856d015139b5}{mSearchClasses}}
\label{classcUPnPClassContainer_5b66ce95c06498c6166b856d015139b5}

\begin{CompactList}\small\item\em Classes which are searchable. \item\end{CompactList}\item 
\hypertarget{classcUPnPClassContainer_aa82cb4dae2c818609e60468e2ea6de4}{
tClassVector \hyperlink{classcUPnPClassContainer_aa82cb4dae2c818609e60468e2ea6de4}{mCreateClasses}}
\label{classcUPnPClassContainer_aa82cb4dae2c818609e60468e2ea6de4}

\begin{CompactList}\small\item\em Classes which are creatable. \item\end{CompactList}\item 
\hypertarget{classcUPnPClassContainer_640da8763c5ce432b46125faa3be01da}{
bool \hyperlink{classcUPnPClassContainer_640da8763c5ce432b46125faa3be01da}{mSearchable}}
\label{classcUPnPClassContainer_640da8763c5ce432b46125faa3be01da}

\begin{CompactList}\small\item\em Is the Container searchable? \item\end{CompactList}\item 
\hypertarget{classcUPnPClassContainer_8cdeed9b80cae365174680dd4196664f}{
unsigned int \hyperlink{classcUPnPClassContainer_8cdeed9b80cae365174680dd4196664f}{mUpdateID}}
\label{classcUPnPClassContainer_8cdeed9b80cae365174680dd4196664f}

\begin{CompactList}\small\item\em The containerUpdateID. \item\end{CompactList}\item 
\hypertarget{classcUPnPClassContainer_ec00054069266b3da9212e09b107a7d7}{
\hyperlink{classcUPnPObjects}{cUPnPObjects} $\ast$ \hyperlink{classcUPnPClassContainer_ec00054069266b3da9212e09b107a7d7}{mChildren}}
\label{classcUPnPClassContainer_ec00054069266b3da9212e09b107a7d7}

\begin{CompactList}\small\item\em List of children. \item\end{CompactList}\item 
\hypertarget{classcUPnPClassContainer_df514e47f80f94f957ec451e566107a5}{
cHash$<$ \hyperlink{classcUPnPClassObject}{cUPnPClassObject} $>$ $\ast$ \hyperlink{classcUPnPClassContainer_df514e47f80f94f957ec451e566107a5}{mChildrenID}}
\label{classcUPnPClassContainer_df514e47f80f94f957ec451e566107a5}

\begin{CompactList}\small\item\em List of children as hash map. \item\end{CompactList}\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
\hypertarget{classcUPnPClassContainer_3d0d0aedce8b1c661ea360b9a6d616f6}{
class \hyperlink{classcUPnPClassContainer_3d0d0aedce8b1c661ea360b9a6d616f6}{cMediaDatabase}}
\label{classcUPnPClassContainer_3d0d0aedce8b1c661ea360b9a6d616f6}

\item 
\hypertarget{classcUPnPClassContainer_aefab39434a832c545ac75a79fa81d23}{
class \hyperlink{classcUPnPClassContainer_aefab39434a832c545ac75a79fa81d23}{cUPnPObjectMediator}}
\label{classcUPnPClassContainer_aefab39434a832c545ac75a79fa81d23}

\item 
\hypertarget{classcUPnPClassContainer_16cc2f01a45dc16bd9ad186b3be2cfc8}{
class \hyperlink{classcUPnPClassContainer_16cc2f01a45dc16bd9ad186b3be2cfc8}{cUPnPContainerMediator}}
\label{classcUPnPClassContainer_16cc2f01a45dc16bd9ad186b3be2cfc8}

\end{CompactItemize}


\subsection{Detailed Description}
The UPnP class Container

This is a UPnP class Container representation with all its properties. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classcUPnPClassContainer_e485882089f12f383ddbea26e186d851}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!cUPnPClassContainer@{cUPnPClassContainer}}
\index{cUPnPClassContainer@{cUPnPClassContainer}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{cUPnPClassContainer}]{\setlength{\rightskip}{0pt plus 5cm}cUPnPClassContainer::cUPnPClassContainer ()\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{classcUPnPClassContainer_e485882089f12f383ddbea26e186d851}


Constructor of a container

This creates a new instance of a container 

\subsection{Member Function Documentation}
\hypertarget{classcUPnPClassContainer_55613e5fa7019137aa818036e91a0811}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!addCreateClass@{addCreateClass}}
\index{addCreateClass@{addCreateClass}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{addCreateClass}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::addCreateClass ({\bf cClass} {\em CreateClass})}}
\label{classcUPnPClassContainer_55613e5fa7019137aa818036e91a0811}


Add a create class

This adds a create class to the create classes vector

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if adding was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em CreateClass}]the new class to be added \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_589392682fb7c8e698d09b2eeca83887}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!addObject@{addObject}}
\index{addObject@{addObject}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{addObject}]{\setlength{\rightskip}{0pt plus 5cm}void cUPnPClassContainer::addObject ({\bf cUPnPClassObject} $\ast$ {\em Object})}}
\label{classcUPnPClassContainer_589392682fb7c8e698d09b2eeca83887}


Add a child

This adds the specified child to this container. The parent container of the child will be set to this container.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em Object}]the child to be added \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_d177af2487ff337fe79ef11fe1e07dd1}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!addSearchClass@{addSearchClass}}
\index{addSearchClass@{addSearchClass}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{addSearchClass}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::addSearchClass ({\bf cClass} {\em SearchClass})}}
\label{classcUPnPClassContainer_d177af2487ff337fe79ef11fe1e07dd1}


Add a search class

This adds a search class to the search classes vector

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if adding was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em SearchClass}]the new class to be added \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_fec5b0bae4ed2d194bfc9973f14a3926}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!createDIDLFragment@{createDIDLFragment}}
\index{createDIDLFragment@{createDIDLFragment}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{createDIDLFragment}]{\setlength{\rightskip}{0pt plus 5cm}IXML\_\-Node $\ast$ cUPnPClassContainer::createDIDLFragment (IXML\_\-Document $\ast$ {\em Document}, \/  cStringList $\ast$ {\em Filter})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classcUPnPClassContainer_fec5b0bae4ed2d194bfc9973f14a3926}


Create the DIDL fragment

This creates the DIDL-Lite fragment of the object. The DIDL is written to the specified {\em IXML\/} document. The details of the output can be controlled via the filter stringlist

\begin{Desc}
\item[Returns:]the DIDL fragment of the object \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em Document}]the IXML document where to write the contents \item[{\em Filter}]the string list with the filter criteria \end{description}
\end{Desc}


Implements \hyperlink{classcUPnPClassObject_9090f5982129bc5aa15c6e19db627445}{cUPnPClassObject}.\hypertarget{classcUPnPClassContainer_23c2949d1cb925423a6b113cf0021a5f}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!delCreateClass@{delCreateClass}}
\index{delCreateClass@{delCreateClass}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{delCreateClass}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::delCreateClass ({\bf cClass} {\em CreateClass})}}
\label{classcUPnPClassContainer_23c2949d1cb925423a6b113cf0021a5f}


Remove a create class

This removes a create class from the create classes vector

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if deleting was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em CreateClass}]the class to be deleted \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_3cfb0c2035e678cde990631b804d4ab2}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!delSearchClass@{delSearchClass}}
\index{delSearchClass@{delSearchClass}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{delSearchClass}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::delSearchClass ({\bf cClass} {\em SearchClass})}}
\label{classcUPnPClassContainer_3cfb0c2035e678cde990631b804d4ab2}


Remove a search class

This removes a search class from the search classes vector

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if deleting was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em SearchClass}]the class to be deleted \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_b23a80cebe626e0b2b6c3b1a83b039c6}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getChildCount@{getChildCount}}
\index{getChildCount@{getChildCount}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getChildCount}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int cUPnPClassContainer::getChildCount () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classcUPnPClassContainer_b23a80cebe626e0b2b6c3b1a83b039c6}


Get the number of children

This returns the total number of children of this container

\begin{Desc}
\item[Returns:]the number of childen \end{Desc}
\hypertarget{classcUPnPClassContainer_32eb7f1d0b3821f0d9573fe59befdf10}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getContainer@{getContainer}}
\index{getContainer@{getContainer}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getContainer}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf cUPnPClassContainer}$\ast$ cUPnPClassContainer::getContainer ()\hspace{0.3cm}{\tt  \mbox{[}inline, virtual\mbox{]}}}}
\label{classcUPnPClassContainer_32eb7f1d0b3821f0d9573fe59befdf10}


Converts to container

This will convert the object into a container if it is one. If not, it returns {\bf {\tt NULL}.} 

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt NULL},} if it is not a container\item a container representation of this object \end{itemize}
\end{Desc}


Reimplemented from \hyperlink{classcUPnPClassObject_ce6f39a8484ae48ea9801b11046cd2a6}{cUPnPClassObject}.\hypertarget{classcUPnPClassContainer_b4977eba812c34a4201935f31be0f5c9}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getContainerType@{getContainerType}}
\index{getContainerType@{getContainerType}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getContainerType}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ cUPnPClassContainer::getContainerType () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classcUPnPClassContainer_b4977eba812c34a4201935f31be0f5c9}


Get the DLNA container type

This returns the DLNA container type. Currently there are only these possible values beside {\bf {\tt NULL:} } {\bf {\tt TUNER\_\-1\_\-0}  } \begin{Desc}
\item[Returns:]the DLNA container type \end{Desc}
\hypertarget{classcUPnPClassContainer_d9a875daad1093311723262f5f6c1f7c}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getCreateClasses@{getCreateClasses}}
\index{getCreateClasses@{getCreateClasses}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getCreateClasses}]{\setlength{\rightskip}{0pt plus 5cm}const std::vector$<${\bf cClass}$>$$\ast$ cUPnPClassContainer::getCreateClasses () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classcUPnPClassContainer_d9a875daad1093311723262f5f6c1f7c}


Get the create classes

This returns a vector containing all possible create classes. This are classes, which can be created in this container. For instance a TV container can only create items of the class VideoBroadcast. The vector is empty when creation of new items by the user is not allowed.

\begin{Desc}
\item[Returns:]a vector with create classes \end{Desc}
\hypertarget{classcUPnPClassContainer_b2d43f5d5b6ad40d444b7e353979451d}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getObject@{getObject}}
\index{getObject@{getObject}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getObject}]{\setlength{\rightskip}{0pt plus 5cm}{\bf cUPnPClassObject} $\ast$ cUPnPClassContainer::getObject ({\bf cUPnPObjectID} {\em ID}) const}}
\label{classcUPnPClassContainer_b2d43f5d5b6ad40d444b7e353979451d}


Get a child by ID

Returns the child, which is specified by the {\tt ObjectID}.

\begin{Desc}
\item[Returns:]the child with the specified ID \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ID}]the {\tt ObjectID} of the child \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_ba09b831bbb533d1dbcb6cff4f4b9c23}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getObjectList@{getObjectList}}
\index{getObjectList@{getObjectList}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getObjectList}]{\setlength{\rightskip}{0pt plus 5cm}{\bf cUPnPObjects}$\ast$ cUPnPClassContainer::getObjectList () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classcUPnPClassContainer_ba09b831bbb533d1dbcb6cff4f4b9c23}


Get the list of children

This returns a list of the children of the container.

\begin{Desc}
\item[Returns:]the list of children \end{Desc}
\hypertarget{classcUPnPClassContainer_f70297d2275e083f05024524d21118d7}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getProperty@{getProperty}}
\index{getProperty@{getProperty}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getProperty}]{\setlength{\rightskip}{0pt plus 5cm}bool cUPnPClassContainer::getProperty (const char $\ast$ {\em Property}, \/  char $\ast$$\ast$ {\em Value}) const\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classcUPnPClassContainer_f70297d2275e083f05024524d21118d7}


Gets a property

Returns the value of a specified property. The value is converted into a string.

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt true},} if the property exists\item {\bf {\tt false},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em Property}]the property which should be returned \item[{\em Value}]the value of that property \end{description}
\end{Desc}


Reimplemented from \hyperlink{classcUPnPClassObject_539cf36abc96b95bc8437601fed8a0f6}{cUPnPClassObject}.\hypertarget{classcUPnPClassContainer_d952c993314a9352d13f644bb95fbdc2}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getPropertyList@{getPropertyList}}
\index{getPropertyList@{getPropertyList}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getPropertyList}]{\setlength{\rightskip}{0pt plus 5cm}cStringList $\ast$ cUPnPClassContainer::getPropertyList ()\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classcUPnPClassContainer_d952c993314a9352d13f644bb95fbdc2}


Get the properties of the object

This returns a property list with all the properties which can be obtained or set with {\tt getProperty} or {\tt setProperty}.

\begin{Desc}
\item[Returns:]a stringlist with the properties \end{Desc}


Reimplemented from \hyperlink{classcUPnPClassObject_4a4d2cd2e59d364050bb64a3d9dced6e}{cUPnPClassObject}.\hypertarget{classcUPnPClassContainer_735327b72c023d3048db0d4fd2a608cc}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getSearchClasses@{getSearchClasses}}
\index{getSearchClasses@{getSearchClasses}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getSearchClasses}]{\setlength{\rightskip}{0pt plus 5cm}const std::vector$<${\bf cClass}$>$$\ast$ cUPnPClassContainer::getSearchClasses () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classcUPnPClassContainer_735327b72c023d3048db0d4fd2a608cc}


Get the search classes

This returns a vector container all possible search classes. This are classes, which can be used for searching in this container.

\begin{Desc}
\item[Returns:]a vector with all search classes \end{Desc}
\hypertarget{classcUPnPClassContainer_475ad1a2003cc9b169685f825a9d790d}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!getUpdateID@{getUpdateID}}
\index{getUpdateID@{getUpdateID}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{getUpdateID}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int cUPnPClassContainer::getUpdateID () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classcUPnPClassContainer_475ad1a2003cc9b169685f825a9d790d}


Get the containerUpdateID

This returns the containerUpdateID

\begin{Desc}
\item[Returns:]the containerUpdateID of this container \end{Desc}
\hypertarget{classcUPnPClassContainer_c6d1de26df91d64379a9a2db1f5a7301}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!isSearchable@{isSearchable}}
\index{isSearchable@{isSearchable}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{isSearchable}]{\setlength{\rightskip}{0pt plus 5cm}bool cUPnPClassContainer::isSearchable () const\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classcUPnPClassContainer_c6d1de26df91d64379a9a2db1f5a7301}


Is this container searchable

This returns {\bf {\tt true},} if the container can be search via {\em Search\/} or {\bf {\tt false},} otherwise.

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt true},} if the container is searchable\item {\bf {\tt false},} otherwise \end{itemize}
\end{Desc}
\hypertarget{classcUPnPClassContainer_a8ae4e790074d3a34bc7ec173a02595a}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!isUpdated@{isUpdated}}
\index{isUpdated@{isUpdated}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{isUpdated}]{\setlength{\rightskip}{0pt plus 5cm}bool cUPnPClassContainer::isUpdated ()}}
\label{classcUPnPClassContainer_a8ae4e790074d3a34bc7ec173a02595a}


Has the container been updated?

This returns {\bf {\tt true},} if the container was recently updated or {\bf {\tt false},} otherwise

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt true},} if the container was updated\item {\bf {\tt false},} otherwise \end{itemize}
\end{Desc}
\hypertarget{classcUPnPClassContainer_2e3110bd01c17df34cd60302d9330e72}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!removeObject@{removeObject}}
\index{removeObject@{removeObject}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{removeObject}]{\setlength{\rightskip}{0pt plus 5cm}void cUPnPClassContainer::removeObject ({\bf cUPnPClassObject} $\ast$ {\em Object})}}
\label{classcUPnPClassContainer_2e3110bd01c17df34cd60302d9330e72}


Remove a child

This removes the specified child from the list of children. The child will also loose its parent container, so that there is no link between left.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em Object}]the child to be removed \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_495f4218ec9566ede534a96daf387462}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!setContainerType@{setContainerType}}
\index{setContainerType@{setContainerType}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{setContainerType}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::setContainerType (const char $\ast$ {\em Type})}}
\label{classcUPnPClassContainer_495f4218ec9566ede534a96daf387462}


Set the DLNA container type

This sets the DLNA container type. It must be a valid container type value.

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if setting was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em Type}]the DLNA container type \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_633b1e47657d9039d0919ce9b139f9b2}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!setCreateClasses@{setCreateClasses}}
\index{setCreateClasses@{setCreateClasses}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{setCreateClasses}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::setCreateClasses (std::vector$<$ {\bf cClass} $>$ {\em CreateClasses})}}
\label{classcUPnPClassContainer_633b1e47657d9039d0919ce9b139f9b2}


Sets the create classes

This sets the create classes, which allows the user to create new objects in this container, if {\em restricted\/} is {\bf {\tt false}.} 

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if setting was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em CreateClasses}]a vector containing the create classes \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_488761ebb4f074ded0d5374f862a1b54}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!setProperty@{setProperty}}
\index{setProperty@{setProperty}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{setProperty}]{\setlength{\rightskip}{0pt plus 5cm}bool cUPnPClassContainer::setProperty (const char $\ast$ {\em Property}, \/  const char $\ast$ {\em Value})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classcUPnPClassContainer_488761ebb4f074ded0d5374f862a1b54}


Sets a property

Sets the value of a specified property. The value is converted from string into the propper data type

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt true},} if the property exists\item {\bf {\tt false},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em Property}]the property which should be set \item[{\em Value}]the value of that property \end{description}
\end{Desc}


Reimplemented from \hyperlink{classcUPnPClassObject_6f2a803a0d0e148133edce23ed6c0e7c}{cUPnPClassObject}.\hypertarget{classcUPnPClassContainer_d32e937984f39806a15a22d13a644703}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!setSearchable@{setSearchable}}
\index{setSearchable@{setSearchable}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{setSearchable}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::setSearchable (bool {\em Searchable})}}
\label{classcUPnPClassContainer_d32e937984f39806a15a22d13a644703}


Sets the searchable flag

This sets the searchable flag, which allows or disallows search on this container.

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if setting was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em Searchable}]{\bf {\tt true},} to enable or {\bf {\tt false},} to disable searching \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_aa34f20a75725837af2168a192687a51}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!setSearchClasses@{setSearchClasses}}
\index{setSearchClasses@{setSearchClasses}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{setSearchClasses}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::setSearchClasses (std::vector$<$ {\bf cClass} $>$ {\em SearchClasses})}}
\label{classcUPnPClassContainer_aa34f20a75725837af2168a192687a51}


Sets the search classes

This sets the search classes, which allows the user to search only for these classes in the current container and its children. If the vector is empty the search can return any match. If the additional flag {\bf {\tt derived} is} set, then also any derived classes are matched.

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if setting was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em SearchClasses}]a vector container the allowed search classes \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_9d3b9dd6388dd2021889a56a4fccfed3}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!setUpdateID@{setUpdateID}}
\index{setUpdateID@{setUpdateID}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{setUpdateID}]{\setlength{\rightskip}{0pt plus 5cm}int cUPnPClassContainer::setUpdateID (unsigned int {\em UID})\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{classcUPnPClassContainer_9d3b9dd6388dd2021889a56a4fccfed3}


Sets the containerUpdateID

This method should only be used when the containerUpdateID is loaded from the database.

\begin{Desc}
\item[Returns:]returns\begin{itemize}
\item {\bf {\tt 0},} if setting was successful\item {\bf {\tt $<$0},} otherwise \end{itemize}
\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em UID}]the containerUpdateID \end{description}
\end{Desc}
\hypertarget{classcUPnPClassContainer_6f89b0043d19349efbc52caf7b7dbb3a}{
\index{cUPnPClassContainer@{cUPnPClassContainer}!update@{update}}
\index{update@{update}!cUPnPClassContainer@{cUPnPClassContainer}}
\subsubsection[{update}]{\setlength{\rightskip}{0pt plus 5cm}void cUPnPClassContainer::update ()\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{classcUPnPClassContainer_6f89b0043d19349efbc52caf7b7dbb3a}


Update the container

This performs an update, which acutally increases the containerUpdateID. 

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
database/object.h\item 
database/object.cpp\end{CompactItemize}
