[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