[kmobiletools] KDE/kdepim/kmobiletools

Marco Gulino marco at kmobiletools.org
Thu Jun 21 14:15:50 CEST 2007


SVN commit 678440 by gulino:

Adding a very_basic (and probably not working) akonadi serializer plugin, derived from Mail's one.
Fixing testlibkmobiletools compilation.
date() as KMime::Header in SMS class.


 M  +1 -1      kmobiletools/libkmobiletools/CMakeLists.txt  
 A             kmobiletools/libkmobiletools/akonadi (directory)  
 A             kmobiletools/libkmobiletools/akonadi/CMakeLists.txt  
 A             kmobiletools/libkmobiletools/akonadi/akonadi_serializer_sms.cpp   [License: LGPL (v2+)]
 A             kmobiletools/libkmobiletools/akonadi/akonadi_serializer_sms.desktop  
 A             kmobiletools/libkmobiletools/akonadi/akonadi_serializer_sms.h   [License: LGPL (v2+)]
 M  +8 -5      kmobiletools/libkmobiletools/sms.cpp  
 M  +4 -0      kmobiletools/libkmobiletools/sms.h  
 M  +1 -1      kmobiletools/libkmobiletools/smslist.cpp  
 M  +4 -2      tests/testlibkmobiletools/CMakeLists.txt  
 M  +19 -6     tests/testlibkmobiletools/testlibkmobiletools.cpp  
 M  +3 -1      tests/testlibkmobiletools/testlibkmobiletools.h  


--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/CMakeLists.txt #678439:678440
@@ -1,5 +1,5 @@
 
-add_subdirectory( icons )
+add_subdirectory( akonadi icons )
 
 IF (USE_CRASHHANDLER)
 	SET(crashhandler_SRCS crashhandler.cpp )
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.cpp #678439:678440
@@ -28,9 +28,9 @@
 #include <kcodecs.h>
 #include <QTextStream>
 #include <QSharedData>
+#define SMS_MIMETYPE "application/x-kmobiletools-sms"
 
 #include "kmobiletoolshelper.h"
