Warning, /pim/akonadi/src/private/protocol.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8" ?>
0002 <protocol version="64">
0003 
0004   <class name="Ancestor">
0005     <enum name="Depth">
0006       <value name="NoAncestor" />
0007       <value name="ParentAncestor" />
0008       <value name="AllAncestors" />
0009     </enum>
0010 
0011     <ctor>
0012       <arg name="id" />
0013       <arg name="remoteId" default="QString()" />
0014     </ctor>
0015 
0016     <param name="id" type="qint64" default="-1" />
0017     <param name="remoteId" type="QString" />
0018     <param name="name" type="QString" />
0019     <param name="attributes" type="Akonadi::Protocol::Attributes" />
0020   </class>
0021 
0022   <class name="PartMetaData">
0023     <enum name="StorageType">
0024       <value name="Internal" />
0025       <value name="External" />
0026       <value name="Foreign" />
0027     </enum>
0028 
0029     <ctor>
0030       <arg name="name" />
0031       <arg name="size" />
0032       <arg name="version" default="0" />
0033       <arg name="storageType" default="Internal" />
0034     </ctor>
0035 
0036     <param name="name" type="QByteArray" />
0037     <param name="size" type="qint64" />
0038     <param name="version" type="int" />
0039     <param name="storageType" type="PartMetaData::StorageType" default="Internal" />
0040   </class>
0041 
0042   <class name="CachePolicy">
0043     <param name="inherit" type="bool" default="true" />
0044     <param name="checkInterval" type="int" default="-1" />
0045     <param name="cacheTimeout" type="int" default="-1" />
0046     <param name="syncOnDemand" type="bool" />
0047     <param name="localParts" type="QStringList" />
0048   </class>
0049 
0050   <class name="CollectionFetchScope">
0051     <enum name="ListFilter">
0052       <value name="NoFilter" value="0" />
0053       <value name="Display" />
0054       <value name="Sync" />
0055       <value name="Index" />
0056       <value name="Enabled" />
0057     </enum>
0058 
0059     <enum name="AncestorRetrieval">
0060       <value name="None" />
0061       <value name="Parent" />
0062       <value name="All" />
0063     </enum>
0064 
0065     <param name="listFilter" type="CollectionFetchScope::ListFilter" default="Enabled" />
0066     <param name="includeStatistics" type="bool" default="false" />
0067     <param name="resource" type="QString" />
0068     <param name="contentMimeTypes" type="QStringList" />
0069     <param name="attributes" type="QSet&lt;QByteArray&gt;" />
0070     <param name="fetchIdOnly" type="bool" default="false" />
0071     <param name="ancestorRetrieval" type="CollectionFetchScope::AncestorRetrieval" default="None" />
0072     <param name="ancestorFetchIdOnly" type="bool" default="false" />
0073     <param name="ancestorAttributes" type="QSet&lt;QByteArray&gt;" />
0074     <param name="ignoreRetrievalErrors" type="bool" default="false" />
0075   </class>
0076 
0077   <class name="TagFetchScope">
0078     <param name="fetchIdOnly" type="bool" default="false" />
0079     <param name="fetchRemoteID" type="bool" default="false" />
0080     <param name="fetchAllAttributes" type="bool" default="true" />
0081     <param name="attributes" type="QSet&lt;QByteArray&gt;" />
0082   </class>
0083 
0084   <class name="FetchLimit">
0085     <ctor>
0086       <arg name="limit" />
0087       <arg name="limitOffset" default="-1" />
0088       <arg name="sortOrder" default="Qt::DescendingOrder" />
0089     </ctor>
0090 
0091     <param name="limit" type="int" default="-1" />
0092     <param name="limitOffset" type="int" default="-1" />
0093     <param name="sortOrder" type="Qt::SortOrder" default="Qt::DescendingOrder" />
0094   </class>
0095 
0096   <!-- Hello //-->
0097   <response name="Hello">
0098     <param name="serverName" type="QString" />
0099     <param name="message" type="QString" />
0100     <param name="protocolVersion" type="int" />
0101     <param name="generation" type="uint" />
0102   </response>
0103 
0104 
0105   <!-- Login //-->
0106   <command name="Login">
0107     <ctor>
0108       <arg name="sessionId" />
0109     </ctor>
0110     <param name="sessionId" type="QByteArray" />
0111   </command>
0112 
0113   <response name="Login" />
0114 
0115 
0116   <!-- Logout //-->
0117   <command name="Logout" />
0118 
0119   <response name="Logout" />
0120 
0121 
0122   <!-- Transaction //-->
0123   <command name="Transaction">
0124     <enum name="Mode">
0125       <value name="Invalid" value="0" />
0126       <value name="Begin" />
0127       <value name="Commit" />
0128       <value name="Rollback" />
0129     </enum>
0130 
0131     <ctor>
0132       <arg name="mode" />
0133     </ctor>
0134 
0135     <param name="mode" type="TransactionCommand::Mode" default="Invalid" />
0136   </command>
0137 
0138   <response name="Transaction" />
0139 
0140 
0141   <!-- Create Item //-->
0142   <command name="CreateItem">
0143     <flag name="MergeMode">
0144       <value name="None" value="0" />
0145       <value name="GID" value="1" />
0146       <value name="RemoteID" value="2" />
0147       <value name="Silent" value="4" />
0148     </flag>
0149 
0150     <param name="mergeModes" type="CreateItemCommand::MergeModes" default="None" />
0151     <param name="collection" type="Scope" />
0152     <param name="itemSize" type="qint64" />
0153     <param name="mimeType" type="QString" />
0154     <param name="gid" type="QString" />
0155     <param name="modificationTime" type="QDateTime" />
0156     <param name="remoteId" type="QString" />
0157     <param name="remoteRevision" type="QString" />
0158     <param name="dateTime" type="QDateTime" />
0159     <param name="flags" type="QSet&lt;QByteArray&gt;" />
0160     <param name="addedFlags" type="QSet&lt;QByteArray&gt;" />
0161     <param name="removedFlags" type="QSet&lt;QByteArray&gt;" />
0162     <param name="tags" type="Scope" />
0163     <param name="addedTags" type="Scope" />
0164     <param name="removedTags" type="Scope" />
0165     <param name="attributes" type="Akonadi::Protocol::Attributes" />
0166     <param name="parts" type="QSet&lt;QByteArray&gt;" />
0167     <param name="flagsOverwritten" type="bool" />
0168   </command>
0169 
0170   <response name="CreateItem"/>
0171 
0172 
0173   <!-- Copy Items //-->
0174   <command name="CopyItems">
0175     <ctor>
0176       <arg name="items" />
0177       <arg name="destination" />
0178     </ctor>
0179 
0180     <param name="items" type="Scope" />
0181     <param name="destination" type="Scope" />
0182   </command>
0183 
0184   <response name="CopyItems" />
0185 
0186 
0187   <!-- Delete Items //-->
0188   <command name="DeleteItems">
0189     <ctor>
0190       <arg name="items" />
0191       <arg name="scopeContext" default="ScopeContext()" />
0192     </ctor>
0193     <param name="items" type="Scope" />
0194     <param name="scopeContext" type="Akonadi::Protocol::ScopeContext" />
0195   </command>
0196 
0197   <response name="DeleteItems" />
0198 
0199 
0200   <!-- Fetch Relations //-->
0201   <command name="FetchRelations">
0202     <ctor>
0203       <arg name="left" />
0204       <arg name="right" />
0205       <arg name="types" default="QList&lt;QByteArray&gt;()" />
0206       <arg name="resource" default="QString()" />
0207     </ctor>
0208     <ctor>
0209       <arg name="side" />
0210       <arg name="types" default="QList&lt;QByteArray&gt;()" />
0211       <arg name="resource" default="QString()" />
0212     </ctor>
0213 
0214     <param name="left" type="qint64" default="-1" />
0215     <param name="right" type="qint64" default="-1" />
0216     <param name="side" type="qint64" default="-1" />
0217     <param name="types" type="QList&lt;QByteArray&gt;" />
0218     <param name="resource" type="QString" />
0219   </command>
0220 
0221   <response name="FetchRelations">
0222     <ctor>
0223       <arg name="left"/>
0224       <arg name="leftMimeType" />
0225       <arg name="right" />
0226       <arg name="rightMimeType" />
0227       <arg name="type" />
0228       <arg name="remoteId" default="QByteArray()" />
0229     </ctor>
0230 
0231     <param name="left" type="qint64" default="-1" />
0232     <param name="leftMimeType" type="QByteArray" />
0233     <param name="right" type="qint64" default="-1" />
0234     <param name="rightMimeType" type="QByteArray" />
0235     <param name="type" type="QByteArray" />
0236     <param name="remoteId" type="QByteArray" />
0237   </response>
0238 
0239 
0240   <!-- Fetch Tags //-->
0241   <command name="FetchTags">
0242     <ctor>
0243         <arg name="scope" />
0244     </ctor>
0245 
0246     <param name="scope" type="Scope"/>
0247     <param name="fetchScope" type="Akonadi::Protocol::TagFetchScope" />
0248   </command>
0249 
0250   <response name="FetchTags">
0251     <ctor>
0252       <arg name="id" />
0253     </ctor>
0254     <ctor>
0255       <arg name="id" />
0256       <arg name="gid" />
0257       <arg name="type" />
0258       <arg name="remoteId" default="QByteArray()" />
0259       <arg name="parentId" default="-1" />
0260       <arg name="attributes" default="Attributes()" />
0261     </ctor>
0262 
0263     <param name="id" type="qint64" default="-1" />
0264     <param name="parentId" type="qint64" default="-1" />
0265     <param name="gid" type="QByteArray" />
0266     <param name="type" type="QByteArray" />
0267     <param name="remoteId" type="QByteArray" />
0268     <param name="attributes" type="Akonadi::Protocol::Attributes" />
0269   </response>
0270 
0271 
0272   <!-- Fetch Items //-->
0273   <command name="FetchItems">
0274     <ctor>
0275       <arg name="scope" />
0276       <arg name="scopeContext" default="ScopeContext()" />
0277       <arg name="itemFetchScope" default="ItemFetchScope()" />
0278       <arg name="tagFetchScope" default="TagFetchScope()" />
0279       <arg name="itemsLimit" default="FetchLimit()" />
0280     </ctor>
0281 
0282     <param name="scope" type="Scope" />
0283     <param name="scopeContext" type="Akonadi::Protocol::ScopeContext" />
0284     <param name="itemFetchScope" type="Akonadi::Protocol::ItemFetchScope" />
0285     <param name="tagFetchScope" type="Akonadi::Protocol::TagFetchScope" />
0286     <param name="itemsLimit" type="Akonadi::Protocol::FetchLimit" />
0287 </command>
0288 
0289   <response name="FetchItems">
0290     <ctor>
0291       <arg name="id" />
0292     </ctor>
0293 
0294     <param name="id" type="qint64" default="-1" />
0295     <param name="revision" type="int" default="-1" />
0296     <param name="parentId" type="qint64" default="-1" />
0297     <param name="remoteId" type="QString" />
0298     <param name="remoteRevision" type="QString" />
0299     <param name="gid" type="QString" />
0300     <param name="size" type="qint64" />
0301     <param name="mimeType" type="QString" />
0302     <param name="mTime" type="QDateTime" />
0303     <param name="flags" type="QList&lt;QByteArray&gt;" />
0304     <param name="tags" type="QList&lt;Akonadi::Protocol::FetchTagsResponse&gt;" />
0305     <param name="virtualReferences" type="QList&lt;qint64&gt;" />
0306     <param name="relations" type="QList&lt;Akonadi::Protocol::FetchRelationsResponse&gt;" />
0307     <param name="ancestors" type="QList&lt;Akonadi::Protocol::Ancestor&gt;" />
0308     <param name="parts" type="QList&lt;Akonadi::Protocol::StreamPayloadResponse&gt;"/>
0309     <param name="cachedParts" type="QList&lt;QByteArray&gt;" />
0310   </response>
0311 
0312 
0313   <!-- Links Items //-->
0314   <command name="LinkItems">
0315     <enum name="Action">
0316       <value name="Link" />
0317       <value name="Unlink" />
0318     </enum>
0319 
0320     <ctor>
0321       <arg name="action" />
0322       <arg name="items" />
0323       <arg name="destination" />
0324     </ctor>
0325 
0326     <param name="items" type="Scope" />
0327     <param name="destination" type="Scope" />
0328     <param name="action" type="LinkItemsCommand::Action"  default="Link" />
0329   </command>
0330 
0331   <response name="LinkItems" />
0332 
0333 
0334   <!-- Modify Items //-->
0335   <command name="ModifyItems">
0336     <flag name="ModifiedPart">
0337       <value name="None" value="0" />
0338       <value name="Flags" value="1" />
0339       <value name="AddedFlags" value="2" />
0340       <value name="RemovedFlags" value="4" />
0341       <value name="Tags" value="8" />
0342       <value name="AddedTags" value="16" />
0343       <value name="RemovedTags" value="32" />
0344       <value name="RemoteID" value="64" />
0345       <value name="RemoteRevision" value="128" />
0346       <value name="GID" value="256" />
0347       <value name="Size" value="512" />
0348       <value name="Parts" value="1024" />
0349       <value name="RemovedParts" value="2048" />
0350       <value name="Attributes" value="4096" />
0351     </flag>
0352 
0353     <ctor>
0354       <arg name="items" />
0355     </ctor>
0356 
0357     <param name="modifiedParts" type="ModifyItemsCommand::ModifiedParts" default="None" readonly="true" />
0358     <param name="items" type="Scope" />
0359     <param name="oldRevision" type="int" default="-1" />
0360     <param name="flags" type="QSet&lt;QByteArray&gt;">
0361       <depends enum="modifiedParts" value="ModifyItemsCommand::Flags" />
0362     </param>
0363     <param name="addedFlags" type="QSet&lt;QByteArray&gt;">
0364       <depends enum="modifiedParts" value="ModifyItemsCommand::AddedFlags" />
0365     </param>
0366     <param name="removedFlags" type="QSet&lt;QByteArray&gt;">
0367       <depends enum="modifiedParts" value="ModifyItemsCommand::RemovedFlags" />
0368     </param>
0369     <param name="tags" type="Scope">
0370       <depends enum="modifiedParts" value="ModifyItemsCommand::Tags" />
0371     </param>
0372     <param name="addedTags" type="Scope">
0373       <depends enum="modifiedParts" value="ModifyItemsCommand::AddedTags" />
0374     </param>
0375     <param name="removedTags" type="Scope">
0376       <depends enum="modifiedParts" value="ModifyItemsCommand::RemovedTags" />
0377     </param>
0378     <param name="remoteId" type="QString">
0379       <depends enum="modifiedParts" value="ModifyItemsCommand::RemoteID" />
0380     </param>
0381     <param name="gid" type="QString">
0382       <depends enum="modifiedParts" value="ModifyItemsCommand::GID" />
0383     </param>
0384     <param name="remoteRevision" type="QString">
0385       <depends enum="modifiedParts" value="ModifyItemsCommand::RemoteRevision" />
0386     </param>
0387     <param name="dirty" type="bool" default="true" />
0388     <param name="invalidateCache" type="bool" />
0389     <param name="noResponse" type="bool" />
0390     <param name="notify" type="bool" default="true" />
0391     <param name="itemSize" type="qint64">
0392       <depends enum="modifiedParts" value="ModifyItemsCommand::Size" />
0393     </param>
0394     <param name="removedParts" type="QSet&lt;QByteArray&gt;">
0395       <depends enum="modifiedParts" value="ModifyItemsCommand::RemovedParts" />
0396     </param>
0397     <param name="parts" type="QSet&lt;QByteArray&gt;">
0398       <depends enum="modifiedParts" value="ModifyItemsCommand::Parts" />
0399     </param>
0400     <param name="attributes" type="Akonadi::Protocol::Attributes">
0401       <depends enum="modifiedParts" value="ModifyItemsCommand::Attributes" />
0402     </param>
0403   </command>
0404 
0405   <response name="ModifyItems">
0406     <ctor>
0407       <arg name="id" />
0408       <arg name="newRevision" />
0409     </ctor>
0410 
0411     <param name="id" type="qint64" default="-1" />
0412     <param name="newRevision" type="int" />
0413     <param name="modificationDateTime" type="QDateTime" />
0414   </response>
0415 
0416 
0417   <!-- Move Items //-->
0418   <command name="MoveItems">
0419     <ctor>
0420       <arg name="items" />
0421       <arg name="destination" />
0422     </ctor>
0423     <ctor>
0424       <arg name="items" />
0425       <arg name="itemsContext" />
0426       <arg name="destination" />
0427     </ctor>
0428 
0429     <param name="items" type="Scope" />
0430     <param name="itemsContext" type="Akonadi::Protocol::ScopeContext" />
0431     <param name="destination" type="Scope" />
0432   </command>
0433 
0434   <response name="MoveItems" />
0435 
0436   <!-- Create Collection //-->
0437   <command name="CreateCollection">
0438     <param name="parent" type="Scope" />
0439     <param name="name" type="QString" />
0440     <param name="remoteId" type="QString" />
0441     <param name="remoteRevision" type="QString" />
0442     <param name="mimeTypes" type="QStringList" />
0443     <param name="cachePolicy" type="Akonadi::Protocol::CachePolicy" />
0444     <param name="attributes" type="Akonadi::Protocol::Attributes" />
0445     <param name="isVirtual" type="bool" />
0446     <param name="enabled" type="bool" default="true" />
0447     <param name="syncPref" type="Tristate" default="Tristate::Undefined" />
0448     <param name="displayPref" type="Tristate" default="Tristate::Undefined" />
0449     <param name="indexPref" type="Tristate" default="Tristate::Undefined" />
0450   </command>
0451 
0452   <response name="CreateCollection" />
0453 
0454 
0455   <!--Copy Collection //-->
0456   <command name="CopyCollection">
0457     <ctor>
0458       <arg name="collection" />
0459       <arg name="destination" />
0460     </ctor>
0461 
0462     <param name="collection" type="Scope" />
0463     <param name="destination" type="Scope" />
0464   </command>
0465 
0466   <response name="CopyCollection" />
0467 
0468 
0469   <!-- Delete Collection //-->
0470   <command name="DeleteCollection">
0471     <ctor>
0472       <arg name="collection" />
0473     </ctor>
0474 
0475     <param name="collection" type="Scope" />
0476   </command>
0477 
0478   <response name="DeleteCollection" />
0479 
0480 
0481   <!--Fetch Collection Statistics //-->
0482   <command name="FetchCollectionStats">
0483     <ctor>
0484       <arg name="collection" />
0485     </ctor>
0486 
0487     <param name="collection" type="Scope" />
0488   </command>
0489 
0490   <response name="FetchCollectionStats">
0491     <ctor>
0492       <arg name="count" />
0493       <arg name="unseen" />
0494       <arg name="size" />
0495     </ctor>
0496 
0497     <param name="count" type="qint64" />
0498     <param name="unseen" type="qint64" />
0499     <param name="size" type="qint64" />
0500   </response>
0501 
0502 
0503   <!-- Fetch Collections //-->
0504   <command name="FetchCollections">
0505     <enum name="Depth">
0506       <value name="BaseCollection" />
0507       <value name="ParentCollection" />
0508       <value name="AllCollections" />
0509     </enum>
0510 
0511     <ctor>
0512       <arg name="collections" />
0513     </ctor>
0514 
0515     <param name="collections" type="Scope" />
0516     <param name="depth" type="FetchCollectionsCommand::Depth" default="BaseCollection" />
0517     <param name="resource" type="QString" />
0518     <param name="mimeTypes" type="QStringList" />
0519     <param name="ancestorsDepth" type="Akonadi::Protocol::Ancestor::Depth" />
0520     <param name="ancestorsAttributes" type="QSet&lt;QByteArray&gt;" />
0521     <param name="enabled" type="bool" />
0522     <param name="syncPref" type="bool" />
0523     <param name="displayPref" type="bool" />
0524     <param name="indexPref" type="bool" />
0525     <param name="fetchStats" type="bool" />
0526   </command>
0527 
0528   <response name="FetchCollections">
0529     <ctor>
0530       <arg name="id" />
0531     </ctor>
0532     <param name="id" type="qint64" default="-1" />
0533     <param name="parentId" type="qint64" default="-1" />
0534     <param name="name" type="QString" />
0535     <param name="mimeTypes" type="QStringList" />
0536     <param name="remoteId" type="QString" />
0537     <param name="remoteRevision" type="QString" />
0538     <param name="resource" type="QString" />
0539     <param name="statistics" type="Akonadi::Protocol::FetchCollectionStatsResponse" />
0540     <param name="searchQuery" type="QString" />
0541     <param name="searchCollections" type="QList&lt;qint64&gt;" />
0542     <param name="ancestors" type="QList&lt;Akonadi::Protocol::Ancestor&gt;" />
0543     <param name="cachePolicy" type="Akonadi::Protocol::CachePolicy" />
0544     <param name="attributes" type="Akonadi::Protocol::Attributes" />
0545     <param name="enabled" type="bool" default="true" />
0546     <param name="displayPref" type="Tristate" default="Tristate::Undefined" />
0547     <param name="syncPref" type="Tristate" default="Tristate::Undefined" />
0548     <param name="indexPref" type="Tristate" default="Tristate::Undefined" />
0549     <param name="isVirtual" type="bool" />
0550   </response>
0551 
0552 
0553   <!-- Modify Collection //-->
0554   <command name="ModifyCollection">
0555     <flag name="ModifiedPart">
0556       <value name="None" value="0" />
0557       <value name="Name" value="1" />
0558       <value name="RemoteID" value="2" />
0559       <value name="RemoteRevision" value="4" />
0560       <value name="ParentID" value="8" />
0561       <value name="MimeTypes" value="16" />
0562       <value name="CachePolicy" value="32" />
0563       <value name="PersistentSearch" value="64" />
0564       <value name="RemovedAttributes" value="128" />
0565       <value name="Attributes" value="256" />
0566       <value name="ListPreferences" value="512" />
0567     </flag>
0568 
0569     <ctor>
0570       <arg name="collection" />
0571     </ctor>
0572 
0573     <param name="modifiedParts" type="ModifyCollectionCommand::ModifiedParts" default="None" readonly="true" />
0574     <param name="collection" type="Scope" />
0575     <param name="parentId" type="qint64" default="-1">
0576       <depends enum="modifiedParts" value="ModifyCollectionCommand::ParentID" />
0577     </param>
0578     <param name="mimeTypes" type="QStringList">
0579       <depends enum="modifiedParts" value="ModifyCollectionCommand::MimeTypes" />
0580     </param>
0581     <param name="cachePolicy" type="Akonadi::Protocol::CachePolicy">
0582       <depends enum="modifiedParts" value="ModifyCollectionCommand::CachePolicy" />
0583     </param>
0584     <param name="name" type="QString">
0585       <depends enum="modifiedParts" value="ModifyCollectionCommand::Name" />
0586     </param>
0587     <param name="remoteId" type="QString">
0588       <depends enum="modifiedParts" value="ModifyCollectionCommand::RemoteID" />
0589     </param>
0590     <param name="remoteRevision" type="QString">
0591       <depends enum="modifiedParts" value="ModifyCollectionCommand::RemoteRevision" />
0592     </param>
0593     <param name="persistentSearchQuery" type="QString">
0594       <depends enum="modifiedParts" value="ModifyCollectionCommand::PersistentSearch" />
0595     </param>
0596     <param name="persistentSearchCollections" type="QList&lt;qint64&gt;">
0597       <depends enum="modifiedParts" value="ModifyCollectionCommand::PersistentSearch" />
0598     </param>
0599     <param name="persistentSearchRecursive" type="bool">
0600       <depends enum="modifiedParts" value="ModifyCollectionCommand::PersistentSearch" />
0601     </param>
0602     <param name="persistentSearchRemote" type="bool">
0603       <depends enum="modifiedParts" value="ModifyCollectionCommand::PersistentSearch" />
0604     </param>
0605     <param name="removedAttributes" type="QSet&lt;QByteArray&gt;">
0606       <depends enum="modifiedParts" value="ModifyCollectionCommand::RemovedAttributes" />
0607     </param>
0608     <param name="attributes" type="Akonadi::Protocol::Attributes">
0609       <depends enum="modifiedParts" value="ModifyCollectionCommand::Attributes" />
0610     </param>
0611     <param name="enabled" type="bool" default="true">
0612       <depends enum="modifiedParts" value="ModifyCollectionCommand::ListPreferences" />
0613     </param>
0614     <param name="syncPref" type="Tristate" default="Tristate::Undefined">
0615       <depends enum="modifiedParts" value="ModifyCollectionCommand::ListPreferences" />
0616     </param>
0617     <param name="displayPref" type="Tristate" default="Tristate::Undefined">
0618       <depends enum="modifiedParts" value="ModifyCollectionCommand::ListPreferences" />
0619     </param>
0620     <param name="indexPref" type="Tristate" default="Tristate::Undefined">
0621       <depends enum="modifiedParts" value="ModifyCollectionCommand::ListPreferences" />
0622     </param>
0623   </command>
0624 
0625   <response name="ModifyCollection" />
0626 
0627 
0628   <!-- Move Collection //-->
0629   <command name="MoveCollection">
0630     <ctor>
0631       <arg name="collection" />
0632       <arg name="destination" />
0633     </ctor>
0634 
0635     <param name="collection" type="Scope" />
0636     <param name="destination" type="Scope" />
0637   </command>
0638 
0639   <response name="MoveCollection" />
0640 
0641 
0642   <!-- Search Collection //-->
0643   <command name="Search">
0644     <ctor>
0645       <arg name="query" />
0646     </ctor>
0647 
0648     <param name="mimeTypes" type="QStringList" />
0649     <param name="collections" type="QList&lt;qint64&gt;" />
0650     <param name="query" type="QString" />
0651     <param name="itemFetchScope" type="Akonadi::Protocol::ItemFetchScope" />
0652     <param name="tagFetchScope" type="Akonadi::Protocol::TagFetchScope" />
0653     <param name="recursive" type="bool" />
0654     <param name="remote" type="bool" />
0655   </command>
0656 
0657   <response name="Search" />
0658 
0659 
0660   <!-- Search Result //-->
0661   <command name="SearchResult">
0662     <ctor>
0663       <arg name="searchId" />
0664       <arg name="collectionId" />
0665       <arg name="result" />
0666     </ctor>
0667 
0668     <param name="searchId" type="QByteArray" />
0669     <param name="collectionId" type="qint64" default="-1" />
0670     <param name="result" type="Scope" />
0671   </command>
0672 
0673   <response name="SearchResult" />
0674 
0675 
0676   <!-- Store Search //-->
0677   <command name="StoreSearch">
0678     <param name="name" type="QString" />
0679     <param name="query" type="QString" />
0680     <param name="mimeTypes" type="QStringList" />
0681     <param name="queryCollections" type="QList&lt;qint64&gt;" />
0682     <param name="remote" type="bool" />
0683     <param name="recursive" type="bool" />
0684   </command>
0685 
0686   <response name="StoreSearch" />
0687 
0688 
0689   <!-- Create Tag //-->
0690   <command name="CreateTag">
0691     <param name="gid" type="QByteArray" />
0692     <param name="remoteId" type="QByteArray" />
0693     <param name="type" type="QByteArray" />
0694     <param name="attributes" type="Akonadi::Protocol::Attributes" />
0695     <param name="parentId" type="qint64" default="-1" />
0696     <param name="merge" type="bool" />
0697   </command>
0698 
0699   <response name="CreateTag" />
0700 
0701 
0702   <!-- Delete Tag //-->
0703   <command name="DeleteTag">
0704     <ctor>
0705       <arg name="tag" />
0706     </ctor>
0707 
0708     <param name="tag" type="Scope" />
0709   </command>
0710 
0711   <response name="DeleteTag" />
0712 
0713 
0714   <!-- Modify Tag //-->
0715   <command name="ModifyTag">
0716     <flag name="ModifiedPart">
0717       <value name="None" value="0" />
0718       <value name="ParentId" value="1" />
0719       <value name="Type" value="2" />
0720       <value name="RemoteId" value="4" />
0721       <value name="RemovedAttributes" value="8" />
0722       <value name="Attributes" value="16" />
0723     </flag>
0724 
0725     <ctor>
0726       <arg name="tagId" />
0727     </ctor>
0728 
0729     <param name="modifiedParts" type="ModifyTagCommand::ModifiedParts" default="None" readonly="true" />
0730     <param name="tagId" type="qint64" default="-1" />
0731     <param name="parentId" type="qint64" default="-1">
0732       <depends enum="modifiedParts" value="ModifyTagCommand::ParentId" />
0733     </param>
0734     <param name="type" type="QByteArray">
0735       <depends enum="modifiedParts" value="ModifyTagCommand::Type" />
0736     </param>
0737     <param name="remoteId" type="QByteArray">
0738       <depends enum="modifiedParts" value="ModifyTagCommand::RemoteId" />
0739     </param>
0740     <param name="removedAttributes" type="QSet&lt;QByteArray&gt;">
0741       <depends enum="modifiedParts" value="ModifyTagCommand::RemovedAttributes" />
0742     </param>
0743     <param name="attributes" type="Akonadi::Protocol::Attributes">
0744       <depends enum="modifiedParts" value="ModifyTagCommand::Attributes" />
0745     </param>
0746   </command>
0747 
0748   <response name="ModifyTag" />
0749 
0750 
0751   <!-- Modify Relation //-->
0752   <command name="ModifyRelation">
0753     <ctor>
0754       <arg name="left" />
0755       <arg name="right" />
0756       <arg name="type" />
0757       <arg name="remoteId" default="QByteArray()" />
0758     </ctor>
0759 
0760     <param name="left" type="qint64" default="-1" />
0761     <param name="right" type="qint64" default="-1" />
0762     <param name="type" type="QByteArray" />
0763     <param name="remoteId" type="QByteArray" />
0764   </command>
0765 
0766   <response name="ModifyRelation" />
0767 
0768 
0769   <!-- Remove Relations //-->
0770   <command name="RemoveRelations">
0771     <ctor>
0772       <arg name="left" />
0773       <arg name="right" />
0774       <arg name="type" default="QByteArray()" />
0775     </ctor>
0776 
0777     <param name="left" type="qint64" default="-1" />
0778     <param name="right" type="qint64" default="-1" />
0779     <param name="type" type="QByteArray" />
0780   </command>
0781 
0782   <response name="RemoveRelations" />
0783 
0784 
0785   <!-- Select Resource //-->
0786   <command name="SelectResource">
0787     <ctor>
0788       <arg name="resourceId" />
0789     </ctor>
0790 
0791     <param name="resourceId" type="QString" />
0792   </command>
0793 
0794   <response name="SelectResource" />
0795 
0796 
0797   <!-- Stream Payload //-->
0798   <command name="StreamPayload">
0799     <enum name="Request">
0800       <value name="MetaData" />
0801       <value name="Data" />
0802     </enum>
0803 
0804     <ctor>
0805       <arg name="payloadName" />
0806       <arg name="request" />
0807       <arg name="destination" default="QString()" />
0808     </ctor>
0809 
0810     <param name="payloadName" type="QByteArray" />
0811     <param name="destination" type="QString" />
0812     <param name="request" type="StreamPayloadCommand::Request" default="MetaData" />
0813   </command>
0814 
0815   <response name="StreamPayload">
0816     <ctor>
0817       <arg name="payloadName" />
0818       <arg name="metaData" default="PartMetaData()" />
0819     </ctor>
0820     <ctor>
0821       <arg name="payloadName" />
0822       <arg name="data" />
0823     </ctor>
0824     <ctor>
0825       <arg name="payloadName" />
0826       <arg name="metaData" />
0827       <arg name="data" />
0828     </ctor>
0829 
0830     <param name="payloadName" type="QByteArray" />
0831     <param name="metaData" type="Akonadi::Protocol::PartMetaData" />
0832     <param name="data" type="QByteArray" />
0833   </response>
0834 
0835 
0836   <!-- Item Change Notification //-->
0837   <notification name="ItemChange">
0838     <enum name="Operation">
0839       <value name="InvalidOp" value="0"/>
0840       <value name="Add" />
0841       <value name="Modify" />
0842       <value name="Move" />
0843       <value name="Remove" />
0844       <value name="Link" />
0845       <value name="Unlink" />
0846       <value name="ModifyFlags" />
0847       <value name="ModifyTags" />
0848       <value name="ModifyRelations" />
0849     </enum>
0850 
0851     <param name="operation" type="ItemChangeNotification::Operation" default="InvalidOp" />
0852     <param name="resource" type="QByteArray" />
0853     <param name="parentCollection" type="qint64" default="-1"/>
0854     <param name="parentDestCollection" type="qint64" default="-1" />
0855     <param name="destinationResource" type="QByteArray" />
0856     <param name="itemParts" type="QSet&lt;QByteArray&gt;" />
0857     <param name="addedFlags" type="QSet&lt;QByteArray&gt;" />
0858     <param name="removedFlags" type="QSet&lt;QByteArray&gt;" />
0859     <param name="addedTags" type="QSet&lt;qint64&gt;" />
0860     <param name="removedTags" type="QSet&lt;qint64&gt;" />
0861     <param name="addedRelations" type="QSet&lt;Akonadi::Protocol::ChangeNotification::Relation&gt;" />
0862     <param name="removedRelations" type="QSet&lt;Akonadi::Protocol::ChangeNotification::Relation&gt;" />
0863 
0864     <param name="mustRetrieve" type="bool" default="false" />
0865 
0866     <param name="items" type="QList&lt;Akonadi::Protocol::FetchItemsResponse&gt;" asReference="true" />
0867   </notification>
0868 
0869   <!-- Collection Change Notification //-->
0870   <notification name="CollectionChange">
0871     <enum name="Operation">
0872       <value name="InvalidOp" />
0873       <value name="Add" />
0874       <value name="Modify" />
0875       <value name="Move" />
0876       <value name="Remove" />
0877       <value name="Subscribe" />
0878       <value name="Unsubscribe" />
0879     </enum>
0880 
0881     <param name="operation" type="CollectionChangeNotification::Operation" default="InvalidOp" />
0882     <param name="resource" type="QByteArray" />
0883     <param name="parentCollection" type="qint64" default="-1"/>
0884     <param name="parentDestCollection" type="qint64" default="-1" />
0885     <param name="destinationResource" type="QByteArray" />
0886     <param name="changedParts" type="QSet&lt;QByteArray&gt;" />
0887 
0888     <param name="collection" type="Akonadi::Protocol::FetchCollectionsResponse" asReference="true" />
0889   </notification>
0890 
0891   <!-- Tag Change Notification //-->
0892   <notification name="TagChange">
0893     <enum name="Operation">
0894       <value name="InvalidOp" />
0895       <value name="Add" />
0896       <value name="Modify" />
0897       <value name="Remove" />
0898     </enum>
0899 
0900     <param name="operation" type="TagChangeNotification::Operation" default="InvalidOp" />
0901     <param name="resource" type="QByteArray" />
0902 
0903     <param name="tag" type="Akonadi::Protocol::FetchTagsResponse" asReference="true" />
0904   </notification>
0905 
0906   <!-- Relation Change Notification //-->
0907   <notification name="RelationChange">
0908     <enum name="Operation">
0909       <value name="InvalidOp" />
0910       <value name="Add" />
0911       <value name="Remove" />
0912     </enum>
0913 
0914     <param name="operation" type="RelationChangeNotification::Operation" default="InvalidOp" />
0915 
0916     <param name="relation" type="Akonadi::Protocol::FetchRelationsResponse" asReference="true" />
0917   </notification>
0918 
0919   <!--Create Subscription //-->
0920   <command name="CreateSubscription">
0921     <ctor>
0922       <arg name="subscriberName" />
0923       <arg name="session" default="QByteArray()" />
0924   </ctor>
0925     <param name="subscriberName" type="QByteArray" />
0926     <param name="session" type="QByteArray" />
0927   </command>
0928 
0929   <response name="CreateSubscription" />
0930 
0931 
0932   <!-- Modify Subscription //-->
0933   <command name="ModifySubscription">
0934     <flag name="ModifiedPart">
0935       <value name="None" value="0" />
0936       <value name="Collections" value="1 &lt;&lt; 0" />
0937       <value name="Items" value="1 &lt;&lt; 1" />
0938       <value name="Tags" value="1 &lt;&lt; 2" />
0939       <value name="Types" value="1 &lt;&lt; 3" />
0940       <value name="Resources" value="1 &lt;&lt; 4" />
0941       <value name="MimeTypes" value="1 &lt;&lt; 5" />
0942       <value name="AllFlag" value="1 &lt;&lt; 6" />
0943       <value name="ExclusiveFlag" value="1 &lt;&lt; 7" />
0944       <value name="Sessions" value="1 &lt;&lt; 8" />
0945       <value name="Add" value="1 &lt;&lt; 9" />
0946       <value name="Remove" value="1 &lt;&lt; 10" />
0947       <value name="ItemFetchScope" value="1 &lt;&lt; 11" />
0948       <value name="CollectionFetchScope" value="1 &lt;&lt; 12" />
0949       <value name="TagFetchScope" value="1 &lt;&lt; 13" />
0950     </flag>
0951 
0952     <enum name="ChangeType">
0953       <value name="NoType" />
0954       <value name="ItemChanges" />
0955       <value name="CollectionChanges" />
0956       <value name="TagChanges" />
0957       <value name="RelationChanges" />
0958       <value name="SubscriptionChanges" />
0959       <value name="ChangeNotifications" />
0960     </enum>
0961 
0962     <param name="modifiedParts" type="ModifySubscriptionCommand::ModifiedParts" default="None" readonly="true" />
0963     <param name="subscriberName" type="QByteArray" />
0964     <param name="startMonitoringCollections" type="QList&lt;qint64&gt;">
0965       <setter name="startMonitoringCollection" type="qint64">
0966         <append name="startMonitoringCollections" />
0967         <remove name="stopMonitoringCollections" />
0968       </setter>
0969       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Collections" />
0970       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Add" />
0971     </param>
0972     <param name="stopMonitoringCollections" type="QList&lt;qint64&gt;">
0973       <setter name="stopMonitoringCollection" type="qint64">
0974         <append name="stopMonitoringCollections" />
0975         <remove name="startMonitoringCollections" />
0976       </setter>
0977       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Collections" />
0978       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Remove" />
0979     </param>
0980     <param name="startMonitoringItems" type="QList&lt;qint64&gt;">
0981       <setter name="startMonitoringItem" type="qint64">
0982         <append name="startMonitoringItems" />
0983         <remove name="stopMonitoringItems" />
0984       </setter>
0985       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Items" />
0986       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Add" />
0987     </param>
0988     <param name="stopMonitoringItems" type="QList&lt;qint64&gt;">
0989       <setter name="stopMonitoringItem" type="qint64">
0990         <append name="stopMonitoringItems" />
0991         <remove name="startMonitoringItems" />
0992       </setter>
0993       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Items" />
0994       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Remove" />
0995     </param>
0996     <param name="startMonitoringTags" type="QList&lt;qint64&gt;">
0997       <setter name="startMonitoringTag" type="qint64">
0998         <append name="startMonitoringTags" />
0999         <remove name="stopMonitoringTags" />
1000       </setter>
1001       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Tags" />
1002       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Add" />
1003     </param>
1004     <param name="stopMonitoringTags" type="QList&lt;qint64&gt;">
1005       <setter name="stopMonitoringTag" type="qint64">
1006         <append name="stopMonitoringTags" />
1007         <remove name="startMonitoringTags" />
1008       </setter>
1009       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Tags" />
1010       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Remove" />
1011     </param>
1012     <param name="startMonitoringTypes" type="QList&lt;ModifySubscriptionCommand::ChangeType&gt;">
1013       <setter name="startMonitoringType" type="ModifySubscriptionCommand::ChangeType">
1014         <append name="startMonitoringTypes" />
1015         <remove name="stopMonitoringTypes" />
1016       </setter>
1017       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Types" />
1018       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Add" />
1019     </param>
1020     <param name="stopMonitoringTypes" type="QList&lt;ModifySubscriptionCommand::ChangeType&gt;">
1021       <setter name="stopMonitoringType" type="ModifySubscriptionCommand::ChangeType">
1022         <append name="stopMonitoringTypes" />
1023         <remove name="startMonitoringTypes" />
1024       </setter>
1025       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Types" />
1026       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Remove" />
1027     </param>
1028     <param name="startMonitoringResources" type="QList&lt;QByteArray&gt;">
1029       <setter name="startMonitoringResource" type="QByteArray">
1030         <append name="startMonitoringResources" />
1031         <remove name="stopMonitoringResources" />
1032       </setter>
1033       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Resources" />
1034       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Add" />
1035     </param>
1036     <param name="stopMonitoringResources" type="QList&lt;QByteArray&gt;">
1037       <setter name="stopMonitoringResource" type="QByteArray">
1038         <append name="stopMonitoringResources" />
1039         <remove name="startMonitoringResources" />
1040       </setter>
1041       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Resources" />
1042       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Remove" />
1043     </param>
1044     <param name="startMonitoringMimeTypes" type="QStringList">
1045       <setter name="startMonitoringMimeType" type="QString">
1046         <append name="startMonitoringMimeTypes" />
1047         <remove name="stopMonitoringMimeTypes" />
1048       </setter>
1049       <depends enum="modifiedParts" value="ModifySubscriptionCommand::MimeTypes" />
1050       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Add" />
1051     </param>
1052     <param name="stopMonitoringMimeTypes" type="QStringList">
1053       <setter name="stopMonitoringMimeType" type="QString">
1054         <append name="stopMonitoringMimeTypes" />
1055         <remove name="startMonitoringMimeTypes" />
1056       </setter>
1057       <depends enum="modifiedParts" value="ModifySubscriptionCommand::MimeTypes" />
1058       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Remove" />
1059     </param>
1060     <param name="allMonitored" type="bool">
1061       <depends enum="modifiedParts" value="ModifySubscriptionCommand::AllFlag" />
1062     </param>
1063     <param name="isExclusive" type="bool">
1064       <depends enum="modifiedParts" value="ModifySubscriptionCommand::ExclusiveFlag" />
1065     </param>
1066     <param name="startIgnoringSessions" type="QList&lt;QByteArray&gt;">
1067       <setter name="startIgnoringSession" type="QByteArray">
1068         <append name="startIgnoringSessions" />
1069         <remove name="stopIgnoringSessions" />
1070       </setter>
1071       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Sessions" />
1072       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Add" />
1073     </param>
1074     <param name="stopIgnoringSessions" type="QList&lt;QByteArray&gt;">
1075       <setter name="stopIgnoringSession" type="QByteArray">
1076         <append name="stopIgnoringSessions" />
1077         <remove name="startIgnoringSessions" />
1078       </setter>
1079       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Sessions" />
1080       <depends enum="modifiedParts" value="ModifySubscriptionCommand::Remove" />
1081     </param>
1082     <param name="itemFetchScope" type="Akonadi::Protocol::ItemFetchScope">
1083       <depends enum="modifiedParts" value="ModifySubscriptionCommand::ItemFetchScope" />
1084     </param>
1085     <param name="collectionFetchScope" type="Akonadi::Protocol::CollectionFetchScope">
1086       <depends enum="modifiedParts" value="ModifySubscriptionCommand::CollectionFetchScope" />
1087     </param>
1088     <param name="tagFetchScope" type="Akonadi::Protocol::TagFetchScope">
1089       <depends enum="modifiedParts" value="ModifySubscriptionCommand::TagFetchScope" />
1090     </param>
1091   </command>
1092 
1093   <response name="ModifySubscription" />
1094 
1095   <!-- Subscription Change Notification //-->
1096   <notification name="SubscriptionChange">
1097     <enum name="Operation">
1098       <value name="InvalidOp" />
1099       <value name="Add" />
1100       <value name="Modify" />
1101       <value name="Remove" />
1102     </enum>
1103 
1104     <param name="operation" type="SubscriptionChangeNotification::Operation" default="InvalidOp" />
1105     <param name="subscriber" type="QByteArray" />
1106     <param name="collections" type="QSet&lt;qint64&gt;" />
1107     <param name="items" type="QSet&lt;qint64&gt;" />
1108     <param name="tags" type="QSet&lt;qint64&gt;" />
1109     <param name="types" type="QSet&lt;ModifySubscriptionCommand::ChangeType&gt;" />
1110     <param name="mimeTypes" type="QSet&lt;QString&gt;" />
1111     <param name="resources" type="QSet&lt;QByteArray&gt;" />
1112     <param name="ignoredSessions" type="QSet&lt;QByteArray&gt;" />
1113     <param name="allMonitored" type="bool" />
1114     <param name="exclusive" type="bool" />
1115     <param name="itemFetchScope" type="Akonadi::Protocol::ItemFetchScope" />
1116     <param name="tagFetchScope" type="Akonadi::Protocol::TagFetchScope" />
1117     <param name="collectionFetchScope" type="Akonadi::Protocol::CollectionFetchScope" />
1118   </notification>
1119 
1120   <!-- Debug Change Notification //-->
1121   <notification name="DebugChange">
1122     <param name="notification" type="Akonadi::Protocol::ChangeNotificationPtr" />
1123     <param name="listeners" type="QList&lt;QByteArray&gt;" />
1124     <param name="timestamp" type="qint64" default="0" />
1125   </notification>
1126 
1127 </protocol>