<?xml version='1.0'?>

<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<chapter id="tracker-migrating-1-to-2">
  <title>Migrating from libtracker-miner 1.x to 2.0</title>

  <para>
    Tracker 2.0 is a new major version, containing some possibly
    incompatible changes. Most of the changes are not hard to adapt,
    and even unlikely to be a problem if the ported application was
    kept up-to-date in its usage of 1.x.
  </para>

  <section>
    <title>TrackerMiner instances do not implement org.freedesktop.Tracker1.Miner</title>
    <para>
      TrackerMiner abstract classes have been made useful for situations where
      there is a local connection (e.g. no interaction with tracker-store).
      In order to expose TrackerMiner implementations through the traditional
      org.freedesktop.Tracker1.Miner DBus interface, you must now create a
      TrackerMinerProxy for it.
    </para>
  </section>

  <section>
    <title>No TrackerEnumerator</title>
    <para>
      TrackerDataProvider implementations now use the GFileEnumerator interface
      from GLib in order to iterate across a tree of uniquely identified
      resources. If you implemented a TrackerEnumerator, it must be converted
      into a GFileEnumerator interface implementation. No further instructions
      are provided as the API almost matches 1:1.
    </para>
  </section>

  <section>
    <title>No tracker_miner_fs_get_parent_urn()</title>
    <para>
      Use tracker_miner_fs_get_urn().
    </para>
  </section>

  <section>
    <title>No tracker_miner_fs_force_recheck()</title>
    <para>
      Use tracker_indexing_tree_notify_updated().
    </para>
  </section>

  <section>
    <title>No tracker_miner_fs_force_recheck() or tracker_miner_fs_force_mtime_checking()</title>
    <para>
      Use tracker_indexing_tree_notify_updated().
    </para>
  </section>

  <section>
    <title>No tracker_miner_fs_check_directory*()</title>
    <para>
      Use tracker_indexing_tree_add().
    </para>
  </section>

  <section>
    <title>No tracker_miner_fs_writeback_notify() and tracker_miner_fs_file_notify()</title>
    <para>
      You can now use tracker_miner_fs_notify_finish() to notify the end of both operations.
    </para>
  </section>
</chapter>