-#define MIMETYPE "application/x-kmobiletools-sms"
 
 class SMSPrivate : public QSharedData {
     public:
@@ -296,9 +296,7 @@
 
 KDateTime SMS::getDateTime() const {
     if(! const_cast<SMS*>(this)->hasHeader("Date") ) return KDateTime();
-    return (dynamic_cast<KMime::Headers::Date*>(
-        const_cast<SMS*>(this)->getHeaderByType("Date"))
-            )->dateTime();
+    return (const_cast<SMS*>(this)->date() )->dateTime();
 }
 void SMS::setDateTime(const KDateTime & datetime) {
     KMime::Headers::Date *h=new KMime::Headers::Date();
@@ -348,8 +346,13 @@
 {
     KMime::Headers::Base *h;
     QByteArray ret;
-    h=getHeaderByType("Date");
+    h=date();
     if(h) ret+= h->as7BitString()+'\n';
     return ret + Content::assembleHeaders();
 }
 
+// Headers implementation
+KMime::Headers::Date *SMS::date() {
+    return dynamic_cast<KMime::Headers::Date*>(getHeaderByType("Date") );
+}
+
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.h #678439:678440
@@ -32,6 +32,7 @@
 */
 
 class SMSPrivate;
+class KMime::Headers::Date;
 class KMOBILETOOLS_EXPORT SMS : public KMime::Content
 {
 public:
@@ -82,6 +83,9 @@
     bool exportMD(const QString &dir);
     bool exportCSV(const QString &filename);
     bool writeToSlotCSV( const QString &filename);
+
+    // Headers
+    KMime::Headers::Date *date();
 protected:
     QByteArray assembleHeaders();
 
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/smslist.cpp #678439:678440
@@ -231,7 +231,7 @@
 {
     kDebug() << k_funcinfo << endl;
     SMS *sms;
-    kdDebug() << "SMSList::saveToCSV(): saving CSV file to: " << filename << endl;
+    kDebug() << "SMSList::saveToCSV(): saving CSV file to: " << filename << endl;
     bool ok=true;
 /*    QListIterator<SMS*> it(*this);
     while( (it.hasNext()) )
--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/CMakeLists.txt #678439:678440
@@ -1,8 +1,10 @@
 include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_CURRENT_BINARY_DIR}
-   ${CMAKE_CURRENT_SOURCE_DIR}/libkmobiletools
+   ${CMAKE_SOURCE_DIR}/kmobiletools/kmobiletools/libkmobiletools
    )
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" )
+
 set(testlibkmobiletools_SRCS testlibkmobiletools.cpp )
 
 kde4_automoc(${testlibkmobiletools_SRCS})
@@ -10,4 +12,4 @@
 kde4_add_executable(testlibkmobiletools ${testlibkmobiletools_SRCS})
 set_target_properties(testlibkmobiletools PROPERTIES OUTPUT_NAME testlibkmobiletools)
 
-target_link_libraries(testlibkmobiletools kmobiletools )
+target_link_libraries(testlibkmobiletools kmobiletools ${KDE4_KMIME_LIBS} )
--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/testlibkmobiletools.cpp #678439:678440
@@ -25,7 +25,10 @@
 #include <QTextStream>
 #include <kcmdlineargs.h>
 #include <QTimer>
+#include <libakonadi/collection.h>
+#include "akonadi/akonadi_serializer_sms.cpp"
 #include <KDateTime>
+
 // using namespace KMobileTools;
 
 TestLibKMobileToolsApp::TestLibKMobileToolsApp()
@@ -42,23 +45,24 @@
     out << "Available commands:\n"
     << "help\t\tThis help screen\n"
     << "sms\t\tTest sms object\n"
-    << "quit\t\tClose this application\n"
+    << "akonadi\t\tTest Akonadi resources object\n"
+    << "quit\t\tClose this application\n\n"
     ;
 }
 
 void TestLibKMobileToolsApp::mainloop() {
-    bool ok=false;
     out << "Enter a command to test libkmobiletools. \"help\" to see available commands\n> ";
     out.flush();
     QString cmd;
     in >> cmd;
     if(cmd=="help" || cmd=="?") help();
     if(cmd=="sms") checkSMS();
+    if(cmd=="akonadi") testAkonadi();
     if(cmd=="quit" || cmd=="q") { QTimer::singleShot(200, this, SLOT(quit()) ) ; return; }
     mainloop();
 }
 
-void TestLibKMobileToolsApp::checkSMS() {
+SMS *TestLibKMobileToolsApp::checkSMS(bool deleteOnReturn) {
     out << "LibKMobileTools tester application\n";
     SMS *sms=new SMS();
     out << "sms created\n";
@@ -71,11 +75,20 @@
     out << "****************** SMS Serialization ******************\n"
         << sms->encodedContent()
     << "\n**************** SMS Serialization End ****************\n\n";
-    out << "Deleting SMS...";
-    delete sms;
-    out << " Done" << endl;
+    if(deleteOnReturn) { out << "Deleting SMS..."; delete sms; sms=NULL; out << " Done" << endl; }
+    return sms;
 }
 
+void TestLibKMobileToolsApp::testAkonadi() {
+    Akonadi::Item i;
+    i.setMimeType(SMS_MIMETYPE);
+    SMS *sms=checkSMS(false);
+    Akonadi::SerializerPluginSMS *serializer=new Akonadi::SerializerPluginSMS();
+    MessagePtr msg=MessagePtr(sms);
+    i.setPayload<MessagePtr>(msg);
+    delete serializer;
+}
+
 #include "testlibkmobiletools.moc"
 
 int main(int argc, char** argv)
--- trunk/KDE/kdepim/kmobiletools/tests/testlibkmobiletools/testlibkmobiletools.h #678439:678440
@@ -24,6 +24,7 @@
 #define TESTLIBKMOBILETOOLS_H
 
 #include <kapplication.h>
+class SMS;
 class TestLibKMobileToolsApp : public KApplication
 {
 Q_OBJECT
@@ -31,7 +32,8 @@
     TestLibKMobileToolsApp ();
     ~TestLibKMobileToolsApp ();
     void mainloop();
-    void checkSMS();
+    SMS *checkSMS(bool deleteOnReturn=true);
+    void testAkonadi();
     void help();
 private:
     QTextStream in, out, err;


More information about the kmobiletools mailing list