diff options
author | Murray Cumming <murrayc@murrayc.com> | 2011-10-26 12:24:38 +0200 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2011-10-26 12:24:38 +0200 |
commit | c97f8e8681e550ebe09af9ac5a366273b6d98673 (patch) | |
tree | 4fafc04ac42aa7bea8d3fbbc38ed6dee9aec300d /glib/glibmm/main.h | |
parent | 159805cd380a2f1e2e1e51b880bf1104f0259333 (diff) | |
download | glibmm-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.h | 54 |
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: |