diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | c90c389a8a8d9d8661e9772ec4144c5cf2039f23 (patch) | |
tree | 6d8391395bce9eaea4ad78958617edb20c6a7573 /atlantik/kio_atlantik | |
download | tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.tar.gz tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.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/kdegames@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'atlantik/kio_atlantik')
-rw-r--r-- | atlantik/kio_atlantik/Makefile.am | 15 | ||||
-rw-r--r-- | atlantik/kio_atlantik/atlantik.protocol | 7 | ||||
-rw-r--r-- | atlantik/kio_atlantik/kio_atlantik.cpp | 70 | ||||
-rw-r--r-- | atlantik/kio_atlantik/kio_atlantik.h | 22 |
4 files changed, 114 insertions, 0 deletions
diff --git a/atlantik/kio_atlantik/Makefile.am b/atlantik/kio_atlantik/Makefile.am new file mode 100644 index 00000000..69279666 --- /dev/null +++ b/atlantik/kio_atlantik/Makefile.am @@ -0,0 +1,15 @@ +INCLUDES = -I$(top_srcdir)/atlantik/libatlantic $(all_includes) +METASOURCES = AUTO + +kde_module_LTLIBRARIES = kio_atlantik.la + +kio_atlantik_la_SOURCES = kio_atlantik.cpp +kio_atlantik_la_LIBADD = $(LIB_KIO) +kio_atlantik_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +noinst_HEADERS = kio_atlantik.h + +kdelnk_DATA = atlantik.protocol +kdelnkdir = $(kde_servicesdir) + +messages: + $(XGETTEXT) *.cpp -o $(podir)/kio_atlantik.pot diff --git a/atlantik/kio_atlantik/atlantik.protocol b/atlantik/kio_atlantik/atlantik.protocol new file mode 100644 index 00000000..6839c736 --- /dev/null +++ b/atlantik/kio_atlantik/atlantik.protocol @@ -0,0 +1,7 @@ +[Protocol] +exec=kio_atlantik +protocol=atlantik +input=none +output=none +reading=true +Icon=atlantik diff --git a/atlantik/kio_atlantik/kio_atlantik.cpp b/atlantik/kio_atlantik/kio_atlantik.cpp new file mode 100644 index 00000000..3707d41b --- /dev/null +++ b/atlantik/kio_atlantik/kio_atlantik.cpp @@ -0,0 +1,70 @@ +// Copyright (c) 2002-2004 Rob Kaper <[email protected]> +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// version 2 as published by the Free Software Foundation. +// +// This program 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 +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; see the file COPYING. If not, write to +// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +// Boston, MA 02110-1301, USA. + +#include <stdlib.h> + +#include <qtextstream.h> + +#include <kdeversion.h> +#undef KDE_3_1_FEATURES +#ifdef KDE_MAKE_VERSION +#if KDE_VERSION > KDE_MAKE_VERSION (3, 1, 0) +#define KDE_3_1_FEATURES +#endif +#endif +#include <kio/slavebase.h> +#include <kinstance.h> +#include <kprocess.h> + +#include "kio_atlantik.h" +#include "libatlantic_export.h" + +extern "C" +{ + int LIBATLANTIC_EXPORT kdemain( int, char **argv ) + { + KInstance instance( "kio_atlantik" ); + AtlantikProtocol slave(argv[2], argv[3]); + slave.dispatchLoop(); + return 0; + } +} + +void AtlantikProtocol::get( const KURL& url ) +{ + KProcess *proc = new KProcess; + *proc << "atlantik"; + +#ifdef KDE_3_1_FEATURES + QString host = url.hasHost() ? url.host() : KProcess::quote( url.queryItem("host") ); +#else + QString host = url.hasHost() ? url.host() : url.queryItem("host"); +#endif + QString port = QString::number( url.port() ? url.port() : 1234 ); + int game = url.queryItem("game").toInt(); + QString gameString = game ? QString::number( game ) : QString::null; + + if (!host.isNull() && !port.isNull()) + { + *proc << "--host" << host << "--port" << port; + if (!gameString.isNull()) + *proc << "--game" << gameString; + } + + proc->start(KProcess::DontCare); + proc->detach(); + finished(); +} diff --git a/atlantik/kio_atlantik/kio_atlantik.h b/atlantik/kio_atlantik/kio_atlantik.h new file mode 100644 index 00000000..ac794ca9 --- /dev/null +++ b/atlantik/kio_atlantik/kio_atlantik.h @@ -0,0 +1,22 @@ +// Copyright (c) 2002-2003 Rob Kaper <[email protected]> +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// version 2 as published by the Free Software Foundation. +// +// This program 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 +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; see the file COPYING. If not, write to +// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +// Boston, MA 02110-1301, USA. + +class AtlantikProtocol : public KIO::SlaveBase +{ +public: + AtlantikProtocol( const QCString &pool, const QCString &app) : SlaveBase( "atlantik", pool, app ) {} + virtual void get( const KURL& url ); +}; |