Revision 586785
Go back to digest for 24th September 2006Features in KDE-PIM
Transaction support and a more or less complete rewrite of the notification handling:
- Add methods to begin, abort and commit a transaction to DataStore.
- Add a QMutexLocker-like class for convenient transaction handling which aborts the current transaction when going out of scope.
- Use transactions for most commands that change the database, they are atomic now, ie. either succeed completely or don't change anything at all.
- Collect notifications during a transaction and emit them only if the transaction has been successfully committed.
- Add notifications for item and collection changes.
- Remove server-side notification filtering, it's not really needed since every item will be monitored at least twice anyway (by its resource and a search provider).
- Include resource and mimetype in the notification signals, allowing filtering by resource and by mimetype on the client side. This will be needed by resources and search providers.
File Changes
- /trunk/KDE/kdepim/akonadi/server/src/storage
- /notificationcollector.cpp
- /notificationcollector.h
- /transaction.cpp
- /transaction.h
- /trunk/KDE/kdepim/akonadi
- /libakonadi/monitor.cpp
- /libakonadi/monitor.h
- /server/CMakeLists.txt
- /libakonadi/tests/monitortest.cpp
- /server/interfaces/org.kde.Akonadi.NotificationManager.xml
- /server/src/notificationmanager.cpp
- /server/src/notificationmanager.h
- /server/src/handler/append.cpp
- /server/src/handler/create.cpp
- /server/src/handler/delete.cpp
- /server/src/handler/modify.cpp
- /server/src/handler/rename.cpp
- /server/src/handler/store.cpp
- /server/src/storage/datastore.cpp
- /server/src/storage/datastore.h