<?xml version="1.0"?><!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="PackageKit">
  <refmeta>
    <refentrytitle role="top_of_page">org.freedesktop.PackageKit</refentrytitle>
  </refmeta>
  <refnamediv>
    <refname>org.freedesktop.PackageKit</refname>
    <refpurpose>PackageKit interface</refpurpose>
  </refnamediv>
  <refsynopsisdiv role="synopsis">
    <title role="synopsis.title">Methods</title>
    <synopsis><link linkend="PackageKit.CanAuthorize">CanAuthorize</link>(in's'action_id,
out'u'result)
<link linkend="PackageKit.CreateTransaction">CreateTransaction</link>(out'o'object_path)
<link linkend="PackageKit.GetTimeSinceAction">GetTimeSinceAction</link>(in'u'role,
out'u'seconds)
<link linkend="PackageKit.GetTransactionList">GetTransactionList</link>(out'ao'transactions)
<link linkend="PackageKit.StateHasChanged">StateHasChanged</link>(in's'reason)
<link linkend="PackageKit.SuggestDaemonQuit">SuggestDaemonQuit</link>()
<link linkend="PackageKit.GetPackageHistory">GetPackageHistory</link>(in'as'names,
in'u'count,
out'a{saa{sv}}'history)
<link linkend="PackageKit.GetDaemonState">GetDaemonState</link>(out's'state)
<link linkend="PackageKit.SetProxy">SetProxy</link>(in's'proxy_http,
in's'proxy_https,
in's'proxy_ftp,
in's'proxy_socks,
in's'no_proxy,
in's'pac)
</synopsis>
  </refsynopsisdiv>
  <refsect1 role="signal_proto">
    <title role="signal_proto.title">Signals</title>
    <synopsis><link linkend="PackageKit::TransactionListChanged">TransactionListChanged</link>('as'transactions)
<link linkend="PackageKit::RestartSchedule">RestartSchedule</link>()
<link linkend="PackageKit::RepoListChanged">RepoListChanged</link>()
<link linkend="PackageKit::UpdatesChanged">UpdatesChanged</link>()
</synopsis>
  </refsect1>
  <refsect1 role="impl_interfaces">
    <title role="impl_interfaces.title">Implemented Interfaces</title>
    <para>org.freedesktop.PackageKit implements
    org.freedesktop.DBus.Introspectable,
    org.freedesktop.DBus.Properties
    </para>
  </refsect1>
  <refsect1 role="properties">
    <title role="properties.title">Properties</title>
    <synopsis><link linkend="PackageKit:VersionMajor">'VersionMajor'</link>read'u'
