summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsamelian <samelian@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-01-27 00:02:21 +0000
committersamelian <samelian@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-01-27 00:02:21 +0000
commitda24d1f16d7461aec72b5a8f3a797acf73d7e6fd (patch)
tree64cf9245b6512ec6bc38e2418001be26e170bc17
parent946bde4a62fa9c4c47315defb2e31cf54d821246 (diff)
downloadtdelibs-da24d1f1.tar.gz
tdelibs-da24d1f1.zip
[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
-rw-r--r--kglib/TGlibEventLoop.cpp49
-rw-r--r--kglib/TGlibEventLoop.h44
2 files changed, 93 insertions, 0 deletions
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 <serghei.amelian@gmail.com>
+
+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 <glib-object.h>
+#include <glib.h>
+
+#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 <serghei.amelian@gmail.com>
+
+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 <tqeventloop.h>
+
+
+#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