[kmobiletools] KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools

Marco Gulino marco at kmobiletools.org
Mon Jun 18 18:29:58 CEST 2007


SVN commit 677182 by gulino:

Making SMS class implicit shared.


 M  +7 -5      sms.cpp  
 M  +2 -2      sms.h  


--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.cpp #677181:677182
@@ -27,13 +27,15 @@
 #include <qregexp.h>
 #include <kcodecs.h>
 #include <QTextStream>
+#include <QSharedData>
+
 #include "kmobiletoolshelper.h"
 #define MIMETYPE "application/x-kmobiletools-sms"
 
-class SMSPrivate {
+class SMSPrivate : public QSharedData {
     public:
-        SMSPrivate(SMS* p_parent)
-    : i_folder(0), i_slot(0), i_type(SMS::All), b_unread(false)
+        SMSPrivate(SMS* p_parent) : QSharedData(),
+        i_folder(0), i_slot(0), i_type(SMS::All), b_unread(false)
         { parent=p_parent; }
     QStringList sl_numbers;
     QString s_text;
@@ -53,7 +55,7 @@
         if ( sl_numbers.isEmpty()) ba = s_text.toUtf8();
         else ba = ( s_text + sl_numbers.join(",")).toUtf8();
         context.update(ba);
-        s_uid=QString(context.hexDigest() );
+//         s_uid=QString(context.hexDigest() );
     }
 };
 
@@ -180,7 +182,7 @@
 // Convenience non-static method for the above one
 QStringList SMS::getMultiText() const
 {
-    d->refreshUid(); /// @TODO move this to the single setters?
+    ((SMSPrivate*)d.data() )->refreshUid(); /// @TODO move this to the single setters?
     return getMultiText(d->s_text);
 }
 
--- trunk/KDE/kdepim/kmobiletools/kmobiletools/libkmobiletools/sms.h #677181:677182
@@ -25,7 +25,7 @@
 #include <QtCore/QObject>
 #include <QtCore/QStringList>
 #include <QtCore/QDateTime>
-
+#include <QtCore/QSharedDataPointer>
 /**
 @author Marco Gulino
 */
@@ -79,7 +79,7 @@
     bool unread() const;
     void setUnread(bool unread);
 private:
-    SMSPrivate * const d;
+    QSharedDataPointer<SMSPrivate> d;
 
 public Q_SLOTS:
     bool exportMD(const QString &dir);


More information about the kmobiletools mailing list