<link linkend="PackageKit:VersionMinor">'VersionMinor'</link>read'u'
<link linkend="PackageKit:VersionMicro">'VersionMicro'</link>read'u'
<link linkend="PackageKit:BackendName">'BackendName'</link>read's'
<link linkend="PackageKit:BackendDescription">'BackendDescription'</link>read's'
<link linkend="PackageKit:BackendAuthor">'BackendAuthor'</link>read's'
<link linkend="PackageKit:Roles">'Roles'</link>read't'
<link linkend="PackageKit:Groups">'Groups'</link>read't'
<link linkend="PackageKit:Filters">'Filters'</link>read't'
<link linkend="PackageKit:MimeTypes">'MimeTypes'</link>read'as'
<link linkend="PackageKit:Locked">'Locked'</link>read'b'
<link linkend="PackageKit:NetworkState">'NetworkState'</link>read'u'
<link linkend="PackageKit:DistroId">'DistroId'</link>read's'
</synopsis>
  </refsect1>
  <refsect1 role="desc">
    <title role="desc.title">Description</title>
    <para>
      
        <para>
          The root interface is used for interacting with the daemon.
        </para>
      
    </para>
  </refsect1>
  <refsect1 role="details"><title role="details.title">Details</title><refsect2><title><anchor role="function" id="PackageKit.CanAuthorize"/>CanAuthorize ()</title><indexterm><primary>CanAuthorize</primary><secondary>PackageKit</secondary></indexterm><programlisting>CanAuthorize (in's'action_id,
out'u'result)</programlisting></refsect2>
          <para>
            Allows a client to find out if it would be allowed to authorize an action.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>action_id</parameter>:</term><listitem><simpara>
            
              The action ID, e.g. org.freedesktop.packagekit.system-network-proxy-configure
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>result</parameter>:</term><listitem><simpara>
            
              The result, either yes, no or interactive.
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit.CreateTransaction"/>CreateTransaction ()</title><indexterm><primary>CreateTransaction</primary><secondary>PackageKit</secondary></indexterm><programlisting>CreateTransaction (out'o'object_path)</programlisting></refsect2>
          <para>
            Creates a new transaction that can have operations done on
            it.
            Note: The dameon will automatically destroy this transaction
            if it is not used after a few minutes.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>object_path</parameter>:</term><listitem><simpara>
            
              The object_path, e.g. /45_dafeca
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit.GetTimeSinceAction"/>GetTimeSinceAction ()</title><indexterm><primary>GetTimeSinceAction</primary><secondary>PackageKit</secondary></indexterm><programlisting>GetTimeSinceAction (in'u'role,
out'u'seconds)</programlisting></refsect2>
          <para>
            This method allows us to query how long since an action has successfully completed.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>role</parameter>:</term><listitem><simpara>
            
              The role enum, e.g. update-system
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>seconds</parameter>:</term><listitem><simpara>
            
              The amount of time in seconds
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit.GetTransactionList"/>GetTransactionList ()</title><indexterm><primary>GetTransactionList</primary><secondary>PackageKit</secondary></indexterm><programlisting>GetTransactionList (out'ao'transactions)</programlisting></refsect2>
          <para>
            Gets the transaction list of any transactions that are in progress
          </para>
        <variablelist role="params"><varlistentry><term><parameter>transactions</parameter>:</term><listitem><simpara>
            
              A list of transaction ID's
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit.StateHasChanged"/>StateHasChanged ()</title><indexterm><primary>StateHasChanged</primary><secondary>PackageKit</secondary></indexterm><programlisting>StateHasChanged (in's'reason)</programlisting></refsect2>
          <para>
            This method suggests to PackageKit that the package backend state may have changed.
            This allows plugins to the native package manager to suggest that PackageKit drops
            it's caches.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>reason</parameter>:</term><listitem><simpara>
            
              The reason of the state change. Valid reasons are resume or
              posttrans.
              Resume is given a lower priority than posttrans.
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit.SuggestDaemonQuit"/>SuggestDaemonQuit ()</title><indexterm><primary>SuggestDaemonQuit</primary><secondary>PackageKit</secondary></indexterm><programlisting>SuggestDaemonQuit ()</programlisting></refsect2>
          <para>
            Suggests to the daemon that it should quit as soon as possible, for instance if a native
            package management tool is waiting to be used.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit.GetPackageHistory"/>GetPackageHistory ()</title><indexterm><primary>GetPackageHistory</primary><secondary>PackageKit</secondary></indexterm><programlisting>GetPackageHistory (in'as'names,
