From 0406c1ac252f2fa631f7a486e73b0a97d09874f9 Mon Sep 17 00:00:00 2001 From: ulf69 Date: Thu, 07 Oct 2004 01:04:18 +0000 Subject: added functionality for Birthdaylookup from kopi via qCop --- 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 : QCopTransferItem(usedSourceParameters, sourceMessage, targetChannel,targetMessage) { //targetMessage returns later two parameters: uid, and three lists - _targetMessageParameters = "(QString,QStringList,QStringList,QStringList)"; + _targetMessageParameters = "(QString,QStringList,QStringList,QStringList,QStringList,QStringList,QStringList)"; } /*********************************************************************************/ -bool QCopListTransferItem::sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3) +bool QCopListTransferItem::sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6) { #ifndef DESKTOP_VERSION //targetMessage passes two parameters: uid, map QString targetMessage = _targetMessage + _targetMessageParameters; qDebug("3Using QCopEnvelope e(\"%s\",\"%s\")", _sourceChannel.latin1(), targetMessage.latin1()); - qDebug("passing uid(%s) and list1, list2, list3 as parameter to QCopEnvelope", uid.latin1()); + qDebug("passing uid(%s) and list1, list2, list3, list4, list5, list6 as parameter to QCopEnvelope", uid.latin1()); + + + for ( int i = 0; i < list3.count(); i++) + qDebug("listentry list3: %s",list3[i].latin1()); QCopEnvelope e(_sourceChannel.latin1(), targetMessage.latin1()); //US we need no names in the To field. The emailadresses are enough - e << uid << list1 << list2 << list3; + e << uid << list1 << list2 << list3 << list4 << list5 << list6; qApp->processEvents(); @@ -304,10 +308,15 @@ bool QCopListTransferItem::appMessage( const QCString& cmsg, const QByteArray& d QStringList list1; QStringList list2; QStringList list3; + QStringList list4; + QStringList list5; + QStringList list6; QString uid; - stream >> uid >> list1 >> list2 >> list3; - emit receivedMessageFromTarget(uid, list1, list2, list3); + qDebug("3QCopListTransferItem- QCOP message received: %s ", cmsg.data() ); + + stream >> uid >> list1 >> list2 >> list3 >> list4 >> list5 >> list6; + emit receivedMessageFromTarget(uid, list1, list2, list3, list4, list5, list6); return true; @@ -333,7 +342,7 @@ ExternalAppHandler::ExternalAppHandler() mNameEmailUidListFromKAPITransfer = new QCopListTransferItem(0, "requestNameEmailUIDListFromKAPI", "QPE/Application/kapi", "receiveNameEmailUIDList"); connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&)), this, SIGNAL (requestForNameEmailUidList(const QString&, const QString&))); - connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&))); + 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&))); //US mFindByEmailFromKAPITransfer = new QCopListTransferItem(1, "requestFindByEmailFromKAPI", "QPE/Application/kapi", "receiveFindByEmailNameEmailUIDList"); //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() mDisplayDetails = new QCopListTransferItem(3, "requestDisplayDetailsFromKAPI", "QPE/Application/kapi", ""); 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&))); + + + + mBirthdayListFromKAPITransfer = new QCopListTransferItem(0, "requestBirthdayListFromKAPI", "QPE/Application/kapi", "receiveBirthdayList"); + connect(mBirthdayListFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&)), this, SIGNAL (requestForBirthdayList(const QString&, const QString&))); + 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&))); + + } ExternalAppHandler::~ExternalAppHandler() { } +void ExternalAppHandler::receivedNameEmailUidList_Slot(const QString& uid, + const QStringList& nameList, + const QStringList& emailList, + const QStringList& uidList, + const QStringList&, + const QStringList&, + const QStringList& ) +{ + // this method is a conevnient way to reduce the number of parameters I have to pass + emit receivedNameEmailUidListEvent(uid, nameList, emailList, uidList); +} + + void ExternalAppHandler::loadConfig() { @@ -1049,6 +1079,9 @@ void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& dat { bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); if (!res) + res = mBirthdayListFromKAPITransfer->appMessage( cmsg, data ); + + if (!res) res = mDisplayDetails->appMessage( cmsg, data ); // if (!res) @@ -1065,9 +1098,10 @@ bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceCh bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) { - + QStringList list4, list5, list6; + mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); - return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3); + return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); } bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email) @@ -1078,8 +1112,10 @@ bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) { + QStringList list4, list5, list6; + mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); - return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3); + return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); } bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid) @@ -1088,6 +1124,18 @@ bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QStri return mDisplayDetails->sendMessageToTarget("", name, email, uid); } +bool ExternalAppHandler::requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid) +{ + mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); + return mBirthdayListFromKAPITransfer->sendMessageToTarget(sessionuid); +} + +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) +{ + mBirthdayListFromKAPITransfer->setSourceChannel(sourceChannel); + return mBirthdayListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3, list4, list5, list6); +} + 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 void receivedMessageFromSource(const QString& sourceChannel, const QString& uid, const QString& param1, const QString& param2); void receivedMessageFromSource(const QString& sourceChannel, const QString& uid, const QString& param1, const QString& param2, const QString& param3); - public: int _usedSourceParameters; QString _sourceChannel; @@ -102,14 +101,14 @@ class QCopListTransferItem : public QCopTransferItem public: QCopListTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage); - bool sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3); + bool sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4, const QStringList& list5, const QStringList& list6); virtual bool appMessage( const QCString& msg, const QByteArray& data ); signals: - void receivedMessageFromTarget(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3); + void receivedMessageFromTarget(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3, const QStringList& list4 , const QStringList& list5, const QStringList& list6); }; @@ -207,12 +206,22 @@ class ExternalAppHandler : public QObject //Call this method on the target when you want to return the name/email map to the source (client). bool returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& name, const QStringList& email, const QStringList& uid); + + bool requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email); bool returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& name, const QStringList& email, const QStringList& uid); bool requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid); + + bool requestBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid); + bool returnBirthdayListFromKAPI(const QString& sourceChannel, const QString& sessionuid, + const QStringList& birthdayList, const QStringList& anniversaryList, + const QStringList& realNameList, const QStringList& emailList, + const QStringList& assembledNameList, const QStringList& uidList); + + //loadConfig clears the cache and checks again if the applications are available or not void loadConfig(); @@ -232,11 +241,22 @@ class ExternalAppHandler : public QObject void receivedNameEmailUidListEvent(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList); void requestFindByEmail(const QString& sourceChannel, const QString& uid, const QString& email); - void receivedFindBbyEmailEvent(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList); + void receivedFindByEmailEvent(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList); void requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid); + // Emmitted when the target app receives a request from the source app + void requestForBirthdayList(const QString& sourceChannel, const QString& uid); + + // Emitted when the source app recieves a list of name/email pairs (=addresses) from another target app. Usually Ka/Pi + // The first parameter is a uniqueid. It can be used to identify the event + void receivedBirthdayListEvent(const QString& uid, const QStringList& birthdayList, + const QStringList& anniversaryList, const QStringList& realNameList, + const QStringList& emailList, const QStringList& assembledNameList, + const QStringList& uidList); + + private: ExternalAppHandler(); QList mDefaultItems; @@ -251,6 +271,7 @@ class ExternalAppHandler : public QObject QCopListTransferItem* mNameEmailUidListFromKAPITransfer; QCopListTransferItem* mFindByEmailFromKAPITransfer; QCopTransferItem* mDisplayDetails; + QCopListTransferItem* mBirthdayListFromKAPITransfer; 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 static ExternalAppHandler *sInstance; + private slots: + void receivedNameEmailUidList_Slot(const QString& uid, const QStringList& nameList, const QStringList& emailList, const QStringList& uidList, const QStringList&, const QStringList&, const QStringList& ); + }; -- cgit v0.9.0.2