\section{rox\_\-filer\_\-action.c File Reference}
\label{rox__filer__action_8c}\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}}
Drive the filer via the SOAP calls. 

{\tt \#include \char`\"{}rox-clib.h\char`\"{}}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$glib.h$>$}\par
{\tt \#include $<$gtk/gtk.h$>$}\par
{\tt \#include $<$libxml/parser.h$>$}\par
{\tt \#include \char`\"{}rox.h\char`\"{}}\par
{\tt \#include \char`\"{}rox\_\-soap.h\char`\"{}}\par
{\tt \#include \char`\"{}error.h\char`\"{}}\par
{\tt \#include \char`\"{}rox\_\-debug.h\char`\"{}}\par
{\tt \#include \char`\"{}rox\_\-filer\_\-action.h\char`\"{}}\par
\subsection*{Functions}
\begin{CompactItemize}
\item 
void {\bf rox\_\-filer\_\-action\_\-init} (void)
\item 
void {\bf rox\_\-filer\_\-open\_\-dir} (const char $\ast$filename)
\item 
void {\bf rox\_\-filer\_\-close\_\-dir} (const char $\ast$filename)
\item 
void {\bf rox\_\-filer\_\-examine} (const char $\ast$filename)
\item 
void {\bf rox\_\-filer\_\-panel} (const char $\ast$name, {\bf ROXPanel\-Side} side)
\item 
void {\bf rox\_\-filer\_\-panel\_\-add} ({\bf ROXPanel\-Side} side, const char $\ast$path, int after)
\item 
void {\bf rox\_\-filer\_\-pinboard} (const char $\ast$name)
\item 
void {\bf rox\_\-filer\_\-pinboard\_\-add} (const char $\ast$path, int x, int y)
\item 
void {\bf rox\_\-filer\_\-run} (const char $\ast$filename)
\item 
void {\bf rox\_\-filer\_\-show} (const char $\ast$directory, const char $\ast$leafname)
\item 
void {\bf rox\_\-filer\_\-copy} (const char $\ast$from, const char $\ast$to, const char $\ast$leafname, int quiet)
\item 
void {\bf rox\_\-filer\_\-move} (const char $\ast$from, const char $\ast$to, const char $\ast$leafname, int quiet)
\item 
void {\bf rox\_\-filer\_\-link} (const char $\ast$from, const char $\ast$to, const char $\ast$leafname)
\item 
void {\bf rox\_\-filer\_\-mount} (const char $\ast$mountpoint, int quiet, int opendir)
\item 
char $\ast$ {\bf rox\_\-filer\_\-file\_\-type} (const char $\ast$file)
\item 
char $\ast$ {\bf rox\_\-filer\_\-version} (void)
\item 
int {\bf rox\_\-filer\_\-have\_\-error} (void)
\item 
const char $\ast$ {\bf rox\_\-filer\_\-get\_\-last\_\-error} (void)
\item 
void {\bf rox\_\-filer\_\-clear\_\-error} (void)
\end{CompactItemize}


\subsection{Detailed Description}
Drive the filer via the SOAP calls. 

Uses the filer's remote protocol to drive the filer. See Appendix C in ROX-Filer/Help/Manual.html

\begin{Desc}
\item[Author:]Stephen Watson \end{Desc}
\begin{Desc}
\item[Version:]\begin{Desc}
\item[Id]\doxyref{rox\_\-filer\_\-action.c}{p.}{rox__filer__action_8c},v 1.14 2006/08/12 17:04:56 stephen Exp \end{Desc}
\end{Desc}


\subsection{Function Documentation}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_action_init@{rox\_\-filer\_\-action\_\-init}}
\index{rox_filer_action_init@{rox\_\-filer\_\-action\_\-init}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-action\_\-init (void)}\label{rox__filer__action_8c_973caee97926c74619a02ba25669aaae}


Initialize the filer action system. Calling this function is optional, the other file action functions will call this automatically if they detect that initialization has not been performed. \index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_clear_error@{rox\_\-filer\_\-clear\_\-error}}
\index{rox_filer_clear_error@{rox\_\-filer\_\-clear\_\-error}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-clear\_\-error (void)}\label{rox__filer__action_8c_6c60e3c72b91f308f29ae7a604c42bac}


Clear any recorded error. \begin{Desc}
\item[{\bf Deprecated}]use \doxyref{rox\_\-error\_\-queue\_\-flush()}{p.}{error_8c_ab97b7230e9447838764592eaa23d6c3} instead. \end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_close_dir@{rox\_\-filer\_\-close\_\-dir}}
\index{rox_filer_close_dir@{rox\_\-filer\_\-close\_\-dir}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-close\_\-dir (const char $\ast$ {\em filename})}\label{rox__filer__action_8c_86d828da489621d75b83f80c96fc5e55}


Call the Close\-Dir method

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em filename}]name of directory to close. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_copy@{rox\_\-filer\_\-copy}}
\index{rox_filer_copy@{rox\_\-filer\_\-copy}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-copy (const char $\ast$ {\em from}, const char $\ast$ {\em to}, const char $\ast$ {\em leafname}, int {\em quiet})}\label{rox__filer__action_8c_aef4f63d8c05c68981889952feca62fa}


Copy a file. If {\em leafname\/} is {\tt NULL} then copy object {\em from\/} to destination {\em to\/}, otherwise copy {\em leafname\/} in directory {\em from\/} to directory {\em to\/}.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em from}]object to copy or directory file is in \item[\mbox{$\leftarrow$} {\em to}]path to copy object to, or destination directory. \item[\mbox{$\leftarrow$} {\em leafname}]if not {\tt NULL} the file in {\em from\/} to be copied to directory {\em to\/}. \item[\mbox{$\leftarrow$} {\em quiet}]if {\tt TRUE} then the operation is quiet (no confirmation required), if {\tt FALSE} then confirmation is needed. If \doxyref{ROX\_\-FILER\_\-DEFAULT}{p.}{rox__filer__action_8h_bcac8d0162c1f63978eef814cea02245} then the setting is taken from the filer's current options. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_examine@{rox\_\-filer\_\-examine}}
\index{rox_filer_examine@{rox\_\-filer\_\-examine}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-examine (const char $\ast$ {\em filename})}\label{rox__filer__action_8c_d0241a553914541a5adcff68b310917d}


