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

<!-- File Specific calls -->
<node name="/org/freedesktop/Tracker">
  <interface name="org.freedesktop.Tracker.Files">
    <!-- Determines if the file is in tracker's database. The option
	 auto_create if set to TRUE will register the file in the
	 database if not already present.
      -->
    <method name="Exist">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="s" name="uri" direction="in" />
      <arg type="b" name="auto_create" direction="in" />
      <arg type="b" name="result" direction="out" />
    </method>

    <!-- Creates a new entry for a file in tracker's database. This
	 method is ueful when you want to tell Tracker about a file
	 which it cannot see (EG a VFS file) or the file is located
	 outside the watch/crawl path.
      --> 
    <method name="Create">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="s" name="uri" direction="in" />
      <arg type="b" name="is_directory" direction="in" />
      <arg type="s" name="mime" direction="in" />
      <arg type="i" name="size" direction="in" />
      <arg type="i" name="mtime" direction="in" />
    </method>
    
    <!-- Removes the file entry from tracker's database. -->
    <method name="Delete">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="s" name="uri" direction="in" />
    </method>

    <!-- Get the Service subtype for the file. -->
    <method name="GetServiceType">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="s" name="uri" direction="in" />
      <arg type="s" name="service_type" direction="out" />
    </method>

    <!-- Get the "File.Content" field for a file and allows you to
	 specify the offset and amount of text to retrieve.
      -->
    <method name="GetTextContents">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <arg type="s" name="uri" direction="in" />
      <arg type="i" name="offset"  direction="in" />
      <arg type="i" name="max_length"  direction="in" />				
      <arg type="s" name="content" direction="out" />
    </method>
    
    <!-- Retrieves a chunk of matching text of specified length that
	 contains the search text in the File.Content field.
      -->
    <method name="SearchTextContents">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <arg type="s" name="uri" direction="in" />
      <arg type="s" name="text"  direction="in" />
      <arg type="i" name="length"  direction="in" />
      <arg type="s" name="result" direction="out" />
    </method>

    <!-- Retrieves all files that match a service description. -->
    <method name="GetByServiceType">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="i" name="live_query_id" direction="in" />
      <arg type="s" name="file_service" direction="in" />
      <arg type="i" name="offset" direction="in" />
      <arg type="i" name="max_hits" direction="in" />
      <arg type="as" name="result" direction="out" />
    </method>	

    <!-- Retrieves all non-vfs files of the specified mime type(s). -->
    <method name="GetByMimeType">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="i" name="live_query_id" direction="in" />
      <arg type="as" name="mime_types" direction="in" />
      <arg type="i" name="offset" direction="in" />
      <arg type="i" name="max_hits" direction="in" />
      <arg type="as" name="result" direction="out" />
    </method>	

    <!-- Retrieves all vfs files of the specified mime type(s). -->
    <method name="GetByMimeTypeVfs">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="i" name="live_query_id" direction="in" />
      <arg type="as" name="mime_types" direction="in" />
      <arg type="i" name="offset" direction="in" />
      <arg type="i" name="max_hits" direction="in" />
      <arg type="as" name="result" direction="out" />
    </method>

    <!-- returns mtime of file in seconds since epoch -->
    <method name="GetMTime">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <arg type="s" name="uri" direction="in" />
      <arg type="i" name="result" direction="out" />
    </method>

    <!-- Retrieves all non-vfs files in a folder complete with all
	 requested metadata fields. StringArray output is [uri,
	 field1, field2...].
      -->
    <method name="GetMetadataForFilesInFolder">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg type="i" name="live_query_id" direction="in" />
      <arg type="s" name="uri" direction="in" />
      <arg type="as" name="fields" direction="in" />
      <arg type="aas" name="values" direction="out" />
    </method>

    <!-- Specific calls for Nautilus, mostly used by Nautilus search. -->
    <method name="SearchByTextAndMime">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <arg type="s" name="text" direction="in" />
      <arg type="as" name="mimes" direction="in" />
      <arg type="as" name="result" direction="out" />
    </method>
    <method name="SearchByTextAndLocation">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <arg type="s" name="text" direction="in" />
      <arg type="s" name="location" direction="in" />
      <arg type="as" name="result" direction="out" />
    </method>
    <method name="SearchByTextAndMimeAndLocation">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <annotation name="org.freedesktop.DBus.Deprecated" value="true"/>
      <arg type="s" name="text" direction="in" />
      <arg type="as" name="mimes" direction="in" />
      <arg type="s" name="location" direction="in" />
      <arg type="as" name="result" direction="out" />
    </method>
-->
    <!-- End deprecated calls section. -->
  </interface>
</node>
