From bcb704366cb5e333a626c18c308c7e0448a8e69f Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kopete/plugins/smpppdcs/detectordcop.cpp | 77 ++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 kopete/plugins/smpppdcs/detectordcop.cpp (limited to 'kopete/plugins/smpppdcs/detectordcop.cpp') diff --git a/kopete/plugins/smpppdcs/detectordcop.cpp b/kopete/plugins/smpppdcs/detectordcop.cpp new file mode 100644 index 00000000..2536674d --- /dev/null +++ b/kopete/plugins/smpppdcs/detectordcop.cpp @@ -0,0 +1,77 @@ +/* + detectordcop.cpp + + Copyright (c) 2004-2006 by Heiko Schaefer + + Kopete (c) 2002-2006 by the Kopete developers + + ************************************************************************* + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; version 2 of the License. * + * * + ************************************************************************* +*/ + +#include +#include +#include + +#include "kinternetiface_stub.h" + +#include "detectordcop.h" +#include "iconnector.h" + +QCString DetectorDCOP::m_kinternetApp = ""; + +DetectorDCOP::DetectorDCOP(IConnector * connector) + : Detector(connector) {} + +DetectorDCOP::~DetectorDCOP() {} + +/*! + \fn DetectorDCOP::getKInternetDCOP() + */ +QCString DetectorDCOP::getKInternetDCOP() const { + DCOPClient * client = kapp->dcopClient(); + if(m_kinternetApp.isEmpty() && client && client->isAttached()) { + // get all registered dcop apps and search for kinternet + QCStringList apps = client->registeredApplications(); + QCStringList::iterator iter; + for(iter = apps.begin(); iter != apps.end(); ++iter) { + if((*iter).left(9) == "kinternet") { + return *iter; + } + } + } + + return m_kinternetApp; +} + +/*! + \fn DetectorDCOP::getConnectionStatusDCOP() + */ +DetectorDCOP::KInternetDCOPState DetectorDCOP::getConnectionStatusDCOP() const { + kdDebug(14312) << k_funcinfo << "Start inquiring " << m_kinternetApp << " via DCOP" << endl; + + + KInternetIface_stub stub = KInternetIface_stub(kapp->dcopClient(), m_kinternetApp, "KInternetIface"); + + bool status = stub.isOnline(); + + if(stub.ok()) { + if(status) { + kdDebug(14312) << k_funcinfo << "isOnline() returned true" << endl; + return CONNECTED; + } else { + kdDebug(14312) << k_funcinfo << "isOnline() returned false" << endl; + return DISCONNECTED; + } + } else { + kdWarning(14312) << k_funcinfo << "DCOP call to " << m_kinternetApp << " failed!"; + } + + return ERROR; +} + -- cgit v1.2.1