Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > b77dda48f87d4eda8cc559e40c49a652 > files > 70

python-kde4-doc-4.4.5-0.2mdv2010.2.i586.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
  <title>Akonadi.ItemSync</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <link rel="stylesheet" type="text/css" href="../common/doxygen.css" />
  <link rel="stylesheet" media="screen" type="text/css" title="KDE Colors" href="../common/kde.css" />
</head>
<body>
<div id="container">
<div id="header">
  <div id="header_top">
    <div>
      <div>
        <img alt ="" src="../common/top-kde.jpg"/>
        KDE 4.4 PyKDE API Reference
      </div>
    </div>
  </div>
  <div id="header_bottom">
    <div id="location">
      <ul>
        <li>KDE's Python API</li>
      </ul>
    </div>

    <div id="menu">
      <ul>
        <li><a href="../modules.html">Overview</a></li>
<li><a href="http://techbase.kde.org/Development/Languages/Python">PyKDE Home</a></li>
<li><a href="http://kde.org/family/">Sitemap</a></li>
<li><a href="http://kde.org/contact/">Contact Us</a></li>
</ul>
    </div>
  </div>
</div>

<div id="body_wrapper">
<div id="body">
<div id="right">
<div class="content">
<div id="main">
<div class="clearer">&nbsp;</div>

<h1>ItemSync Class Reference</h1>
<code>from PyKDE4.akonadi import *</code>
<p>
Inherits: Akonadi.Job &#x2192; <a href="../kdecore/KCompositeJob.html">KCompositeJob</a> &#x2192; <a href="../kdecore/KJob.html">KJob</a> &#x2192; <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a><br />

Namespace: Akonadi.ItemSync<br />
<h2>Detailed Description</h2>

<p>Syncs between items known to a client (usually a resource) and the Akonadi storage.
</p>
<p>
Remote Id must only be set by the resource storing the item, other clients
should leave it empty, since the resource responsible for the target collection
will be notified about the addition and then create a suitable remote Id.
</p>
<p>
There are two different forms of ItemSync usage:
- Full-Sync: meaning the client provides all valid items, i.e. any item not
part of the list but currently stored in Akonadi will be removed
- Incremental-Sync: meaning the client provides two lists, one for items which
are new or modified and one for items which should be removed. Any item not
part of either list but currently stored in Akonadi will not be changed.
</p>
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd> This is provided for convenience to implement "save all" like behavior,
however it is strongly recommended to use single item jobs whenever
possible, e.g. ItemCreateJob, ItemModifyJob and ItemDeleteJob
</dd></dl> </p>
<p>

