From da24d1f16d7461aec72b5a8f3a797acf73d7e6fd Mon Sep 17 00:00:00 2001 From: samelian Date: Thu, 27 Jan 2011 00:02:21 +0000 Subject: [PATCH] [kdelibs] initial support for glib loop support git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1217387 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kglib/TGlibEventLoop.cpp | 49 ++++++++++++++++++++++++++++++++++++++++ kglib/TGlibEventLoop.h | 44 ++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 kglib/TGlibEventLoop.cpp create mode 100644 kglib/TGlibEventLoop.h diff --git a/kglib/TGlibEventLoop.cpp b/kglib/TGlibEventLoop.cpp new file mode 100644 index 000000000..4c53883d7 --- /dev/null +++ b/kglib/TGlibEventLoop.cpp @@ -0,0 +1,49 @@ +/* + +Copyright (C) 2011 Serghei Amelian + +This library 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; 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 +#include + +#include "TGlibEventLoop.h" + + +// timer resolution (ms) +#define TIMER_RES 100 + + +TGlibEventLoop::TGlibEventLoop(TQObject *parent, const char *name) : + TQEventLoop(parent, name) +{ + ::g_type_init(); + startTimer(TIMER_RES); +} + + +TGlibEventLoop::~TGlibEventLoop() +{ +} + + +bool TGlibEventLoop::processEvents(ProcessEventsFlags flags) +{ + ::g_main_context_iteration(NULL, false); + return TQEventLoop::processEvents(flags); +} diff --git a/kglib/TGlibEventLoop.h b/kglib/TGlibEventLoop.h new file mode 100644 index 000000000..3576cb50d --- /dev/null +++ b/kglib/TGlibEventLoop.h @@ -0,0 +1,44 @@ +/* + +Copyright (C) 2011 Serghei Amelian + +This library 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; 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. + +*/ + +#ifndef _TGLIBEVENTLOOP_H_ +#define _TGLIBEVENTLOOP_H_ + +#include + + +#ifdef USE_QT3 + #define GLIB_EVENT_LOOP TGlibEventLoop glibEventLoop; +#else + #define GLIB_EVENT_LOOP +#endif + + +class TGlibEventLoop : public TQEventLoop { +public: + TGlibEventLoop(TQObject *parent = 0, const char *name = 0); + ~TGlibEventLoop(); + + virtual bool processEvents(ProcessEventsFlags flags); +}; + + +#endif