-rw-r--r-- | libkdepim/externalapphandler.cpp | 66 | ||||
-rw-r--r-- | libkdepim/externalapphandler.h | 32 |
2 files changed, 85 insertions, 13 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp index 99aee86..07bdff2 100644 --- a/libkdepim/externalapphandler.cpp +++ b/libkdepim/externalapphandler.cpp | |||
@@ -256,23 +256,27 @@ QCopListTransferItem::QCopListTransferItem(int usedSourceParameters, const QStri | |||
256 | : QCopTransferItem(usedSourceParameters, sourceMessage, targetChannel,targetMessage) | 256 | : QCopTransferItem(usedSourceParameters, sourceMessage, targetChannel,targetMessage) |
257 | { | 257 | { |
258 | //targetMessage returns later two parameters: uid, and three lists | 258 | //targetMessage returns later two parameters: uid, and three lists |
259 | _targetMessageParameters = "(QString,QStringList,QStringList,QStringList)"; | 259 | _targetMessageParameters = "(QString,QStringList,QStringList,QStringList,QStringList,QStringList,QStringList)"; |
260 | } | 260 | } |
261 | 261 | ||
262 | /*********************************************************************************/ | 262 | /*********************************************************************************/ |
263 | bool QCopListTransferItem::sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3) | 263 | bool QCopListTransferItem::sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6) |
264 | { | 264 | { |
265 | #ifndef DESKTOP_VERSION | 265 | #ifndef DESKTOP_VERSION |
266 | //targetMessage passes two parameters: uid, map | 266 | //targetMessage passes two parameters: uid, map |
267 | QString targetMessage = _targetMessage + _targetMessageParameters; | 267 | QString targetMessage = _targetMessage + _targetMessageParameters; |
268 | 268 | ||
269 | qDebug("3Using QCopEnvelope e(\"%s\",\"%s\")", _sourceChannel.latin1(), targetMessage.latin1()); | 269 | qDebug("3Using QCopEnvelope e(\"%s\",\"%s\")", _sourceChannel.latin1(), targetMessage.latin1()); |
270 | qDebug("passing uid(%s) and list1, list2, list3 as parameter to QCopEnvelope", uid.latin1()); | 270 | qDebug("passing uid(%s) and list1, list2, list3, list4, list5, list6 as parameter to QCopEnvelope", uid.latin1()); |
271 | |||
272 | |||
273 | for ( int i = 0; i < list3.count(); i++) | ||
274 | qDebug("listentry list3: %s",list3[i].latin1()); | ||
271 | 275 | ||
272 | QCopEnvelope e(_sourceChannel.latin1(), targetMessage.latin1()); | 276 | QCopEnvelope e(_sourceChannel.latin1(), targetMessage.latin1()); |
273 | //US we need no names in the To field. The emailadresses are enough | 277 | //US we need no names in the To field. The emailadresses are enough |
274 | 278 | ||
275 | e << uid << list1 << list2 << list3; | 279 | e << uid << list1 << list2 << list3 << list4 << list5 << list6; |
276 | 280 | ||
277 | qApp->processEvents(); | 281 | qApp->processEvents(); |
278 | 282 | ||
@@ -304,10 +308,15 @@ bool QCopListTransferItem::appMessage( const QCString& cmsg, const QByteArray& d | |||
304 | QStringList list1; | 308 | QStringList list1; |
305 | QStringList list2; | 309 | QStringList list2; |
306 | QStringList list3; | 310 | QStringList list3; |
311 | QStringList list4; | ||
312 | QStringList list5; | ||
313 | QStringList list6; | ||
307 | QString uid; | 314 | QString uid; |
308 | 315 | ||
309 | stream >> uid >> list1 >> list2 >> list3; | 316 | qDebug("3QCopListTransferItem- QCOP message received: %s ", cmsg.data() ); |
310 | emit receivedMessageFromTarget(uid, list1, list2, list3); | 317 | |
318 | stream >> uid >> list1 >> list2 >> list3 >> list4 >> list5 >> list6; | ||
319 | emit receivedMessageFromTarget(uid, list1, list2, list3, list4, list5, list6); | ||
311 | 320 | ||
312 | 321 | ||
313 | return true; | 322 | return true; |
@@ -333,7 +342,7 @@ ExternalAppHandler::ExternalAppHandler() | |||
333 | 342 | ||
334 | mNameEmailUidListFromKAPITransfer = new QCopListTransferItem(0, "requestNameEmailUIDListFromKAPI", "QPE/Application/kapi", "receiveNameEmailUIDList"); | 343 | mNameEmailUidListFromKAPITransfer = new QCopListTransferItem(0, "requestNameEmailUIDListFromKAPI", "QPE/Application/kapi", "receiveNameEmailUIDList"); |
335 | connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&)), this, SIGNAL (requestForNameEmailUidList(const QString&, const QString&))); | 344 | connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&)), this, SIGNAL (requestForNameEmailUidList(const QString&, const QString&))); |
336 | connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&))); | 345 | connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), this, SLOT (receivedNameEmailUidList_Slot(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); |
337 | 346 | ||
338 | //US mFindByEmailFromKAPITransfer = new QCopListTransferItem(1, "requestFindByEmailFromKAPI", "QPE/Application/kapi", "receiveFindByEmailNameEmailUIDList"); | 347 | //US mFindByEmailFromKAPITransfer = new QCopListTransferItem(1, "requestFindByEmailFromKAPI", "QPE/Application/kapi", "receiveFindByEmailNameEmailUIDList"); |
339 | //US connect(mFindByEmailFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&)), this, SIGNAL (requestForFindByEmail(const QString&, const QString&, const QString&))); | 348 | //US connect(mFindByEmailFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&)), this, SIGNAL (requestForFindByEmail(const QString&, const QString&, const QString&))); |
@@ -341,12 +350,33 @@ ExternalAppHandler::ExternalAppHandler() | |||
341 | 350 | ||
342 | mDisplayDetails = new QCopListTransferItem(3, "requestDisplayDetailsFromKAPI", "QPE/Application/kapi", ""); | 351 | mDisplayDetails = new QCopListTransferItem(3, "requestDisplayDetailsFromKAPI", "QPE/Application/kapi", ""); |
343 | connect(mDisplayDetails, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&, const QString&, const QString&)), this, SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); | 352 | connect(mDisplayDetails, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&, const QString&, const QString&)), this, SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); |
353 | |||
354 | |||
355 | |||
356 | mBirthdayListFromKAPITransfer = new QCopListTransferItem(0, "requestBirthdayListFromKAPI", "QPE/Application/kapi", "receiveBirthdayList"); | ||
357 | connect(mBirthdayListFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&)), this, SIGNAL (requestForBirthdayList(const QString&, const QString&))); | ||
358 | connect(mBirthdayListFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedBirthdayListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&, const QStringList&))); | ||
359 | |||
360 | |||
344 | } | 361 | } |
345 | 362 | ||
346 | ExternalAppHandler::~ExternalAppHandler() | 363 | ExternalAppHandler::~ExternalAppHandler() |
347 | { | 364 | { |
348 | } | 365 | } |
349 | 366 | ||
367 | void ExternalAppHandler::receivedNameEmailUidList_Slot(const QString& uid, | ||
368 | const QStringList& nameList, | ||
369 | const QStringList& emailList, | ||
370 | const QStringList& uidList, | ||
371 | const QStringList&, | ||
372 | const QStringList&, | ||
373 | const QStringList& ) | ||
374 | { | ||
375 | // this method is a conevnient way to reduce the number of parameters I have to pass | ||
376 | emit receivedNameEmailUidListEvent(uid, nameList, emailList, uidList); | ||
377 | } | ||
378 | |||
379 | |||
350 | void ExternalAppHandler::loadConfig() | 380 | void ExternalAppHandler::loadConfig() |
351 | { | 381 | { |
352 | 382 | ||
@@ -1049,6 +1079,9 @@ void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& dat | |||
1049 | { | 1079 | { |
1050 | bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); | 1080 | bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); |
1051 | if (!res) | 1081 | if (!res) |
1082 | res = mBirthdayListFromKAPITransfer->appMessage( cmsg, data ); | ||
1083 | |||
1084 | if (!res) | ||
1052 | res = mDisplayDetails->appMessage( cmsg, data ); | 1085 | res = mDisplayDetails->appMessage( cmsg, data ); |
1053 | 1086 | ||
1054 | // if (!res) | 1087 | // if (!res) |
@@ -1065,9 +1098,10 @@ bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceCh | |||
1065 | 1098 | ||
1066 | bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) | 1099 | bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) |
1067 | { | 1100 | { |
1101 | QStringList list4, list5, list6; | ||
1068 | 1102 | ||
1069 | mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); | 1103 | mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); |
1070 | return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3); | 1104 | return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); |
1071 | } | 1105 | } |
1072 | 1106 | ||
1073 | bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email) | 1107 | bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email) |
@@ -1078,8 +1112,10 @@ bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel | |||
1078 | 1112 | ||
1079 | bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) | 1113 | bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) |
1080 | { | 1114 | { |
1115 | QStringList list4, list5, list6; | ||
1116 | |||
1081 | mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); | 1117 | mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); |
1082 | return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3); | 1118 | return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); |
1083 | } | 1119 | } |
1084 | 1120 | ||
1085 | bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid) | 1121 | bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid) |
@@ -1088,6 +1124,18 @@ bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QStri | |||
1088 | return mDisplayDetails->sendMessageToTarget("", name, email, uid); | 1124 | return mDisplayDetails->sendMessageToTarget("", name, email, uid); |
1089 | } | 1125 | } |
1090 | 1126 | ||
1127 | bool ExternalAppHandler::requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid) | ||
1128 | { | ||
1129 | mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); | ||
1130 | return mBirthdayListFromKAPITransfer->sendMessageToTarget(sessionuid); | ||
1131 | } | ||
1132 | |||
1133 | bool ExternalAppHandler::returnBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6) | ||
1134 | { | ||
1135 | mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); | ||
1136 | return mBirthdayListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); | ||
1137 | } | ||
1138 | |||
1091 | 1139 | ||
1092 | 1140 | ||
1093 | 1141 | ||
diff --git a/libkdepim/externalapphandler.h b/libkdepim/externalapphandler.h index cfe577b..4c6f1ea 100644 --- a/libkdepim/externalapphandler.h +++ b/libkdepim/externalapphandler.h | |||
@@ -59,7 +59,6 @@ class QCopTransferItem : public QObject | |||
59 | void receivedMessageFromSource(const QString& sourceChannel, const QString& uid, const QString& param1, const QString& param2); | 59 | void receivedMessageFromSource(const QString& sourceChannel, const QString& uid, const QString& param1, const QString& param2); |
60 | void receivedMessageFromSource(const QString& sourceChannel, const QString& uid, const QString& param1, const QString& param2, const QString& param3); | 60 | void receivedMessageFromSource(const QString& sourceChannel, const QString& uid, const QString& param1, const QString& param2, const QString& param3); |
61 | 61 | ||
62 | |||
63 | public: | 62 | public: |
64 | int _usedSourceParameters; | 63 | int _usedSourceParameters; |
65 | QString _sourceChannel; | 64 | QString _sourceChannel; |
@@ -102,14 +101,14 @@ class QCopListTransferItem : public QCopTransferItem | |||
102 | public: | 101 | public: |
103 | QCopListTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage); | 102 | QCopListTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage); |
104 | 103 | ||
105 | bool sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3); | 104 | bool sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6); |
106 | 105 | ||
107 | 106 | ||
108 | virtual bool appMessage( const QCString& msg, const QByteArray& data ); | 107 | virtual bool appMessage( const QCString& msg, const QByteArray& data ); |
109 | 108 | ||
110 | 109 | ||
111 | signals: | 110 | signals: |
112 | void receivedMessageFromTarget(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3); | 111 | void receivedMessageFromTarget(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4 , const QStringList& list5, const QStringList& list6); |
113 | 112 | ||
114 | }; | 113 | }; |
115 | 114 | ||
@@ -207,12 +206,22 @@ class ExternalAppHandler : public QObject | |||
207 | //Call this method on the target when you want to return the name/email map to the source (client). | 206 | //Call this method on the target when you want to return the name/email map to the source (client). |
208 | bool returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& name, const QStringList& email, const QStringList& uid); | 207 | bool returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& name, const QStringList& email, const QStringList& uid); |
209 | 208 | ||
209 | |||
210 | |||
210 | bool requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email); | 211 | bool requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email); |
211 | bool returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& name, const QStringList& email, const QStringList& uid); | 212 | bool returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& name, const QStringList& email, const QStringList& uid); |
212 | 213 | ||
213 | bool requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid); | 214 | bool requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid); |
214 | 215 | ||
215 | 216 | ||
217 | |||
218 | bool requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid); | ||
219 | bool returnBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid, | ||
220 | const QStringList& birthdayList, const QStringList& anniversaryList, | ||
221 | const QStringList& realNameList, const QStringList& emailList, | ||
222 | const QStringList& assembledNameList, const QStringList& uidList); | ||
223 | |||
224 | |||
216 | //loadConfig clears the cache and checks again if the applications are available or not | 225 | //loadConfig clears the cache and checks again if the applications are available or not |
217 | void loadConfig(); | 226 | void loadConfig(); |
218 | 227 | ||
@@ -232,11 +241,22 @@ class ExternalAppHandler : public QObject | |||
232 | void receivedNameEmailUidListEvent(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList); | 241 | void receivedNameEmailUidListEvent(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList); |
233 | 242 | ||
234 | void requestFindByEmail(const QString& sourceChannel, const QString& uid, const QString& email); | 243 | void requestFindByEmail(const QString& sourceChannel, const QString& uid, const QString& email); |
235 | void receivedFindBbyEmailEvent(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList); | 244 | void receivedFindByEmailEvent(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList); |
236 | 245 | ||
237 | void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); | 246 | void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); |
238 | 247 | ||
239 | 248 | ||
249 | // Emmitted when the target app receives a request from the source app | ||
250 | void requestForBirthdayList(const QString& sourceChannel, const QString& uid); | ||
251 | |||
252 | // Emitted when the source app recieves a list of name/email pairs (=addresses) from another target app. Usually Ka/Pi | ||
253 | // The first parameter is a uniqueid. It can be used to identify the event | ||
254 | void receivedBirthdayListEvent(const QString& uid, const QStringList& birthdayList, | ||
255 | const QStringList& anniversaryList, const QStringList& realNameList, | ||
256 | const QStringList& emailList, const QStringList& assembledNameList, | ||
257 | const QStringList& uidList); | ||
258 | |||
259 | |||
240 | private: | 260 | private: |
241 | ExternalAppHandler(); | 261 | ExternalAppHandler(); |
242 | QList<DefaultAppItem> mDefaultItems; | 262 | QList<DefaultAppItem> mDefaultItems; |
@@ -251,6 +271,7 @@ class ExternalAppHandler : public QObject | |||
251 | QCopListTransferItem* mNameEmailUidListFromKAPITransfer; | 271 | QCopListTransferItem* mNameEmailUidListFromKAPITransfer; |
252 | QCopListTransferItem* mFindByEmailFromKAPITransfer; | 272 | QCopListTransferItem* mFindByEmailFromKAPITransfer; |
253 | QCopTransferItem* mDisplayDetails; | 273 | QCopTransferItem* mDisplayDetails; |
274 | QCopListTransferItem* mBirthdayListFromKAPITransfer; | ||
254 | 275 | ||
255 | 276 | ||
256 | void addDefaultAppItem(Types type, int id, const QString& label, const QString& channel, const QString& message, const QString& parameters, const QString& message2, const QString& parameters2); | 277 | void addDefaultAppItem(Types type, int id, const QString& label, const QString& channel, const QString& message, const QString& parameters, const QString& message2, const QString& parameters2); |
@@ -261,6 +282,9 @@ class ExternalAppHandler : public QObject | |||
261 | 282 | ||
262 | static ExternalAppHandler *sInstance; | 283 | static ExternalAppHandler *sInstance; |
263 | 284 | ||
285 | private slots: | ||
286 | void receivedNameEmailUidList_Slot(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList, const QStringList&, const QStringList&, const QStringList& ); | ||
287 | |||
264 | }; | 288 | }; |
265 | 289 | ||
266 | 290 | ||