summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/externalapphandler.cpp68
-rw-r--r--libkdepim/externalapphandler.h32
2 files changed, 86 insertions, 14 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/*********************************************************************************/
263bool QCopListTransferItem::sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 263bool 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
346ExternalAppHandler::~ExternalAppHandler() 363ExternalAppHandler::~ExternalAppHandler()
347{ 364{
348} 365}
349 366
367void 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
350void ExternalAppHandler::loadConfig() 380void 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
1066bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1099bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
1067{ 1100{
1068 1101 QStringList list4, list5, list6;
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
1073bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email) 1107bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email)
@@ -1078,8 +1112,10 @@ bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel
1078 1112
1079bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1113bool 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
1085bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid) 1121bool 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
1127bool ExternalAppHandler::requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid)
1128{
1129 mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel);
1130 return mBirthdayListFromKAPITransfer->sendMessageToTarget(sessionuid);
1131}
1132
1133bool 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