Call the Examine method

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em filename}]name of file to examine. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_file_type@{rox\_\-filer\_\-file\_\-type}}
\index{rox_filer_file_type@{rox\_\-filer\_\-file\_\-type}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ rox\_\-filer\_\-file\_\-type (const char $\ast$ {\em file})}\label{rox__filer__action_8c_45f8d37b95c2b04f2e05d710fb48c0ff}


Determine the MIME type of a file by asking ROX-Filer.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em file}]name of file to identify \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]MIME type of file, in form \char`\"{}media/sub-type\char`\"{} (pass to g\_\-free() when done), or {\tt NULL} if failed \end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_get_last_error@{rox\_\-filer\_\-get\_\-last\_\-error}}
\index{rox_filer_get_last_error@{rox\_\-filer\_\-get\_\-last\_\-error}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ rox\_\-filer\_\-get\_\-last\_\-error (void)}\label{rox__filer__action_8c_1c2822c2f012a74e02ad3da14add99a9}


\begin{Desc}
\item[{\bf Deprecated}]use \doxyref{rox\_\-error\_\-queue\_\-fetch()}{p.}{error_8c_7b3398cb928056d538e83862cc93b8d0} instead. \begin{Desc}
\item[Returns:]text string containing last known error, do not free \end{Desc}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_have_error@{rox\_\-filer\_\-have\_\-error}}
\index{rox_filer_have_error@{rox\_\-filer\_\-have\_\-error}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int rox\_\-filer\_\-have\_\-error (void)}\label{rox__filer__action_8c_b3029c8f179d4782a95b1304f7363327}


