akonadi
linkjob.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "linkjob.h"
00021
00022 #include "collection.h"
00023 #include "job_p.h"
00024 #include <imapset_p.h>
00025
00026 using namespace Akonadi;
00027
00028 class Akonadi::LinkJobPrivate : public JobPrivate
00029 {
00030 public:
00031 LinkJobPrivate( LinkJob *parent )
00032 : JobPrivate( parent )
00033 {
00034 }
00035
00036 Collection collection;
00037 ImapSet set;
00038 };
00039
00040 LinkJob::LinkJob( const Collection &collection, const Item::List &items, QObject *parent ) :
00041 Job( new LinkJobPrivate( this ), parent )
00042 {
00043 Q_D( LinkJob );
00044 d->collection = collection;
00045 QList<Item::Id> ids;
00046 foreach ( const Item &item, items )
00047 ids << item.id();
00048 d->set.add( ids );
00049 }
00050
00051 LinkJob::~LinkJob()
00052 {
00053 }
00054
00055 void LinkJob::doStart()
00056 {
00057 Q_D( LinkJob );
00058
00059 QByteArray command = d->newTag();
00060 command += " LINK ";
00061 command += QByteArray::number( d->collection.id() );
00062 command += ' ';
00063 command += d->set.toImapSequenceSet();
00064 command += '\n';
00065 d->writeData( command );
00066 }
00067
00068 #include "linkjob.moc"