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

List:       kde-commits
Subject:    KDE/kdepim/libakonadi
From:       Volker Krause <volker.krause () rwth-aachen ! de>
Date:       2006-01-29 14:48:22
Message-ID: 1138546102.682153.10397.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 503536 by vkrause:

First draft of a self-updating collection model. This is work in
progress and far from usable, but please review and let me know if it is
going at least into the right direction ;-)

Also included is a very ugly test program that generates a large
collection tree and changes it randomly.

CCMAIL: kde-pim@kde.org


 M  +9 -3      Makefile.am  
 A             collection.cpp   [License: LGPL (v2+)]
 A             collection.h   [License: LGPL (v2+)]
 A             collectionfetchjob.cpp   [License: LGPL (v2+)]
 A             collectionfetchjob.h   [License: LGPL (v2+)]
 A             collectionlistjob.cpp   [License: LGPL (v2+)]
 A             collectionlistjob.h   [License: LGPL (v2+)]
 A             collectionmodel.cpp   [License: LGPL (v2+)]
 A             collectionmodel.h   [License: LGPL (v2+)]
 A             collectionmonitorjob.cpp   [License: LGPL (v2+)]
 A             collectionmonitorjob.h   [License: LGPL (v2+)]
 A             collectionview.cpp   [License: LGPL (v2+)]
 A             collectionview.h   [License: LGPL (v2+)]
 M  +10 -0     job.cpp  
 M  +15 -0     job.h  
 A             tests (directory)  
 A             tests/Makefile.am  
 A             tests/collectionbrowser.cpp   [License: LGPL (v2+)]
 A             tests/collectionbrowser.h   [License: LGPL (v2+)]


--- trunk/KDE/kdepim/libakonadi/Makefile.am #503535:503536
@@ -1,12 +1,18 @@
-INCLUDES = -I$(top_srcdir)/ $(all_includes)
+SUBDIRS = . tests
 
+INCLUDES = -I$(top_srcdir)/ -I$(top_srcdir)/libakonadi $(all_includes)
+
 noinst_LTLIBRARIES = libakonadi.la
-libakonadi_la_SOURCES = datarequest.cpp job.cpp query.cpp
+libakonadi_la_SOURCES = datarequest.cpp job.cpp query.cpp collection.cpp \
+	collectionlistjob.cpp collectionmodel.cpp collectionmonitorjob.cpp \
+	collectionfetchjob.cpp collectionview.cpp
 libakonadi_la_LDFLAGS = $(all_libraries) -no-undefined
 libakonadi_la_LIBADD = $(LIB_QT) $(LIB_KDECORE)
 
 akonadiincludedir = $(includedir)/libakonadi
-akonadiinclude_HEADERS = datarequest.h job.h query.h
+akonadiinclude_HEADERS = datarequest.h job.h query.h collection.h \
+	collectionlistjob.h collectionmodel.h collectionmonitorjob.h \
+	collectionfetchjob.h collectionview.h
 
 METASOURCES = AUTO
 
--- trunk/KDE/kdepim/libakonadi/job.cpp #503535:503536
@@ -50,11 +50,21 @@
   return mExternalUrl;
 }
 
+bool PIM::DataReference::isNull() const
+{
+  return mPersistanceID.isEmpty();
+}
+
 bool DataReference::operator==( const DataReference & other ) const
 {
   return mPersistanceID == other.mPersistanceID;
 }
 
+bool PIM::DataReference::operator !=( const DataReference & other ) const
+{
+  return mPersistanceID != other.mPersistanceID;
+}
+
 bool DataReference::operator<( const DataReference & other ) const
 {
   return mPersistanceID < other.mPersistanceID;
--- trunk/KDE/kdepim/libakonadi/job.h #503535:503536
@@ -66,11 +66,22 @@
     QUrl externalUrl() const;
 
     /**
+      Returns true if this is a empty reference, ie. one created with
+      DataReference().
+    */
+    bool isNull() const;
+
+    /**
       Returns true if two references are equal.
     */
     bool operator==( const DataReference &other ) const;
 
     /**
+      Returns true if two references are not equal.
+    */
+    bool operator!=( const DataReference &other ) const;
+
+    /**
       Comapares to references.
     */
     bool operator<( const DataReference &other ) const;
@@ -197,6 +208,10 @@
   private:
     /**
       This method must be reimplemented in the concrete jobs.
+
+      Implementations must not emit the done() signal directly in this method,
+      since this will cause a deadlock in exec(). Use a singleshot timer
+      instead.
      */
     virtual void doStart() = 0;
 
[prev in list] [next in list] [prev in thread] [next in thread] 

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