Check for error in talking to ROX-Filer. Errors are not normally reported back to the caller, but are recorded. Only the most recent error is returned.

\begin{Desc}
\item[{\bf Deprecated}]use \doxyref{rox\_\-error\_\-queue\_\-empty()}{p.}{error_8c_ef4de4dcd4d1d0db7a0c3e3211d22e78} instead.\end{Desc}
\begin{Desc}
\item[Returns:]non-zero if an error is recorded. \end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_link@{rox\_\-filer\_\-link}}
\index{rox_filer_link@{rox\_\-filer\_\-link}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-link (const char $\ast$ {\em from}, const char $\ast$ {\em to}, const char $\ast$ {\em leafname})}\label{rox__filer__action_8c_55394735854068072fa2815ca603b4db}


Create a symbolic link. If {\em leafname\/} is {\tt NULL} then link object {\em from\/} to destination {\em to\/}, otherwise link {\em leafname\/} in directory {\em from\/} to directory {\em to\/}.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em from}]object to link or directory file is in \item[\mbox{$\leftarrow$} {\em to}]path to create link, or destination directory. \item[\mbox{$\leftarrow$} {\em leafname}]if not {\tt NULL} the file in {\em from\/} to be linked to directory {\em to\/}. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_mount@{rox\_\-filer\_\-mount}}
\index{rox_filer_mount@{rox\_\-filer\_\-mount}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-mount (const char $\ast$ {\em mountpoint}, int {\em quiet}, int {\em opendir})}\label{rox__filer__action_8c_2592acc9bd450804f5df47d51b34ec8e}


Mount a known mountpoint (defined in /etc/fstab or /etc/vfstab).

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em mountpoint}]path to mount point defined in system file \item[\mbox{$\leftarrow$} {\em quiet}]if {\tt TRUE} then the operation is quiet (no confirmation required), if {\tt FALSE} then confirmation is needed. If \doxyref{ROX\_\-FILER\_\-DEFAULT}{p.}{rox__filer__action_8h_bcac8d0162c1f63978eef814cea02245} then the setting is taken from the filer's current options. \item[\mbox{$\leftarrow$} {\em opendir}]if {\tt TRUE} then a new filer window is opened for the mounted directory. If \doxyref{ROX\_\-FILER\_\-DEFAULT}{p.}{rox__filer__action_8h_bcac8d0162c1f63978eef814cea02245} then the setting is taken from the filer's current options. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_move@{rox\_\-filer\_\-move}}
\index{rox_filer_move@{rox\_\-filer\_\-move}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-move (const char $\ast$ {\em from}, const char $\ast$ {\em to}, const char $\ast$ {\em leafname}, int {\em quiet})}\label{rox__filer__action_8c_51ae9c2611401f1f1bcd2b162b49647f}


Move a file. If {\em leafname\/} is {\tt NULL} then move object {\em from\/} to destination {\em to\/}, otherwise move {\em leafname\/} in directory {\em from\/} to directory {\em to\/}.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em from}]object to move or directory file is in \item[\mbox{$\leftarrow$} {\em to}]path to move object to, or destination directory. \item[\mbox{$\leftarrow$} {\em leafname}]if not {\tt NULL} the file in {\em from\/} to be moved to directory {\em to\/}. \item[\mbox{$\leftarrow$} {\em quiet}]if {\tt TRUE} then the operation is quiet (no confirmation required), if {\tt FALSE} then confirmation is needed. If \doxyref{ROX\_\-FILER\_\-DEFAULT}{p.}{rox__filer__action_8h_bcac8d0162c1f63978eef814cea02245} then the setting is taken from the filer's current options. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_open_dir@{rox\_\-filer\_\-open\_\-dir}}
\index{rox_filer_open_dir@{rox\_\-filer\_\-open\_\-dir}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-open\_\-dir (const char $\ast$ {\em filename})}\label{rox__filer__action_8c_d237ebe0a7213f2c6f6eaed32cfb73db}


