<?xml version="1.0" encoding="UTF-8"?>

<!--
   $Id$
   
   Copyright (c) 2006 Benedikt Meurer <benny@xfce.org>
  
   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by the Free
   Software Foundation; either version 2 of the License, or (at your option)
   any later version.
  
   This program is distributed in the hope that it will be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
   more details.
  
   You should have received a copy of the GNU General Public License along with
   this program; if not, write to the Free Software Foundation, Inc., 59 Temple
   Place, Suite 330, Boston, MA  02111-1307  USA
-->

<node name="/org/xfce/FileManager">
  <!--
    org.xfce.FileManager

    The generic Xfce File Manager interface, implemented by all Xfce
    File Managers.
  -->
  <interface name="org.xfce.FileManager">
    <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="thunar_dbus_service" />

    <!--
      DisplayChooserDialog (uri : STRING, open : BOOLEAN, display : STRING) : VOID

      uri        : either a file:-URI or an absolute path.
      open       : TRUE to let the user open the file identified by the
                   uri after choosing an application, FALSE to only update
                   the mime database.
      display    : the screen on which to display the chooser dialog or
                   "" to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.

      Displays the chooser dialog, which lets the user select an application
      to handle the file identified by the uri (and all other files of the
      same mime type). If open is TRUE the user will also be able to open
      the file after choosing an application.
    -->
    <method name="DisplayChooserDialog">
      <arg direction="in" name="uri" type="s" />
      <arg direction="in" name="open" type="b" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      DisplayFolder (uri : STRING, display : STRING) : VOID

      uri        : either a file:-URI or an absolute path.
      display    : the screen on which to display the folder or ""
                   to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.
    -->
    <method name="DisplayFolder">
      <arg direction="in" name="uri" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      DisplayFolderAndSelect (uri : STRING, filename : STRING, display : STRING) : VOID

      uri        : either a file:-URI or an absolute path.
      filename   : the name of the file in the folder which should
                   be selected by the file manager after loading the
                   folder. The file manager will also scroll the view
                   to ensure that the file is visible. The filename
                   must be a name relative to the folder URI.
      display    : the screen on which to display the folder or ""
                   to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.

      Note to implementors: Not all file managers may be able to
      implement this method properly for whatever reasons. If you
      cannot implement it properly, handle this method like an
      invocation of DisplayFolder() and ignore the filename.
    -->
    <method name="DisplayFolderAndSelect">
      <arg direction="in" name="uri" type="s" />
      <arg direction="in" name="filename" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      DisplayFileProperties (uri : STRING, display : STRING) : VOID

      uri        : either a file:-URI or an absolute path.
      display    : the screen on which to display the file properties
                   or "" to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.
    -->
    <method name="DisplayFileProperties">
      <arg direction="in" name="uri" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      Launch (uri : STRING, display : STRING, startup_id : STRING) : VOID

      uri        : either a file:-URI or an absolute path.
      display    : the screen on which to launch the file or ""
                   to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.
    -->
    <method name="Launch">
      <arg direction="in" name="uri" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      Execute (working_directory : STRING, uri : STRING, files : ARRAY OF STRING, display : STRING, startup_id : STRING) : VOID

      working_directory : working directory used to resolve relative filenames.
      uri               : either a file:-URI or an relative or absolute path.
      files             : an array of file:-URIs, relative or absolute paths to supply to
                          the executed URI on execution.
      display           : the screen on which to launch the file or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                          handling startup notification and focus stealing.
    -->
    <method name="Execute">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="uri" type="s" />
      <arg direction="in" name="files" type="as" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      DisplayPreferencesDialog (display : STRING) : VOID

      display    : the screen on which to display the preferences dialog
                   or "" to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.
    -->
    <method name="DisplayPreferencesDialog">
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      CopyTo (working_directory : STRING, source_filenames : ARRAY OF STRING, target_filenames : ARRAY OF STRING, display : STRING, startup_id : STRING) : VOID

      working_directory : working directory used to resolve relative filenames.
      source_filenames  : an array of file names to copy. The file names may
                          be either file:-URIs, absolute paths or paths relative
                          to the working_directory.
      target_filenames  : the target filenames.
      display           : the screen on which to launch the filenames or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                          handling startup notification and focus stealing.
    -->
    <method name="CopyTo">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="source_filenames" type="as" />
      <arg direction="in" name="target_filenames" type="as" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      CopyInto (working_directory : STRING, source_filenames : ARRAY OF STRING, target_filename : STRING, display : STRING, startup_id : STRING) : VOID

      working_directory : working directory used to resolve relative filenames.
      source_filenames  : an array of file names to copy. The file names may
                          be either file:-URIs, absolute paths or paths relative
                          to the working_directory.
      target_filename   : the target directory.
      display           : the screen on which to launch the filenames or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                          handling startup notification and focus stealing.
    -->
    <method name="CopyInto">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="source_filenames" type="as" />
      <arg direction="in" name="target_filename" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      MoveInto (working_directory : STRING, source_filenames : ARRAY OF STRING, target_filename : STRING, display : STRING, startup_id : STRING) : VOID

      working_directory : working directory used to resolve relative filenames.
      source_filenames  : an array of file names to move. The file names may
                          be either file:-URIs, absolute paths or paths relative
                          to the working_directory.
      target_filename   : the target directory.
      display           : the screen on which to launch the filenames or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                           handling startup notification and focus stealing.
    -->
    <method name="MoveInto">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="source_filenames" type="as" />
      <arg direction="in" name="target_filename" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      LinkInto (working_directory : STRING, source_filenames : ARRAY OF STRING, target_filename : STRING, display : STRING, startup_id : STRING) : VOID

      working_directory : working directory used to resolve relative filenames.
      source_filenames  : an array of file names to link. The file names may
                          be either file:-URIs, absolute paths or paths relative
                          to the working_directory.
      target_filename   : the target directory.
      display           : the screen on which to launch the filenames or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                           handling startup notification and focus stealing.
    -->
    <method name="LinkInto">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="source_filenames" type="as" />
      <arg direction="in" name="target_filename" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      UnlinkFiles (working_directory : STRING, filenames : ARRAY OF STRING, display : STRING, startup_id : STRING) : VOID

      working_directory : working directory used to resolve relative filenames.
      filenames         : an array of file names to delete. The file names may
                          be either file:-URIs, absolute paths or paths relative
                          to the working_directory.
      display           : the screen on which to launch the filenames or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                          handling startup notification and focus stealing.
    -->
    <method name="UnlinkFiles">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="filenames" type="as" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>


    <!--
      LaunchFiles (working_directory : STRING, filenames : ARRAY OF STRING, display : STRING, startup_id : STRING) : VOID

      working_directory : the directory, relative to which filenames should
                          be interpreted.
      filenames         : an array of file names to launch. The file names may
                          be either file:-URIs, absolute paths or paths relative
                          to the working_directory.
      display           : the screen on which to launch the filenames or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                          handling startup notification and focus stealing.
    -->
    <method name="LaunchFiles">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="filenames" type="as" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>

    <!--
      RenameFile (uri : STRING, display : STRING, startup_id : STRING) : VOID

      uri        : a URI to rename. This may be either a file:-URI or an absolute path.
      display    : the screen on which to launch the filenames or ""
                   to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.
    -->
    <method name="RenameFile">
      <arg direction="in" name="filename" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>

    <!--
      CreateFile (working_directory : content_type : STRING, STRING, display : STRING, startup_id : STRING) : VOID

      parent_directory : the parent directory in which the file will be created.
      content_type     : content type of the file to be created (text/plain assumed 
                         when empty).
      display          : the screen on which to launch the filenames or ""
                         to use the default screen of the file manager.
      startup_id       : the DESKTOP_STARTUP_ID environment variable for properly
                         handling startup notification and focus stealing.
    -->
    <method name="CreateFile">
      <arg direction="in" name="parent_directory" type="s" />
      <arg direction="in" name="content_type" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>

    <!--
      CreateFileFromTemplate(working_directory : STRING, template_uri : STRING, display : STRING, start_id : STRING) : VOID

      parent_directory : the parent directory in which the file will be created.
      template_uri     : the URI or absolute path to the template file.
      display          : the screen on which to launch the filenames or ""
                         to use the default screen of the file manager.
      startup_id       : the DESKTOP_STARTUP_ID environment variable for properly
                         handling startup notification and focus stealing.
    -->
    <method name="CreateFileFromTemplate">
      <arg direction="in" name="parent_directory" type="s" />
      <arg direction="in" name="template_uri" type="s" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>
  </interface>


  <!--
    org.xfce.Trash

    The generic Xfce Trash Bin interface, implemented by all Xfce File
    Managers that support a trash bin.
  -->
  <interface name="org.xfce.Trash">
    <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="thunar_dbus_service" />

    <!--
      DisplayTrash (display : STRING) : VOID

      display    : the screen on which to display the trash folder
                   contents or "" to use the default screen of the
                   file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.

      Opens a new file manager window showing the trash folder
      contents.
    -->
    <method name="DisplayTrash">
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>

    <!--
      EmptyTrash (display : STRING) : VOID

      display    : the screen on which to display the confirmation of
                   the operation and the progress status or "" to use
                   the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.

      Tells the file manager to empty the trash bin.
    -->
    <method name="EmptyTrash">
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>

    <!--
      MoveToTrash (uris : ARRAY OF STRING, display : STRING) : VOID

      filenames  : an array of file:-URIs or absolute paths for the files
                   that should be moved to the trash can.
      display    : the screen on which to display the progress dialog
                   and possible error messages and confirmation dialogs
                   or "" to use the default screen of the file manager.
      startup_id : the DESKTOP_STARTUP_ID environment variable for properly
                   handling startup notification and focus stealing.

      Tells the file manager to move all files specified by the filenames
      to the trash bin.
    -->
    <method name="MoveToTrash">
      <arg direction="in" name="filenames" type="as" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>

    <!--
      QueryTrash () : BOOLEAN

      Determines whether the trash bin contains atleast one
      item.

      Returns: TRUE if the trash bin is not empty, FALSE otherwise.
    -->
    <method name="QueryTrash">
      <arg direction="out" name="full" type="b" />
    </method>

    <!--
      TrashChanged (full : BOOLEAN)

      full : TRUE if the trash now contains atleast one item.

      This signal is emitted by the file manager whenever the state
      of the trash bin changes.
    -->
    <signal name="TrashChanged" />
  </interface>


  <!--
    org.xfce.Thunar

    The Thunar specific interface, which provides Thunar specific
    methods, and which should not be implemented by any other
    file manager.

    This interface is also subject to change. So, unless you know
    what you are doing, and you want to limit yourself to Thunar,
    do not use this interface, but use org.xfce.FileManager instead.
  -->
  <interface name="org.xfce.Thunar">
    <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="thunar_dbus_service" />

    <!--
      BulkRename (working_directory : STRING, filenames : ARRAY OF STRING, standalone : BOOLEAN, display : STRING, startup_id : STRING) : VOID

      working_directory : the default directory for the "Add Files" dialog of the
                          bulk rename window. May also be the empty string, in
                          which case the current working directory of the file
                          manager process will be used. This is also used to
                          translated relative file paths in the filenames below
                          to absolute paths.
      filenames         : the list of file:-URIs or absolute paths that should
                          appear in the bulk renamer list by default. May also
                          be an empty list. any file that is neither an absolute
                          path nor a file:-URI will be translated into an
                          absolute path relative to the working_directory.
      standalone        : TRUE if the bulk rename dialog should appear like a
                          standalone application. This is usually what you want.
                          It should only be FALSE when invoked from another file
                          management tool and its obvious to the user that a
                          bunch of selected files will be renamed.
      display           : the screen on which to launch the filenames or ""
                          to use the default screen of the file manager.
      startup_id        : the DESKTOP_STARTUP_ID environment variable for properly
                           handling startup notification and focus stealing.
    -->
    <method name="BulkRename">
      <arg direction="in" name="working_directory" type="s" />
      <arg direction="in" name="filenames" type="as" />
      <arg direction="in" name="standalone" type="b" />
      <arg direction="in" name="display" type="s" />
      <arg direction="in" name="startup_id" type="s" />
    </method>

    <!--
      Terminate () : VOID

      Tells a running Thunar instance to terminate immediately.
    -->
    <method name="Terminate">
    </method>
  </interface>
</node>

<!-- vi:set ts=2 sw=2 et ai: -->
