\section{appinfo.h File Reference}
\label{appinfo_8h}\index{appinfo.h@{appinfo.h}}
Parsing an applications App\-Info.xml file. 

{\tt \#include $<$glib.h$>$}\par
{\tt \#include $<$glib-object.h$>$}\par
{\tt \#include $<$libxml/parser.h$>$}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct {\bf ROXApp\-Info}
\begin{CompactList}\small\item\em Type used to store a parsed App\-Info file. \item\end{CompactList}\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define {\bf ROX\_\-APPINFO}(obj)~G\_\-TYPE\_\-CHECK\_\-INSTANCE\_\-CAST (obj, rox\_\-appinfo\_\-get\_\-type (), {\bf ROXApp\-Info})
\item 
\#define {\bf ROX\_\-APPINFO\_\-CLASS}(klass)~G\_\-TYPE\_\-CHECK\_\-CLASS\_\-CAST (klass, rox\_\-appinfo\_\-get\_\-type (), ROXAppinfo\-Class)
\item 
\#define {\bf ROX\_\-IS\_\-APPINFO}(obj)~G\_\-TYPE\_\-CHECK\_\-INSTANCE\_\-TYPE (obj, rox\_\-appinfo\_\-get\_\-type ())
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
GType {\bf rox\_\-appinfo\_\-get\_\-type} (void)
\item 
GObject $\ast$ {\bf rox\_\-appinfo\_\-new} (void)
\item 
void {\bf rox\_\-appinfo\_\-set\_\-language} ({\bf ROXApp\-Info} $\ast$ai, const gchar $\ast$lang)
\item 
const gchar $\ast$ {\bf rox\_\-appinfo\_\-get\_\-language} ({\bf ROXApp\-Info} $\ast$ai)
\item 
const gchar $\ast$ {\bf rox\_\-appinfo\_\-get\_\-summary} ({\bf ROXApp\-Info} $\ast$ai)
\item 
gchar $\ast$ {\bf rox\_\-appinfo\_\-get\_\-about} ({\bf ROXApp\-Info} $\ast$ai, const gchar $\ast$lbl)
\item 
gchar $\ast$ {\bf rox\_\-appinfo\_\-get\_\-about\_\-label} ({\bf ROXApp\-Info} $\ast$ai, const gchar $\ast$lbl)
\item 
const xml\-Node $\ast$ {\bf rox\_\-appinfo\_\-get\_\-element} ({\bf ROXApp\-Info} $\ast$ai, const gchar $\ast$element)
\item 
GList $\ast$ {\bf rox\_\-appinfo\_\-get\_\-mime\_\-type\_\-list} ({\bf ROXApp\-Info} $\ast$ai, const gchar $\ast$element)
\item 
void {\bf rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list} (GList $\ast$)
\item 
GList $\ast$ {\bf rox\_\-appinfo\_\-get\_\-can\_\-run\_\-list} ({\bf ROXApp\-Info} $\ast$ai)
\item 
GList $\ast$ {\bf rox\_\-appinfo\_\-get\_\-can\_\-thumbnail\_\-list} ({\bf ROXApp\-Info} $\ast$ai)
\end{CompactItemize}


\subsection{Detailed Description}
Parsing an applications App\-Info.xml file. 



\subsection{Define Documentation}
\index{appinfo.h@{appinfo.h}!ROX_APPINFO@{ROX\_\-APPINFO}}
\index{ROX_APPINFO@{ROX\_\-APPINFO}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define ROX\_\-APPINFO(obj)~G\_\-TYPE\_\-CHECK\_\-INSTANCE\_\-CAST (obj, rox\_\-appinfo\_\-get\_\-type (), {\bf ROXApp\-Info})}\label{appinfo_8h_1175906c1c00dcf896dfa6cd30a476db}


Cast pointer into a pointer to \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} only if it is valid, otherwise return {\tt NULL} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em obj}]pointer to object \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]pointer to \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} or {\tt NULL} for error \end{Desc}
\index{appinfo.h@{appinfo.h}!ROX_APPINFO_CLASS@{ROX\_\-APPINFO\_\-CLASS}}
\index{ROX_APPINFO_CLASS@{ROX\_\-APPINFO\_\-CLASS}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define ROX\_\-APPINFO\_\-CLASS(klass)~G\_\-TYPE\_\-CHECK\_\-CLASS\_\-CAST (klass, rox\_\-appinfo\_\-get\_\-type (), ROXAppinfo\-Class)}\label{appinfo_8h_14b26469709c322ec6b9a9234c500b56}


