Diffstat (limited to 'libkdepim/externalapphandler.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | libkdepim/externalapphandler.cpp | 66 |
1 files changed, 57 insertions, 9 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp index 99aee86..07bdff2 100644 --- a/libkdepim/externalapphandler.cpp +++ b/libkdepim/externalapphandler.cpp @@ -235,139 +235,169 @@ bool QCopMapTransferItem::appMessage( const QCString& cmsg, const QByteArray& da QString uid; stream >> uid >> adrMap; emit receivedMessageFromTarget(uid, adrMap); return true; } } return false; } /********************************************************************************* * ********************************************************************************/ QCopListTransferItem::QCopListTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage) : 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(); return true; #else KMessageBox::sorry( 0, i18n( "This version does not support QCop." ) ); return false; #endif } /*********************************************************************************/ bool QCopListTransferItem::appMessage( const QCString& cmsg, const QByteArray& data ) { bool res = QCopTransferItem::appMessage( cmsg, data ); qDebug("1QCopListTransferItem- QCOP message received: %s ", cmsg.data() ); if (res == false) { QDataStream stream( data, IO_ReadOnly ); qDebug("2QCopListTransferItem- QCOP message received: %s ", cmsg.data() ); //we are in the source and get an answer from the target if ((_targetMessage + _targetMessageParameters) == cmsg.data()) { 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; } } return false; } /********************************************************************************* * ********************************************************************************/ ExternalAppHandler *ExternalAppHandler::sInstance = 0; static KStaticDeleter<ExternalAppHandler> staticDeleter; ExternalAppHandler::ExternalAppHandler() { mDefaultItems.setAutoDelete(true); 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&))); //US connect(mFindByEmailFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedFindByEmailEvent(const QString&, const QStringList&, const QStringList&, const QStringList&))); 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() { mDefaultItems.clear(); mEmailAppAvailable = UNDEFINED; mPhoneAppAvailable = UNDEFINED; mFaxAppAvailable = UNDEFINED; mSMSAppAvailable = UNDEFINED; mPagerAppAvailable = UNDEFINED; mSIPAppAvailable = UNDEFINED; QString opiepath = QString::fromLatin1( getenv("OPIEDIR") ); QString qtopiapath = QString::fromLatin1( getenv("QPEDIR") ); if (opiepath.isEmpty()) opiepath = qtopiapath; //mailclients QString mailmsg1 = "writeMail(QString,QString)"; QString mailmsg2 = "writeMail(QMap(QString,QString))"; QString undefined = ""; addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::NONE_EMC, "No email client installed", undefined, undefined, undefined, undefined, undefined); @@ -1028,67 +1058,85 @@ void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& paramete else { // qDebug("pass parameter << %s", key.latin1()); (*e) << key; } } if (useValMap == true) (*e) << valmap; #endif } /************************************************************************** * **************************************************************************/ void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data ) { bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); if (!res) + res = mBirthdayListFromKAPITransfer->appMessage( cmsg, data ); + + if (!res) res = mDisplayDetails->appMessage( cmsg, data ); // if (!res) // res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); } bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid) { mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(sessionuid); } 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) { mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); return mFindByEmailFromKAPITransfer->sendMessageToTarget(sessionuid, email); } 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) { mDisplayDetails->setSourceChannel(""); 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); +} + |