<dl class="author" compact><dt><b>Author:</b></dt><dd> Tobias Koenig &lt;tokoe@kde.org&gt; </dd></dl>
</p>
<table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2"><br><h2>Methods</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ItemSync">__init__</a> (self, <a href="../akonadi/Akonadi.Collection.html">Akonadi.Collection</a> collection, <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a> parent=0)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#deliveryDone">deliveryDone</a> (self)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#doStart">doStart</a> (self)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a href="../akonadi/Akonadi.ItemFetchScope.html">Akonadi.ItemFetchScope</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#fetchScope">fetchScope</a> (self)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#setFetchScope">setFetchScope</a> (self, <a href="../akonadi/Akonadi.ItemFetchScope.html">Akonadi.ItemFetchScope</a> fetchScope)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#setFullSyncItems">setFullSyncItems</a> (self, <a href="../akonadi/Akonadi.Item.List.html">Akonadi.Item.List</a> items)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#setIncrementalSyncItems">setIncrementalSyncItems</a> (self, <a href="../akonadi/Akonadi.Item.List.html">Akonadi.Item.List</a> changedItems, <a href="../akonadi/Akonadi.Item.List.html">Akonadi.Item.List</a> removedItems)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#setStreamingEnabled">setStreamingEnabled</a> (self, bool enable)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#setTotalItems">setTotalItems</a> (self, int amount)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="#updateItem">updateItem</a> (self, <a href="../akonadi/Akonadi.Item.html">Akonadi.Item</a> storedItem, <a href="../akonadi/Akonadi.Item.html">Akonadi.Item</a> newItem)</td></tr>
</table>
<hr><h2>Method Documentation</h2><a class="anchor" name="ItemSync"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname">__init__</td>
<td>(</td>
<td class="paramtype">&nbsp;<em>self</em>, </td>
<td class="paramname"></td>
</tr><tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="../akonadi/Akonadi.Collection.html">Akonadi.Collection</a>&nbsp;</td>
<td class="paramname"><em>collection</em>, </td>
</tr>
<tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html">QObject</a>&nbsp;</td>
<td class="paramname"><em>parent=0</em></td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td>
<td></td>
<td width="100%"> </td>
</tr></table>
</div>
<div class="memdoc"><p>Creates a new item synchronizer.
</p>
<p>
</p><dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign="top"><em>collection</em>&nbsp;</td><td> The collection we are syncing.

<tr><td></td><td valign="top"><em>parent</em>&nbsp;</td><td> The parent object.
</td></tr>
</table></dl>
<p>
</p></div></div><a class="anchor" name="deliveryDone"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"> deliveryDone</td>
<td>(</td>
<td class="paramtype">&nbsp;</td>
<td class="paramname"><em>self</em>&nbsp;)</td>
<td width="100%"> </td>
</tr>
</table>
</div>
<div class="memdoc"><p>Notify ItemSync that all remote items have been delivered.
Only call this in streaming mode.
</p></div></div><a class="anchor" name="doStart"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"> doStart</td>
<td>(</td>
<td class="paramtype">&nbsp;</td>
<td class="paramname"><em>self</em>&nbsp;)</td>
<td width="100%"> </td>
</tr>
</table>
</div>
<div class="memdoc"></div></div><a class="anchor" name="fetchScope"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"><a href="../akonadi/Akonadi.ItemFetchScope.html">Akonadi.ItemFetchScope</a> fetchScope</td>
<td>(</td>
<td class="paramtype">&nbsp;</td>
<td class="paramname"><em>self</em>&nbsp;)</td>
<td width="100%"> </td>
</tr>
</table>
</div>
<div class="memdoc"><p>Returns the item fetch scope.
</p>
<p>
Since this returns a reference it can be used to conveniently modify the
current scope in-place, i.e. by calling a method on the returned reference
without storing it in a local variable. See the ItemFetchScope documentation
for an example.
</p>
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd> a reference to the current item fetch scope
</dd></dl> </p>
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd> setFetchScope() for replacing the current item fetch scope
</dd></dl>
</p></div></div><a class="anchor" name="setFetchScope"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"> setFetchScope</td>
<td>(</td>
<td class="paramtype">&nbsp;<em>self</em>, </td>
<td class="paramname"></td>
</tr><tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="../akonadi/Akonadi.ItemFetchScope.html">Akonadi.ItemFetchScope</a>&nbsp;</td>
<td class="paramname"><em>fetchScope</em></td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td>
<td></td>
<td width="100%"> </td>
</tr></table>
</div>
<div class="memdoc"><p>Sets the item fetch scope.
</p>
<p>
The ItemFetchScope controls how much of an item's data is fetched
from the server, e.g. whether to fetch the full item payload or
only meta data.
</p>
<p>
</p><dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign="top"><em>fetchScope</em>&nbsp;</td><td> The new scope for item fetch operations.
</td></tr>
</table></dl>
<p> <dl class="see" compact><dt><b>See also:</b></dt><dd> fetchScope()
</dd></dl>
</p></div></div><a class="anchor" name="setFullSyncItems"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"> setFullSyncItems</td>
<td>(</td>
<td class="paramtype">&nbsp;<em>self</em>, </td>
<td class="paramname"></td>
</tr><tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="../akonadi/Akonadi.Item.List.html">Akonadi.Item.List</a>&nbsp;</td>
<td class="paramname"><em>items</em></td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td>
<td></td>
<td width="100%"> </td>
</tr></table>
</div>
<div class="memdoc"><p>Sets the full item list for the collection.
</p>
<p>
Usually the result of a full item listing.
</p>
<p>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd> If the client using this is a resource, all items must have
a valid remote identifier.
</dd></dl> </p>
<p>
</p><dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign="top"><em>items</em>&nbsp;</td><td> A list of items.
</td></tr>
</table></dl>
<p>
</p></div></div><a class="anchor" name="setIncrementalSyncItems"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"> setIncrementalSyncItems</td>
<td>(</td>
<td class="paramtype">&nbsp;<em>self</em>, </td>
<td class="paramname"></td>
</tr><tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="../akonadi/Akonadi.Item.List.html">Akonadi.Item.List</a>&nbsp;</td>
<td class="paramname"><em>changedItems</em>, </td>
</tr>
<tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="../akonadi/Akonadi.Item.List.html">Akonadi.Item.List</a>&nbsp;</td>
<td class="paramname"><em>removedItems</em></td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td>
<td></td>
<td width="100%"> </td>
</tr></table>
</div>
<div class="memdoc"><p>Sets the item lists for incrementally syncing the collection.
</p>
<p>
Usually the result of an incremental remote item listing.
</p>
<p>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd> If the client using this is a resource, all items must have
a valid remote identifier.
</dd></dl> </p>
<p>
</p><dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign="top"><em>changedItems</em>&nbsp;</td><td> A list of items added or changed by the client.

<tr><td></td><td valign="top"><em>removedItems</em>&nbsp;</td><td> A list of items deleted by the client.
</td></tr>
</table></dl>
<p>
</p></div></div><a class="anchor" name="setStreamingEnabled"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"> setStreamingEnabled</td>
<td>(</td>
<td class="paramtype">&nbsp;<em>self</em>, </td>
<td class="paramname"></td>
</tr><tr>
<td class="memname"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"><em>enable</em></td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td>
<td></td>
<td width="100%"> </td>
</tr></table>
</div>
<div class="memdoc"><p>Enable item streaming. Item streaming means that the items delivered by setXItems() calls
are delivered in chunks and you manually indicate when all items have been delivered
by calling deliveryDone().
</p><dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign="top"><em>enable</em>&nbsp;</td><td> true to enable item streaming
</td></tr>
</table></dl>
<p>
</p></div></div><a class="anchor" name="setTotalItems"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname"> setTotalItems</td>
<td>(</td>
<td class="paramtype">&nbsp;<em>self</em>, </td>
<td class="paramname"></td>
</tr><tr>
<td class="memname"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"><em>amount</em></td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td>
<td></td>
<td width="100%"> </td>
</tr></table>
</div>
<div class="memdoc"><p>Set the amount of items which you are going to return in total
by using the setFullSyncItems() method.
</p>
<p>
</p><dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign="top"><em>amount</em>&nbsp;</td><td> The amount of items in total.
</td></tr>
</table></dl>
<p>
</p></div></div><a class="anchor" name="updateItem"></a>
<div class="memitem">
<div class="memproto">
<table class="memname"><tr>
<td class="memname">bool updateItem</td>
<td>(</td>
<td class="paramtype">&nbsp;<em>self</em>, </td>
<td class="paramname"></td>
</tr><tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="../akonadi/Akonadi.Item.html">Akonadi.Item</a>&nbsp;</td>
<td class="paramname"><em>storedItem</em>, </td>
</tr>
<tr>
<td class="memname"></td>
<td></td>
<td class="paramtype"><a href="../akonadi/Akonadi.Item.html">Akonadi.Item</a>&nbsp;</td>
<td class="paramname"><em>newItem</em></td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td>
<td></td>
<td width="100%"> </td>
</tr></table>
</div>
<div class="memdoc"><p>Reimplement this method to customize the synchronization algorithm.
</p>
<p>
You can update the <b>newItem</b> according to the <b>storedItem</b> before
it gets committed.
</p></div></div>
</div>
</div>
</div>

<div id="left">

<div class="menu_box">
<div class="nav_list">
<ul>
<li><a href="../allclasses.html">Full Index</a></li>
</ul>
</div>

<a name="cp-menu" /><div class="menutitle"><div>
  <h2 id="cp-menu-project">Modules</h2>
</div></div>
<div class="nav_list">
<ul><li><a href="../akonadi/index.html">akonadi</a></li>
<li><a href="../dnssd/index.html">dnssd</a></li>
<li><a href="../kdecore/index.html">kdecore</a></li>
<li><a href="../kdeui/index.html">kdeui</a></li>
<li><a href="../khtml/index.html">khtml</a></li>
<li><a href="../kio/index.html">kio</a></li>
<li><a href="../knewstuff/index.html">knewstuff</a></li>
<li><a href="../kparts/index.html">kparts</a></li>
<li><a href="../kutils/index.html">kutils</a></li>
<li><a href="../nepomuk/index.html">nepomuk</a></li>
<li><a href="../phonon/index.html">phonon</a></li>
<li><a href="../plasma/index.html">plasma</a></li>
<li><a href="../polkitqt/index.html">polkitqt</a></li>
<li><a href="../solid/index.html">solid</a></li>
<li><a href="../soprano/index.html">soprano</a></li>
</ul></div></div>

</div>

</div>
  <div class="clearer"/>
</div>

<div id="end_body"></div>
</div>
<div id="footer"><div id="footer_text">
This documentation is maintained by <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;simon&#64;simonzone&#46;com">Simon Edwards</a>.<br />
        KDE<sup>&#174;</sup> and <a href="../images/kde_gear_black.png">the K Desktop Environment<sup>&#174;</sup> logo</a> are registered trademarks of <a href="http://ev.kde.org/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> |
        <a href="http://www.kde.org/contact/impressum.php">Legal</a>
    </div></div>
</body>
</html>