Cast pointer into a pointer to \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} class only if it is valid, otherwise return {\tt NULL} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em klass}]pointer to object class \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]pointer to \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} class or {\tt NULL} for error \end{Desc}
\index{appinfo.h@{appinfo.h}!ROX_IS_APPINFO@{ROX\_\-IS\_\-APPINFO}}
\index{ROX_IS_APPINFO@{ROX\_\-IS\_\-APPINFO}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define ROX\_\-IS\_\-APPINFO(obj)~G\_\-TYPE\_\-CHECK\_\-INSTANCE\_\-TYPE (obj, rox\_\-appinfo\_\-get\_\-type ())}\label{appinfo_8h_70a469d05fbce7ade9ba4693da63e5e4}


Check a pointer to \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em obj}]pointer to object \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]non-zero if a pointer to a \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} \end{Desc}


\subsection{Function Documentation}
\index{appinfo.h@{appinfo.h}!rox_appinfo_free_mime_type_list@{rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list}}
\index{rox_appinfo_free_mime_type_list@{rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list (GList $\ast$ {\em list})}\label{appinfo_8h_44d249224f9d6e9466763a895473a8aa}


Free MIME type list. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em list}]MIME type list. \end{description}
\end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_about@{rox\_\-appinfo\_\-get\_\-about}}
\index{rox_appinfo_get_about@{rox\_\-appinfo\_\-get\_\-about}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}gchar$\ast$ rox\_\-appinfo\_\-get\_\-about ({\bf ROXApp\-Info} $\ast$ {\em ai}, const gchar $\ast$ {\em lbl})}\label{appinfo_8h_4c57d1d5accfef4c188fdcc4111d21db}


Get the contents of the named element from the About node in the currently set language, or the neutral language (\doxyref{ROXApp\-Info.about\_\-no\_\-lang}{p.}{structROXAppInfo_4608d96fffca0121a0ff492cc929ff3a}) if that fails. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ai}]parsed App\-Info file \item[\mbox{$\leftarrow$} {\em lbl}]name of element in About to fetch \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]contents of the element, pass to g\_\-free() when done. \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_about_label@{rox\_\-appinfo\_\-get\_\-about\_\-label}}
\index{rox_appinfo_get_about_label@{rox\_\-appinfo\_\-get\_\-about\_\-label}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}gchar$\ast$ rox\_\-appinfo\_\-get\_\-about\_\-label ({\bf ROXApp\-Info} $\ast$ {\em ai}, const gchar $\ast$ {\em lbl})}\label{appinfo_8h_6dba104aed3fe5df5f26cce72211c851}


Get the label for the named element from the About node in the currently set language, or the neutral language (\doxyref{ROXApp\-Info.about\_\-no\_\-lang}{p.}{structROXAppInfo_4608d96fffca0121a0ff492cc929ff3a}) if that fails. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ai}]parsed App\-Info file \item[\mbox{$\leftarrow$} {\em lbl}]name of element in About to fetch \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]label for the element, pass to g\_\-free() when done. \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_can_run_list@{rox\_\-appinfo\_\-get\_\-can\_\-run\_\-list}}
\index{rox_appinfo_get_can_run_list@{rox\_\-appinfo\_\-get\_\-can\_\-run\_\-list}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GList$\ast$ rox\_\-appinfo\_\-get\_\-can\_\-run\_\-list ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8h_f61c76cac3d917ab0908f5f4efed91be}


Return list of types that the application has declared it can run. Equivalent to rox\_\-appinfo\_\-get\_\-mime\_\-type\_\-list({\em ai\/}, \char`\"{}Can\-Run\char`\"{}). \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ai}]parsed App\-Info file \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]list of \doxyref{MIMEType}{p.}{mime_8h_53ec8ce4ce6cd5c85258142880a1f8f5} items, pass to \doxyref{rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list()}{p.}{appinfo_8c_4eab420d08bc68dc8cceccaabc085383} when done \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_can_thumbnail_list@{rox\_\-appinfo\_\-get\_\-can\_\-thumbnail\_\-list}}
\index{rox_appinfo_get_can_thumbnail_list@{rox\_\-appinfo\_\-get\_\-can\_\-thumbnail\_\-list}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GList$\ast$ rox\_\-appinfo\_\-get\_\-can\_\-thumbnail\_\-list ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8h_8734824972799142aec86ec8bd0f943a}


Return list of types that the application has declared it can generate thumbnails images for.. Equivalent to rox\_\-appinfo\_\-get\_\-mime\_\-type\_\-list({\em ai\/}, \char`\"{}Can\-Thumbnail\char`\"{}). \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ai}]parsed App\-Info file \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]list of \doxyref{MIMEType}{p.}{mime_8h_53ec8ce4ce6cd5c85258142880a1f8f5} items, pass to \doxyref{rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list()}{p.}{appinfo_8c_4eab420d08bc68dc8cceccaabc085383} when done \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_element@{rox\_\-appinfo\_\-get\_\-element}}
\index{rox_appinfo_get_element@{rox\_\-appinfo\_\-get\_\-element}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const xml\-Node$\ast$ rox\_\-appinfo\_\-get\_\-element ({\bf ROXApp\-Info} $\ast$ {\em ai}, const gchar $\ast$ {\em element})}\label{appinfo_8h_2e88a13db0eda514cef7deea8b75beaa}


Get the named element from the App\-Info file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ai}]parsed App\-Info file \item[\mbox{$\leftarrow$} {\em element}]name of element to fetch \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the elment \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_language@{rox\_\-appinfo\_\-get\_\-language}}
\index{rox_appinfo_get_language@{rox\_\-appinfo\_\-get\_\-language}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const gchar$\ast$ rox\_\-appinfo\_\-get\_\-language ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8h_e1912614fd90c0a448e3197df17a9c6c}


