<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <package name="gobject-2.0"/>
  <c:include name="rhythmbox.h"/>
  <namespace name="MPID"
             version="3.0"
             shared-library="librhythmbox-core.so.10"
             c:identifier-prefixes="MPID"
             c:symbol-prefixes="mpid_">
    <class name="Device"
           c:symbol-prefix="device"
           c:type="MPIDDevice"
           parent="GObject.Object"
           glib:type-name="MPIDDevice"
           glib:get-type="mpid_device_get_type"
           glib:type-struct="DeviceClass">
      <doc xml:space="preserve">An #MPIDDevice stores a set of information for a particular attached device,
identified by either a mount point (e.g. /media/device) or a device node
(e.g. /dev/sdb).</doc>
      <constructor name="new" c:identifier="mpid_device_new">
        <doc xml:space="preserve">Creates a new #MPIDDevice and reads device information for the specified
device node path or mount point path.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">new #MPIDDevice instance</doc>
          <type name="Device" c:type="MPIDDevice*"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve">the input path (either device node path or mount point)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_mpi_file"
                   c:identifier="mpid_device_new_from_mpi_file">
        <doc xml:space="preserve">Creates a new #MPIDDevice populated with information read from the specified
.mpi file</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">new #MPIDDevice instance</doc>
          <type name="Device" c:type="MPIDDevice*"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve">path to a .mpi file describing the device</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="access-protocols" transfer-ownership="none">
        <doc xml:space="preserve">Names of access protocols that can be used to access the device contents</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="audio-folders" transfer-ownership="none">
        <doc xml:space="preserve">A set of folders (relative to the root of the device) containing audio
folders.</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="drive-type" transfer-ownership="none">
        <doc xml:space="preserve">The device drive type</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="error" transfer-ownership="none">
        <doc xml:space="preserve">MPID error code resulting from device detection (see #MPIDError)</doc>
        <type name="Error"/>
      </property>
      <property name="folder-depth" transfer-ownership="none">
        <doc xml:space="preserve">The folder nesting level supported by the device.  -1 indicates there is no limit.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="fs-uuid" transfer-ownership="none">
        <doc xml:space="preserve">The device filesystem UUID</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="input-formats" transfer-ownership="none">
        <doc xml:space="preserve">A set of MIME types that the device can record</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="input-path"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Either the device node path or the mount point path for the device.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="model" transfer-ownership="none">
        <doc xml:space="preserve">The device model name</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="mpi-file"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Path to a .mpi file describing the device</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="output-formats" transfer-ownership="none">
        <doc xml:space="preserve">A set of MIME types that the device can play</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="playlist-formats" transfer-ownership="none">
        <doc xml:space="preserve">A set of playlist format MIME types suppored by the device</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="playlist-path" transfer-ownership="none">
        <doc xml:space="preserve">Path to playlist files on the device.  May include '%File' to indicate a directory
containing any number of playlist files.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="requires-eject" transfer-ownership="none">
        <doc xml:space="preserve">If %TRUE, the device must be ejected rather than unmounted</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="serial" transfer-ownership="none">
        <doc xml:space="preserve">The device serial ID</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="source" transfer-ownership="none">
        <doc xml:space="preserve">The information source used to provide device information (see #MPIDSource)</doc>
        <type name="SourceType"/>
      </property>
      <property name="vendor" transfer-ownership="none">
        <doc xml:space="preserve">The device vendor name</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="input_path" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="mpi_file" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="error" readable="0" private="1">
        <type name="Error" c:type="MPIDError"/>
      </field>
      <field name="source" readable="0" private="1">
        <type name="Source" c:type="MPIDSource"/>
      </field>
      <field name="model" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="vendor" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="fs_uuid" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="serial" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="drive_type" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="requires_eject" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="access_protocols" readable="0" private="1">
        <type name="utf8" c:type="char**"/>
      </field>
      <field name="output_formats" readable="0" private="1">
        <type name="utf8" c:type="char**"/>
      </field>
      <field name="input_formats" readable="0" private="1">
        <type name="utf8" c:type="char**"/>
      </field>
      <field name="playlist_formats" readable="0" private="1">
        <type name="utf8" c:type="char**"/>
      </field>
      <field name="playlist_path" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="audio_folders" readable="0" private="1">
        <type name="utf8" c:type="char**"/>
      </field>
      <field name="folder_depth" readable="0" private="1">
        <type name="gint" c:type="int"/>
      </field>
    </class>
    <record name="DeviceClass"
            c:type="MPIDDeviceClass"
            glib:is-gtype-struct-for="Device">
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="Error"
                 glib:type-name="MPIDError"
                 glib:get-type="mpid_error_get_type"
                 c:type="MPIDError">
      <member name="OK"
              value="0"
              c:identifier="MPID_ERROR_NONE"
              glib:nick="OK">
      </member>
      <member name="no_such_device"
              value="1"
              c:identifier="MPID_ERROR_NO_DEVICE_PATH"
              glib:nick="no-such-device">
      </member>
      <member name="device_db_failed"
              value="2"
              c:identifier="MPID_ERROR_MECHANISM_FAILED"
              glib:nick="device-db-failed">
      </member>
      <member name="not_media_player"
              value="3"
              c:identifier="MPID_ERROR_NOT_MEDIA_PLAYER"
              glib:nick="not-media-player">
      </member>
      <member name="device_info_missing"
              value="4"
              c:identifier="MPID_ERROR_DEVICE_INFO_MISSING"
              glib:nick="device-info-missing">
      </member>
    </enumeration>
    <constant name="PROTOCOL_GENERIC"
              value="storage"
              c:type="MPID_PROTOCOL_GENERIC">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PROTOCOL_IPOD" value="ipod" c:type="MPID_PROTOCOL_IPOD">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <enumeration name="Source" c:type="MPIDSource">
      <member name="none" value="0" c:identifier="MPID_SOURCE_NONE">
      </member>
      <member name="system" value="1" c:identifier="MPID_SOURCE_SYSTEM">
      </member>
      <member name="override" value="2" c:identifier="MPID_SOURCE_OVERRIDE">
      </member>
    </enumeration>
    <enumeration name="SourceType"
                 glib:type-name="MPIDSourceType"
                 glib:get-type="mpid_source_get_type"
                 c:type="MPIDSourceType">
      <member name="no_device_info"
              value="0"
              c:identifier="MPID_SOURCE_NONE"
              glib:nick="no-device-info">
      </member>
      <member name="system_device_info"
              value="1"
              c:identifier="MPID_SOURCE_SYSTEM"
              glib:nick="system-device-info">
      </member>
      <member name="override_device_info"
              value="2"
              c:identifier="MPID_SOURCE_OVERRIDE"
              glib:nick="override-device-info">
      </member>
    </enumeration>
    <function name="enable_debug" c:identifier="mpid_enable_debug">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="debug" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