in'u'count,
out'a{saa{sv}}'history)</programlisting></refsect2>
          <para>
            Gets the history for a given package name.
            This uses the internal PackageKit history database and will not
            return transactions done outside of PackageKit using a distribution
            native tool.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>names</parameter>:</term><listitem><simpara>
            
              The package names to return history for, e.g. [ colord ].
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>count</parameter>:</term><listitem><simpara>
            
              The maximum number of past transactions to return, or 0 for no limit.
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>history</parameter>:</term><listitem><simpara>
            
              The list of actions performed on this package. The array may contain
              the following keys of types:
              info[uint],
              user-id[uint],
              version[string],
              source[string],
              timestamp[uint64].
              Other keys and values may be added in the future.
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit.GetDaemonState"/>GetDaemonState ()</title><indexterm><primary>GetDaemonState</primary><secondary>PackageKit</secondary></indexterm><programlisting>GetDaemonState (out's'state)</programlisting></refsect2>
          <para>
            Gets the debugging state from the daemon.
            No secure state will be shown, and all information is for reference only.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>state</parameter>:</term><listitem><simpara>
            
              The state of the dameon at this specific moment.
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit.SetProxy"/>SetProxy ()</title><indexterm><primary>SetProxy</primary><secondary>PackageKit</secondary></indexterm><programlisting>SetProxy (in's'proxy_http,
in's'proxy_https,
in's'proxy_ftp,
in's'proxy_socks,
in's'no_proxy,
in's'pac)</programlisting></refsect2>
          <para>
            Sets the proxy used by the dameon.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>proxy_http</parameter>:</term><listitem><simpara>
            
              The HTTP proxy, e.g. username:password@server:port.
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>proxy_https</parameter>:</term><listitem><simpara>
            
              The HTTPS proxy, e.g. username:password@server:port.
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>proxy_ftp</parameter>:</term><listitem><simpara>
            
              The FTP proxy, e.g. username:password@server:port.
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>proxy_socks</parameter>:</term><listitem><simpara>
            
              The SOCKS proxy, e.g. username:password@server:port.
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>no_proxy</parameter>:</term><listitem><simpara>
            
              The comma seporated list of sites to not use the proxy for, e.g.
              127.0.0.1,localmirror.org.
            
          </simpara></listitem></varlistentry><varlistentry><term><parameter>pac</parameter>:</term><listitem><simpara>
            
              The PAC file for the proxy, e.g.
              /etc/network/school.pac.
              Note: Most backends will not be able to use a PAC file.
            
          </simpara></listitem></varlistentry></variablelist><para role="permission">Callers need the org.freedesktop.packagekit.set-proxy</para></refsect1>
  <refsect1 role="signals"><title role="signals.title">Signal Details</title><refsect2><title><anchor role="function" id="PackageKit::TransactionListChanged"/>The TransactionListChanged signal</title><indexterm><primary>TransactionListChanged</primary><secondary>PackageKit</secondary></indexterm><programlisting>TransactionListChanged ('as'transactions)</programlisting></refsect2>
          <para>
            The transaction list has changed, because either a transaction has finished or a new
            transaction created.
          </para>
        <variablelist role="params"><varlistentry><term><parameter>transactions</parameter>:</term><listitem><simpara>
            
              A list of transaction ID's.
            
          </simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="PackageKit::RestartSchedule"/>The RestartSchedule signal</title><indexterm><primary>RestartSchedule</primary><secondary>PackageKit</secondary></indexterm><programlisting>RestartSchedule ()</programlisting></refsect2>
          <para>
            A system restart has been sceduled
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit::RepoListChanged"/>The RepoListChanged signal</title><indexterm><primary>RepoListChanged</primary><secondary>PackageKit</secondary></indexterm><programlisting>RepoListChanged ()</programlisting></refsect2>
          <para>
            This signal is emitted when the repository list has changed
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit::UpdatesChanged"/>The UpdatesChanged signal</title><indexterm><primary>UpdatesChanged</primary><secondary>PackageKit</secondary></indexterm><programlisting>UpdatesChanged ()</programlisting></refsect2>
          <para>
            This signal is emitted when the number of updates has changed
          </para>
        <variablelist role="params"/></refsect1>
  <refsect1 role="property_details"><title role="property_details.title">Property Details</title><refsect2><title><anchor role="function" id="PackageKit:VersionMajor"/>The "VersionMajor" property</title><indexterm><primary>VersionMajor</primary><secondary>PackageKit</secondary></indexterm><programlisting>'VersionMajor'read'u'