Get the language used for scanning the App\-Info document. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em ai}]parsed App\-Info file \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the language code, e.g. en\_\-GB \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_mime_type_list@{rox\_\-appinfo\_\-get\_\-mime\_\-type\_\-list}}
\index{rox_appinfo_get_mime_type_list@{rox\_\-appinfo\_\-get\_\-mime\_\-type\_\-list}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GList$\ast$ rox\_\-appinfo\_\-get\_\-mime\_\-type\_\-list ({\bf ROXApp\-Info} $\ast$ {\em ai}, const gchar $\ast$ {\em element})}\label{appinfo_8h_7293d6498e9bf166d4d0ab53d7ca1c91}


From the named element from the App\-Info file return a list of MIME types \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ai}]parsed App\-Info file \item[\mbox{$\leftarrow$} {\em element}]name of element to fetch \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]list of \doxyref{MIMEType}{p.}{mime_8h_53ec8ce4ce6cd5c85258142880a1f8f5} items, pass to \doxyref{rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list()}{p.}{appinfo_8c_4eab420d08bc68dc8cceccaabc085383} when done \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_summary@{rox\_\-appinfo\_\-get\_\-summary}}
\index{rox_appinfo_get_summary@{rox\_\-appinfo\_\-get\_\-summary}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const gchar$\ast$ rox\_\-appinfo\_\-get\_\-summary ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8h_efc7643a8d2cc4ca4e35f17f36eb751f}


Get the contents of the Summary element in the currently set language. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ai}]parsed App\-Info file \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the summary \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_get_type@{rox\_\-appinfo\_\-get\_\-type}}
\index{rox_appinfo_get_type@{rox\_\-appinfo\_\-get\_\-type}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GType rox\_\-appinfo\_\-get\_\-type (void)}\label{appinfo_8h_d4e4e27d7532df05543e8475fefe0696}


\begin{Desc}
\item[Returns:]GType code for the \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} type. \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_new@{rox\_\-appinfo\_\-new}}
\index{rox_appinfo_new@{rox\_\-appinfo\_\-new}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GObject$\ast$ rox\_\-appinfo\_\-new (void)}\label{appinfo_8h_9b476e580363e7bf70f054e9ac013cee}


Construct a new \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} object for the current application. \begin{Desc}
\item[Returns:]pointer to new \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} object, or {\tt NULL} if the application does not have an App\-Info.xml file. \end{Desc}
\index{appinfo.h@{appinfo.h}!rox_appinfo_set_language@{rox\_\-appinfo\_\-set\_\-language}}
\index{rox_appinfo_set_language@{rox\_\-appinfo\_\-set\_\-language}!appinfo.h@{appinfo.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-appinfo\_\-set\_\-language ({\bf ROXApp\-Info} $\ast$ {\em ai}, const gchar $\ast$ {\em lang})}\label{appinfo_8h_0320363c6c048cc125a8a5dae8b41f61}


Set the language used for scanning the App\-Info document. This updates \doxyref{ROXApp\-Info.pref\_\-lang}{p.}{structROXAppInfo_f3e7efe312eaf3486286da56a745c36c}, \doxyref{ROXApp\-Info.summary}{p.}{structROXAppInfo_7a3c20aa7b35ea42b977083d584203ee}, \doxyref{ROXApp\-Info.about}{p.}{structROXAppInfo_ecb3e3b3602d3cade5349416034fcfd2} and \doxyref{ROXApp\-Info.about\_\-no\_\-lang}{p.}{structROXAppInfo_4608d96fffca0121a0ff492cc929ff3a}

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em ai}]parsed App\-Info file \item[\mbox{$\leftarrow$} {\em lang}]language code, e.g. en\_\-GB \end{description}
\end{Desc}
