[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/pim/akonadi/exchange
From:       Shaheed Haque <srhaque () theiet ! org>
Date:       2013-04-22 20:58:22
Message-ID: 20130422205822.1CBDFAC87A () svn ! kde ! org
[Download RAW message or body]

SVN commit 1350682 by shaheed:

The message class name allows for subclassing. And in the
case of email folders, message class IPM.Schedule.Meeting
is to be expected.


 M  +5 -3      calendar/excalresource.cpp  
 M  +4 -2      contacts/exgalresource.cpp  
 M  +6 -3      mail/exmailresource.cpp  


--- trunk/playground/pim/akonadi/exchange/calendar/excalresource.cpp #1350681:1350682
@@ -661,6 +661,7 @@
     struct TimeZoneStruct *timezone = 0;
     AppointmentRecurrencePattern *pattern = 0;
     enum RecurFrequency recurrenceType = (enum RecurFrequency)0;
+    QString messageClass;
     bool reminderSet = false;
     QDateTime reminderTime;
     uint32_t reminderDelta = 0;
@@ -718,9 +719,10 @@
             break;
         case PidTagMessageClass:
             // Sanity check the message class.
-            if (!property.value().toString().startsWith(QLatin1String("IPM.Appointment"))) {
-                if (QLatin1String("IPM.Note") != property.value().toString()) {
-                    error() << "retrieved item is not an appointment:" << property.value().toString();
+            messageClass = property.value().toString();
+            if (!messageClass.startsWith(QLatin1String("IPM.Appointment"))) {
+                if (!messageClass.startsWith(QLatin1String("IPM.Note"))) {
+                    error() << "retrieved item is not an appointment:" << messageClass;
                     return false;
                 } else {
                     embeddedInBody = true;
--- trunk/playground/pim/akonadi/exchange/contacts/exgalresource.cpp #1350681:1350682
@@ -243,6 +243,7 @@
     static QString separator = QString::fromAscii(", ");
     unsigned displayType = DT_MAILUSER;
     unsigned objectType = MAPI_MAILUSER;
+    QString messageClass;
     QString email;
     QString addressType;
     QString officeLocation;
@@ -272,8 +273,9 @@
         switch (property.tag()) {
         case PidTagMessageClass:
             // Sanity check the message class.
-            if (QLatin1String("IPM.Contact") != property.value().toString()) {
-                kError() << "retrieved item is not a contact:" << property.value().toString();
+            messageClass = property.value().toString();
+            if (!messageClass.startsWith(QLatin1String("IPM.Contact"))) {
+                kError() << "retrieved item is not a contact:" << messageClass;
                 return false;
             }
             break;
--- trunk/playground/pim/akonadi/exchange/mail/exmailresource.cpp #1350681:1350682
@@ -458,6 +458,7 @@
 bool MapiNote::preparePayload()
 {
     unsigned index;
+    QString messageClass;
     unsigned codepage = 0;
     QString textBody;
     QString htmlBody;
@@ -558,9 +559,11 @@
         switch (property.tag()) {
         case PidTagMessageClass:
             // Sanity check the message class.
-            if ((QLatin1String("IPM.Note") != property.value().toString()) &&
-                (QLatin1String("Remote.IPM.Note") != property.value().toString())){
-                error() << "retrieved item is not an email or a header:" << property.value().toString();
+            messageClass = property.value().toString();
+            if (!messageClass.startsWith(QLatin1String("IPM.Note")) &&
+                !messageClass.startsWith(QLatin1String("Remote.IPM.Note")) &&
+                !messageClass.startsWith(QLatin1String("IPM.Schedule.Meeting"))) {
+                error() << "retrieved item is not an email or a header:" << messageClass;
                 return false;
             }
             break;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic