summaryrefslogtreecommitdiffstats
path: root/networkstatus/testservice.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /networkstatus/testservice.cpp
downloadtdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz
tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip
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/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'networkstatus/testservice.cpp')
-rw-r--r--networkstatus/testservice.cpp101
1 files changed, 101 insertions, 0 deletions
diff --git a/networkstatus/testservice.cpp b/networkstatus/testservice.cpp
new file mode 100644
index 00000000..a1552d27
--- /dev/null
+++ b/networkstatus/testservice.cpp
@@ -0,0 +1,101 @@
+/*
+ This file is part of kdepim.
+
+ Copyright (c) 2005 Will Stephenson <lists@stevello.free-online.co.uk>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include <qtimer.h>
+#include <dcopclient.h>
+#include <kapplication.h>
+#include "provideriface.h"
+
+#include "testservice.h"
+#include "serviceiface_stub.h"
+
+TestService::TestService() : QObject(), DCOPObject("ProviderIface")
+{
+ kapp->dcopClient()->registerAs("testservice" );
+ m_service = new ServiceIface_stub( "kded", "networkstatus" );
+ m_status = NetworkStatus::Offline;
+ NetworkStatus::Properties nsp;
+ nsp.internet = true;
+ nsp.name = "test_net";
+ nsp.onDemandPolicy = NetworkStatus::All;
+ nsp.service = kapp->dcopClient()->appId();
+ nsp.status = m_status;
+ m_service->registerNetwork( "test_net", nsp );
+}
+
+TestService::~TestService()
+{
+ delete m_service;
+}
+
+int TestService::status( const QString & network )
+{
+ Q_UNUSED( network );
+ return (int)m_status;
+}
+
+int TestService::establish( const QString & network )
+{
+ Q_UNUSED( network );
+ m_status = NetworkStatus::Establishing;
+ m_service->setNetworkStatus( "test_net", (int)m_status );
+ m_nextStatus = NetworkStatus::Online;
+ QTimer::singleShot( 5000, this, SLOT( slotStatusChange() ) );
+ return (int)NetworkStatus::RequestAccepted;
+}
+
+int TestService::shutdown( const QString & network )
+{
+ Q_UNUSED( network );
+ m_status = NetworkStatus::ShuttingDown;
+ m_service->setNetworkStatus( "test_net", (int)m_status );
+ m_nextStatus = NetworkStatus::Offline;
+ QTimer::singleShot( 5000, this, SLOT( slotStatusChange() ) );
+ return (int)NetworkStatus::RequestAccepted;
+}
+
+void TestService::simulateFailure()
+{
+ m_status = NetworkStatus::OfflineFailed;
+ m_service->setNetworkStatus( "test_net", (int)m_status );
+}
+
+void TestService::simulateDisconnect()
+{
+ m_status = NetworkStatus::OfflineDisconnected;
+ m_service->setNetworkStatus( "test_net", (int)m_status );
+}
+
+void TestService::slotStatusChange()
+{
+ m_status = m_nextStatus;
+ m_service->setNetworkStatus( "test_net", (int)m_status );
+}
+
+int main( int argc, char** argv )
+{
+ KApplication app(argc, argv, "testdcop");
+ TestService * test = new TestService;
+ Q_UNUSED( test );
+ return app.exec();
+}
+
+#include "testservice.moc"