akonadi
collectionmovejob.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "collectionmovejob.h"
00021 #include "collection.h"
00022 #include "job_p.h"
00023
00024 using namespace Akonadi;
00025
00026 class Akonadi::CollectionMoveJobPrivate : public JobPrivate
00027 {
00028 public:
00029 CollectionMoveJobPrivate( CollectionMoveJob *parent )
00030 : JobPrivate( parent )
00031 {
00032 }
00033
00034 Collection collection;
00035 Collection destination;
00036 };
00037
00038 CollectionMoveJob::CollectionMoveJob( const Collection &collection, const Collection &destination, QObject * parent )
00039 : Job( new CollectionMoveJobPrivate( this ), parent )
00040 {
00041 Q_D( CollectionMoveJob );
00042
00043 Q_ASSERT( collection.isValid() );
00044 d->collection = collection;
00045 d->destination = destination;
00046 }
00047
00048 void CollectionMoveJob::doStart()
00049 {
00050 Q_D( CollectionMoveJob );
00051 if ( !d->collection.isValid() || !d->destination.isValid() ) {
00052 setError( Unknown );
00053 setErrorText( QLatin1String("Invalid collection specified") );
00054 emitResult();
00055 return;
00056 }
00057
00058 const QByteArray command = d->newTag() + " COLMOVE " + QByteArray::number( d->collection.id() )
00059 + ' ' + QByteArray::number( d->destination.id() ) + '\n';
00060 d->writeData( command );
00061 }
00062
00063 #include "collectionmovejob.moc"