Call the Open\-Dir method

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em filename}]name of directory to open. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_panel@{rox\_\-filer\_\-panel}}
\index{rox_filer_panel@{rox\_\-filer\_\-panel}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-panel (const char $\ast$ {\em name}, {\bf ROXPanel\-Side} {\em side})}\label{rox__filer__action_8c_96dbf1fef5ae8ba1114c65db4ee1d669}


Call the Panel method to set the panel on a side.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em name}]name of the panel \item[\mbox{$\leftarrow$} {\em side}]side of the screen to place the panel \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_panel_add@{rox\_\-filer\_\-panel\_\-add}}
\index{rox_filer_panel_add@{rox\_\-filer\_\-panel\_\-add}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-panel\_\-add ({\bf ROXPanel\-Side} {\em side}, const char $\ast$ {\em path}, int {\em after})}\label{rox__filer__action_8c_b70dbacb5b61ac8c47dab8bed5ef428e}


Add an object to a panel.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em side}]the panel to add to \item[\mbox{$\leftarrow$} {\em path}]path name of object to be added. \item[\mbox{$\leftarrow$} {\em after}]if {\tt FALSE} the object is added to the end of the group of icons at the start, otherwise is is added to the start of the icons at the end. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_pinboard@{rox\_\-filer\_\-pinboard}}
\index{rox_filer_pinboard@{rox\_\-filer\_\-pinboard}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-pinboard (const char $\ast$ {\em name})}\label{rox__filer__action_8c_2909a14e57a3a008ccfb98c0d8fefada}


Set the name of the pinboard.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em name}]name of the panel. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_pinboard_add@{rox\_\-filer\_\-pinboard\_\-add}}
\index{rox_filer_pinboard_add@{rox\_\-filer\_\-pinboard\_\-add}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-pinboard\_\-add (const char $\ast$ {\em path}, int {\em x}, int {\em y})}\label{rox__filer__action_8c_4970d6f3360df3009abee32c7380177b}


Add an object to the pinboard.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em path}]path name of object to be added. \item[\mbox{$\leftarrow$} {\em x}]x coordinate of position on pinboard \item[\mbox{$\leftarrow$} {\em y}]y coordinate of position on pinboard \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_run@{rox\_\-filer\_\-run}}
\index{rox_filer_run@{rox\_\-filer\_\-run}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-run (const char $\ast$ {\em filename})}\label{rox__filer__action_8c_b4af1cfd9dc6576f4c005fa3c851d692}


Call the Run method to run a file.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em filename}]name of object to run. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_show@{rox\_\-filer\_\-show}}
\index{rox_filer_show@{rox\_\-filer\_\-show}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-filer\_\-show (const char $\ast$ {\em directory}, const char $\ast$ {\em leafname})}\label{rox__filer__action_8c_93ba77dd482773a55c8fa5ce37a15b87}


Show a directory viewer with the named file highlighted.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em directory}]name of directory to show \item[\mbox{$\leftarrow$} {\em leafname}]name of file in directory to highlight. \end{description}
\end{Desc}
\index{rox_filer_action.c@{rox\_\-filer\_\-action.c}!rox_filer_version@{rox\_\-filer\_\-version}}
\index{rox_filer_version@{rox\_\-filer\_\-version}!rox_filer_action.c@{rox\_\-filer\_\-action.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ rox\_\-filer\_\-version (void)}\label{rox__filer__action_8c_a6b06f00860214d68a1b209e9034a09a}


Get ROX-Filer's version string.

\begin{Desc}
\item[Returns:]version string (pass to g\_\-free() when done), or {\tt NULL} if failed \end{Desc}
