diff options
| author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-10-08 13:33:41 +0200 |
|---|---|---|
| committer | Christian Kamm <christian.d.kamm@nokia.com> | 2010-10-08 13:33:41 +0200 |
| commit | e1d8d23261134df63a198e16cb3b76d3663d658e (patch) | |
| tree | ee74a2312ea64f5af36e5b501f61d04e5b869e18 /src/mobility | |
| parent | 89e6875b106abefd89360ba760a1caf29982785d (diff) | |
Organizer: Allow clients to save and change collections.
Diffstat (limited to 'src/mobility')
| -rw-r--r-- | src/mobility/mobilitymanager.cpp | 28 | ||||
| -rw-r--r-- | src/mobility/mobilitymanager.h | 3 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/mobility/mobilitymanager.cpp b/src/mobility/mobilitymanager.cpp index 9835632..703c4eb 100644 --- a/src/mobility/mobilitymanager.cpp +++ b/src/mobility/mobilitymanager.cpp @@ -628,6 +628,34 @@ int MobilityClient::requestRemoveOrganizerItem(QtMobility::QOrganizerItemId id) return static_cast<int>(manager->error()); } +Simulator::SaveOrganizerCollectionReply MobilityClient::requestSaveOrganizerCollection( + const QtMobility::QOrganizerCollection &collection) +{ + Simulator::SaveOrganizerCollectionReply reply; + reply.savedCollection = collection; + + QOrganizerItemManager *manager = mMobilityServer->mMobility->mOrganizer->manager(); + + // execute change and notify other clients in the process + mNotifyClientOnOrganizerChange = false; + manager->saveCollection(&reply.savedCollection); + mNotifyClientOnOrganizerChange = true; + + reply.error = manager->error(); + return reply; +} + +int MobilityClient::requestRemoveOrganizerCollection(QtMobility::QOrganizerCollectionId id) +{ + QOrganizerItemManager *manager = mMobilityServer->mMobility->mOrganizer->manager(); + + mNotifyClientOnOrganizerChange = false; + manager->removeCollection(id.localId()); + mNotifyClientOnOrganizerChange = true; + + return static_cast<int>(manager->error()); +} + void MobilityClient::sendSaveOrganizerItems(const QList<QOrganizerItemLocalId> &itemIds) { if (!mNotifyClientOnOrganizerChange) diff --git a/src/mobility/mobilitymanager.h b/src/mobility/mobilitymanager.h index e392bf3..e74620e 100644 --- a/src/mobility/mobilitymanager.h +++ b/src/mobility/mobilitymanager.h @@ -135,6 +135,9 @@ private slots: QtMobility::Simulator::SaveOrganizerItemReply requestSaveOrganizerItem( const QtMobility::QOrganizerItem &item, QtMobility::QOrganizerCollectionId collectionId); int requestRemoveOrganizerItem(QtMobility::QOrganizerItemId id); + QtMobility::Simulator::SaveOrganizerCollectionReply requestSaveOrganizerCollection( + const QtMobility::QOrganizerCollection &collection); + int requestRemoveOrganizerCollection(QtMobility::QOrganizerCollectionId id); private: qint64 mPid; |