</programlisting></refsect2>
          <para>
            The major version number.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:VersionMinor"/>The "VersionMinor" property</title><indexterm><primary>VersionMinor</primary><secondary>PackageKit</secondary></indexterm><programlisting>'VersionMinor'read'u'
</programlisting></refsect2>
          <para>
            The minor version number.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:VersionMicro"/>The "VersionMicro" property</title><indexterm><primary>VersionMicro</primary><secondary>PackageKit</secondary></indexterm><programlisting>'VersionMicro'read'u'
</programlisting></refsect2>
          <para>
            The micro version number.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:BackendName"/>The "BackendName" property</title><indexterm><primary>BackendName</primary><secondary>PackageKit</secondary></indexterm><programlisting>'BackendName'read's'
</programlisting></refsect2>
          <para>
            The backend name, e.g. "yum".
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:BackendDescription"/>The "BackendDescription" property</title><indexterm><primary>BackendDescription</primary><secondary>PackageKit</secondary></indexterm><programlisting>'BackendDescription'read's'
</programlisting></refsect2>
          <para>
            The backend description, e.g. "Yellow Dog Update Modifier".
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:BackendAuthor"/>The "BackendAuthor" property</title><indexterm><primary>BackendAuthor</primary><secondary>PackageKit</secondary></indexterm><programlisting>'BackendAuthor'read's'
</programlisting></refsect2>
          <para>
            The backend author, e.g. "Joe Bloggs &lt;joe&amp;blogs.com&gt;".
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:Roles"/>The "Roles" property</title><indexterm><primary>Roles</primary><secondary>PackageKit</secondary></indexterm><programlisting>'Roles'read't'
</programlisting></refsect2>
          <para>
            The roles the backend supports, e.g. search-name|refresh-cache.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:Groups"/>The "Groups" property</title><indexterm><primary>Groups</primary><secondary>PackageKit</secondary></indexterm><programlisting>'Groups'read't'
</programlisting></refsect2>
          <para>
            The groups the backend supports, e.g. accessories|games.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:Filters"/>The "Filters" property</title><indexterm><primary>Filters</primary><secondary>PackageKit</secondary></indexterm><programlisting>'Filters'read't'
</programlisting></refsect2>
          <para>
            The filters the backend supports, e.g. installed|newest.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:MimeTypes"/>The "MimeTypes" property</title><indexterm><primary>MimeTypes</primary><secondary>PackageKit</secondary></indexterm><programlisting>'MimeTypes'read'as'
</programlisting></refsect2>
          <para>
            The mime-types the backend supports, e.g.
            ['application/x-rpm;', 'application/x-deb'].
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:Locked"/>The "Locked" property</title><indexterm><primary>Locked</primary><secondary>PackageKit</secondary></indexterm><programlisting>'Locked'read'b'
</programlisting></refsect2>
          <para>
            Set when the backend is locked and native tools would fail.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:NetworkState"/>The "NetworkState" property</title><indexterm><primary>NetworkState</primary><secondary>PackageKit</secondary></indexterm><programlisting>'NetworkState'read'u'
</programlisting></refsect2>
          <para>
            Gets the network state from the daemon. This is provided as some clients may not want
            to use NetworkManager if the system daemon is configured to use something else.
          </para>
          <para>
            If the system is managed using NetworkManager then the following
            states are supported:
            unknown, offline, online,
            wifi, mobile or wired.
            If the system is configured for legacy UNIX network fallback, or NetworkManager
            is not running then the folowing states are supported:
            unknown, offline or online.
          </para>
        <variablelist role="params"/><refsect2><title><anchor role="function" id="PackageKit:DistroId"/>The "DistroId" property</title><indexterm><primary>DistroId</primary><secondary>PackageKit</secondary></indexterm><programlisting>'DistroId'read's'
</programlisting></refsect2>
          <para>
            The distribution identification, in the
            distro;version;arch form e.g.
            "debian;squeeze/sid;x86_64".
          </para>
        <variablelist role="params"/></refsect1>
</refentry>
