summaryrefslogtreecommitdiffstats
path: root/src/mobility
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2010-10-08 13:33:41 +0200
committerChristian Kamm <christian.d.kamm@nokia.com>2010-10-08 13:33:41 +0200
commite1d8d23261134df63a198e16cb3b76d3663d658e (patch)
treeee74a2312ea64f5af36e5b501f61d04e5b869e18 /src/mobility
parent89e6875b106abefd89360ba760a1caf29982785d (diff)
Organizer: Allow clients to save and change collections.
Diffstat (limited to 'src/mobility')
-rw-r--r--src/mobility/mobilitymanager.cpp28
-rw-r--r--src/mobility/mobilitymanager.h3
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;