[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/akonadi/libakonadi
From: Volker Krause <vkrause () kde ! org>
Date: 2008-03-09 17:39:10
Message-ID: 1205084350.927944.29431.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 783817 by vkrause:
Since deriving from ItemFetchJob is not needed anymore since quite some
time already, we also don't need to expose internal parsing methods.
M +39 -50 itemfetchjob.cpp
M +0 -15 itemfetchjob.h
--- trunk/KDE/kdepim/akonadi/libakonadi/itemfetchjob.cpp #783816:783817
@@ -134,26 +134,56 @@
if ( begin >= 0 ) {
// split fetch response into key/value pairs
- QList<QByteArray> fetch;
- ImapParser::parseParenthesizedList( data, fetch, begin + 6 );
+ QList<QByteArray> fetchResponse;
+ ImapParser::parseParenthesizedList( data, fetchResponse, begin + 6 );
// create a new item object
- Item item = createItem( fetch );
+ int uid = -1;
+ int rev = -1;
+ QString rid;
+ QString mimeType;
+
+ for ( int i = 0; i < fetchResponse.count() - 1; i += 2 ) {
+ const QByteArray key = fetchResponse.value( i );
+ const QByteArray value = fetchResponse.value( i + 1 );
+
+ if ( key == "UID" )
+ uid = value.toInt();
+ else if ( key == "REV" )
+ rev = value.toInt();
+ else if ( key == "REMOTEID" )
+ rid = QString::fromUtf8( value );
+ else if ( key == "MIMETYPE" )
+ mimeType = QString::fromLatin1( value );
+ }
+
+ if ( uid < 0 || rev < 0 || mimeType.isEmpty() ) {
+ kWarning( 5250 ) << "Broken fetch response: UID, RID, REV or MIMETYPE missing!";
+ return;
+ }
+
+ Item item( DataReference( uid, rid ) );
+ item.setRev( rev );
+ item.setMimeType( mimeType );
if ( !item.isValid() )
return;
// parse fetch response fields
- for ( int i = 0; i < fetch.count() - 1; i += 2 ) {
- const QByteArray key = fetch.value( i );
+ for ( int i = 0; i < fetchResponse.count() - 1; i += 2 ) {
+ const QByteArray key = fetchResponse.value( i );
// skip stuff we dealt with already
if ( key == "UID" || key == "REV" || key == "REMOTEID" || key == "MIMETYPE" )
continue;
// flags
- if ( key == "FLAGS" )
- parseFlags( fetch[i + 1], item );
- else {
+ if ( key == "FLAGS" ) {
+ QList<QByteArray> flags;
+ ImapParser::parseParenthesizedList( fetchResponse[i + 1], flags );
+ foreach ( const QByteArray flag, flags ) {
+ item.setFlag( flag );
+ }
+ } else {
try {
- item.addPart( QString::fromLatin1(key), fetch.value( i+1 ) );
+ item.addPart( QString::fromLatin1(key), fetchResponse.value( i+1 ) );
} catch ( ItemSerializerException &e ) {
// FIXME how do we react to this? Should we still append?
kWarning( 5250 ) << "Failed to construct the payload of type: " << item.mimeType();
@@ -176,47 +206,6 @@
return d->items;
}
-Item ItemFetchJob::createItem(const QList< QByteArray > & fetchResponse)
-{
- int uid = -1;
- int rev = -1;
- QString rid;
- QString mimeType;
-
- for ( int i = 0; i < fetchResponse.count() - 1; i += 2 ) {
- const QByteArray key = fetchResponse.value( i );
- const QByteArray value = fetchResponse.value( i + 1 );
-
- if ( key == "UID" )
- uid = value.toInt();
- else if ( key == "REV" )
- rev = value.toInt();
- else if ( key == "REMOTEID" )
- rid = QString::fromUtf8( value );
- else if ( key == "MIMETYPE" )
- mimeType = QString::fromLatin1( value );
- }
-
- if ( uid < 0 || rev < 0 || mimeType.isEmpty() ) {
- kWarning( 5250 ) << "Broken fetch response: UID, RID, REV or MIMETYPE missing!";
- return Item();
- }
-
- Item item( DataReference( uid, rid ) );
- item.setRev( rev );
- item.setMimeType( mimeType );
- return item;
-}
-
-void ItemFetchJob::parseFlags(const QByteArray & flagData, Item &item)
-{
- QList<QByteArray> flags;
- ImapParser::parseParenthesizedList( flagData, flags );
- foreach ( const QByteArray flag, flags ) {
- item.setFlag( flag );
- }
-}
-
void ItemFetchJob::setCollection(const Collection &collection)
{
d->collection = collection;
--- trunk/KDE/kdepim/akonadi/libakonadi/itemfetchjob.h #783816:783817
@@ -92,21 +92,6 @@
virtual void doStart();
virtual void doHandleResponse( const QByteArray &tag, const QByteArray &data );
- /**
- Returns an item with uid, rid and mimetype set. Ie. basically everything
- the item de-serializer needs to start its work.
- @param fetchResponse The IMAP fetch response, already split into
- name/value pairs.
- */
- Item createItem( const QList<QByteArray> &fetchResponse );
-
- /**
- Parses the given flag data and sets them on the given item.
- @param flagData The unparsed flag data of the fetch response
- @param item The corresponding item
- */
- void parseFlags( const QByteArray &flagData, Item &item );
-
private:
class Private;
Private* const d;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic