summaryrefslogtreecommitdiff
path: root/glib/glibmm/main.h
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2011-10-26 12:24:38 +0200
committerMurray Cumming <murrayc@murrayc.com>2011-10-26 12:24:38 +0200
commitc97f8e8681e550ebe09af9ac5a366273b6d98673 (patch)
tree4fafc04ac42aa7bea8d3fbbc38ed6dee9aec300d /glib/glibmm/main.h
parent159805cd380a2f1e2e1e51b880bf1104f0259333 (diff)
downloadglibmm-c97f8e8681e550ebe09af9ac5a366273b6d98673.tar.gz
Move IOCondition from main.h to iochannel.h and autogenerate it.
* glib/src/iochannel.hg: Use _WRAP_ENUM() for IOCondition instead of hand-coding it in * glib/glibmm/main.h: though this requires some manual editing of * glib/src/glib_enums.defs: due to the weird defines that GioChannel uses for its values. See the comment. * glib/glibmm/streamiochannel.cc: Adjust the includes. This avoids the need to include glib.h from main.h.
Diffstat (limited to 'glib/glibmm/main.h')
-rw-r--r--glib/glibmm/main.h54
1 files changed, 1 insertions, 53 deletions
diff --git a/glib/glibmm/main.h b/glib/glibmm/main.h
index 19053441..6d1cbda9 100644
--- a/glib/glibmm/main.h
+++ b/glib/glibmm/main.h
@@ -23,8 +23,8 @@
#include <glibmm/refptr.h>
#include <glibmm/timeval.h>
#include <glibmm/priorities.h>
+#include <glibmm/iochannel.h>
#include <sigc++/sigc++.h>
-#include <glib.h>
#include <vector>
namespace Glib
@@ -32,64 +32,12 @@ namespace Glib
class Cond;
class Mutex;
-class IOChannel;
/** @defgroup MainLoop The Main Event Loop
* Manages all available sources of events.
* @{
*/
-/** A bitwise combination representing an I/O condition to watch for on an
- * event source.
- * The flags correspond to those used by the <tt>%poll()</tt> system call
- * on UNIX (see <tt>man 2 poll</tt>). To test for individual flags, do
- * something like this:
- * @code
- * if((condition & Glib::IO_OUT) != 0)
- * do_some_output();
- * @endcode
- * @par Bitwise operators:
- * <tt>IOCondition operator|(IOCondition, IOCondition)</tt><br>
- * <tt>IOCondition operator&(IOCondition, IOCondition)</tt><br>
- * <tt>IOCondition operator^(IOCondition, IOCondition)</tt><br>
- * <tt>IOCondition operator~(IOCondition)</tt><br>
- * <tt>IOCondition& operator|=(IOCondition&, IOCondition)</tt><br>
- * <tt>IOCondition& operator&=(IOCondition&, IOCondition)</tt><br>
- * <tt>IOCondition& operator^=(IOCondition&, IOCondition)</tt><br>
- */
-enum IOCondition
-{
- IO_IN = G_IO_IN, /*!< @hideinitializer There is data to read. */
- IO_OUT = G_IO_OUT, /*!< @hideinitializer Data can be written (without blocking). */
- IO_PRI = G_IO_PRI, /*!< @hideinitializer There is urgent data to read. */
- IO_ERR = G_IO_ERR, /*!< @hideinitializer %Error condition. */
- IO_HUP = G_IO_HUP, /*!< @hideinitializer Hung up (the connection has been broken,
- usually for pipes and sockets). */
- IO_NVAL = G_IO_NVAL /*!< @hideinitializer Invalid request. The file descriptor is not open. */
-};
-
-inline IOCondition operator|(IOCondition lhs, IOCondition rhs)
- { return static_cast<IOCondition>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
-
-inline IOCondition operator&(IOCondition lhs, IOCondition rhs)
- { return static_cast<IOCondition>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
-
-inline IOCondition operator^(IOCondition lhs, IOCondition rhs)
- { return static_cast<IOCondition>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
-
-inline IOCondition operator~(IOCondition flags)
- { return static_cast<IOCondition>(~static_cast<unsigned>(flags)); }
-
-inline IOCondition& operator|=(IOCondition& lhs, IOCondition rhs)
- { return (lhs = static_cast<IOCondition>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
-
-inline IOCondition& operator&=(IOCondition& lhs, IOCondition rhs)
- { return (lhs = static_cast<IOCondition>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
-
-inline IOCondition& operator^=(IOCondition& lhs, IOCondition rhs)
- { return (lhs = static_cast<IOCondition>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
-
-
class PollFD
{
public: