summaryrefslogtreecommitdiffstats
path: root/src/kernel/qeventloop_glib_p.h
diff options
context:
space:
mode:
authorDarrell Anderson <[email protected]>2012-11-27 20:55:08 -0600
committerDarrell Anderson <[email protected]>2012-11-27 20:55:08 -0600
commit2211b1bf66c8a1705730ccb10f417bda7ed60593 (patch)
tree5cefd31ac15882a5589a41040ce7ae258538d9df /src/kernel/qeventloop_glib_p.h
parent20ccd4b81eee8c0d20b4cabdcdc8ed8356e51f21 (diff)
parentde67a2b84b0d8b8ef994e91c108af3273e2ac37f (diff)
downloadqt3-2211b1bf66c8a1705730ccb10f417bda7ed60593.tar.gz
qt3-2211b1bf66c8a1705730ccb10f417bda7ed60593.zip
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3
Diffstat (limited to 'src/kernel/qeventloop_glib_p.h')
-rw-r--r--src/kernel/qeventloop_glib_p.h130
1 files changed, 130 insertions, 0 deletions
diff --git a/src/kernel/qeventloop_glib_p.h b/src/kernel/qeventloop_glib_p.h
new file mode 100644
index 0000000..8d1ead9
--- /dev/null
+++ b/src/kernel/qeventloop_glib_p.h
@@ -0,0 +1,130 @@
+/**
+** Qt->glib main event loop integration by Norbert Frese 2005
+** code based on qeventloop_p.h 3.3.5
+**
+*/
+
+/****************************************************************************
+** $Id: qt/qeventloop_glib_p.h
+**
+** Definition of QEventLoop class
+**
+** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
+** licenses for Qt/Embedded may use this file in accordance with the
+** Qt Embedded Commercial License Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email [email protected] for
+** information about Qt Commercial License Agreements.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact [email protected] if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QEVENTLOOP_GLIB_P_H
+#define QEVENTLOOP_GLIB_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. This header file may
+// change from version to version without notice, or even be
+// removed.
+//
+// We mean it.
+//
+//
+
+#ifndef QT_H
+#include "qplatformdefs.h"
+#endif // QT_H
+
+// SCO OpenServer redefines raise -> kill
+#if defined(raise)
+# undef raise
+#endif
+
+#include "qeventloop.h"
+#include "qwindowdefs.h"
+
+class QSocketNotifier;
+
+#include "qptrlist.h"
+
+#include <glib.h>
+
+// uncomment this for main loop related debug-output
+
+// #define DEBUG_QT_GLIBMAINLOOP 1
+
+// Wrapper for QSocketNotifier Object and GPollFD
+
+struct QSockNotGPollFD
+{
+ QSocketNotifier *obj;
+ GPollFD gPollFD;
+ gushort events; // save events
+ bool pending;
+};
+
+class QEventLoopPrivate
+{
+public:
+ QEventLoopPrivate()
+ {
+ reset();
+ }
+
+ void reset() {
+ looplevel = 0;
+ quitcode = 0;
+ quitnow = FALSE;
+ exitloop = FALSE;
+ shortcut = FALSE;
+ }
+
+ int looplevel;
+ int quitcode;
+ unsigned int quitnow : 1;
+ unsigned int exitloop : 1;
+ unsigned int shortcut : 1;
+
+#if defined(Q_WS_X11)
+ int xfd;
+
+ GPollFD x_gPollFD;
+
+#endif // Q_WS_X11
+
+ int thread_pipe[2];
+
+ GPollFD threadPipe_gPollFD;
+
+ QPtrList<QSockNotGPollFD> sn_list;
+ // pending socket notifiers list
+ QPtrList<QSockNotGPollFD> sn_pending_list;
+
+ // store flags for one iteration
+ uint pev_flags;
+
+ // My GSource
+
+ GSource * gSource;
+
+};
+
+#endif // QEVENTLOOP_GLIB_P_H