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

{\tt \#include \char`\"{}rox-clib.h\char`\"{}}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$time.h$>$}\par
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$gtk/gtk.h$>$}\par
{\tt \#include \char`\"{}appinfo.h\char`\"{}}\par
{\tt \#include \char`\"{}rox.h\char`\"{}}\par
{\tt \#include \char`\"{}rox\_\-debug.h\char`\"{}}\par
{\tt \#include \char`\"{}mime.h\char`\"{}}\par
\subsection*{Functions}
\begin{CompactItemize}
\item 
GType {\bf rox\_\-appinfo\_\-get\_\-type} (void)
\item 
GObject $\ast$ {\bf rox\_\-appinfo\_\-new} (void)
\item 
GObject $\ast$ {\bf rox\_\-appinfo\_\-new\_\-from\_\-path} (const gchar $\ast$path)
\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$list)
\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{Function Documentation}
\index{appinfo.c@{appinfo.c}!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.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-appinfo\_\-free\_\-mime\_\-type\_\-list (GList $\ast$ {\em list})}\label{appinfo_8c_4eab420d08bc68dc8cceccaabc085383}


Free MIME type list. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftrightarrow$} {\em list}]MIME type list. \end{description}
\end{Desc}
\index{appinfo.c@{appinfo.c}!rox_appinfo_get_about@{rox\_\-appinfo\_\-get\_\-about}}
\index{rox_appinfo_get_about@{rox\_\-appinfo\_\-get\_\-about}!appinfo.c@{appinfo.c}}
\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_8c_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.c@{appinfo.c}!rox_appinfo_get_about_label@{rox\_\-appinfo\_\-get\_\-about\_\-label}}
\index{rox_appinfo_get_about_label@{rox\_\-appinfo\_\-get\_\-about\_\-label}!appinfo.c@{appinfo.c}}
\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_8c_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.c@{appinfo.c}!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.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GList$\ast$ rox\_\-appinfo\_\-get\_\-can\_\-run\_\-list ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8c_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.c@{appinfo.c}!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.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GList$\ast$ rox\_\-appinfo\_\-get\_\-can\_\-thumbnail\_\-list ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8c_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.c@{appinfo.c}!rox_appinfo_get_element@{rox\_\-appinfo\_\-get\_\-element}}
\index{rox_appinfo_get_element@{rox\_\-appinfo\_\-get\_\-element}!appinfo.c@{appinfo.c}}
\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_8c_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.c@{appinfo.c}!rox_appinfo_get_language@{rox\_\-appinfo\_\-get\_\-language}}
\index{rox_appinfo_get_language@{rox\_\-appinfo\_\-get\_\-language}!appinfo.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const gchar$\ast$ rox\_\-appinfo\_\-get\_\-language ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8c_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.c@{appinfo.c}!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.c@{appinfo.c}}
\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_8c_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.c@{appinfo.c}!rox_appinfo_get_summary@{rox\_\-appinfo\_\-get\_\-summary}}
\index{rox_appinfo_get_summary@{rox\_\-appinfo\_\-get\_\-summary}!appinfo.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const gchar$\ast$ rox\_\-appinfo\_\-get\_\-summary ({\bf ROXApp\-Info} $\ast$ {\em ai})}\label{appinfo_8c_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.c@{appinfo.c}!rox_appinfo_get_type@{rox\_\-appinfo\_\-get\_\-type}}
\index{rox_appinfo_get_type@{rox\_\-appinfo\_\-get\_\-type}!appinfo.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GType rox\_\-appinfo\_\-get\_\-type (void)}\label{appinfo_8c_d4e4e27d7532df05543e8475fefe0696}


\begin{Desc}
\item[Returns:]GType code for the \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} type. \end{Desc}
\index{appinfo.c@{appinfo.c}!rox_appinfo_new@{rox\_\-appinfo\_\-new}}
\index{rox_appinfo_new@{rox\_\-appinfo\_\-new}!appinfo.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GObject$\ast$ rox\_\-appinfo\_\-new (void)}\label{appinfo_8c_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.c@{appinfo.c}!rox_appinfo_new_from_path@{rox\_\-appinfo\_\-new\_\-from\_\-path}}
\index{rox_appinfo_new_from_path@{rox\_\-appinfo\_\-new\_\-from\_\-path}!appinfo.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GObject$\ast$ rox\_\-appinfo\_\-new\_\-from\_\-path (const gchar $\ast$ {\em path})}\label{appinfo_8c_70ed618885080b04cbbdd16e5a2a9e17}


Construct a new \doxyref{ROXApp\-Info}{p.}{structROXAppInfo} object for specified App\-Info file. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em path}]path to App\-Info.xml file \end{description}
\end{Desc}
\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.c@{appinfo.c}!rox_appinfo_set_language@{rox\_\-appinfo\_\-set\_\-language}}
\index{rox_appinfo_set_language@{rox\_\-appinfo\_\-set\_\-language}!appinfo.c@{appinfo.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-appinfo\_\-set\_\-language ({\bf ROXApp\-Info} $\ast$ {\em ai}, const gchar $\ast$ {\em lang})}\label{appinfo_8c_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}
