diff options
Diffstat (limited to 'glib/src/iochannel.hg')
-rw-r--r-- | glib/src/iochannel.hg | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/glib/src/iochannel.hg b/glib/src/iochannel.hg index bc0f404d..9c97ce78 100644 --- a/glib/src/iochannel.hg +++ b/glib/src/iochannel.hg @@ -78,15 +78,7 @@ class GlibmmIOChannel; * set_encoding("ISO-8859-15"). To set the channel to no encoding, use * set_encoding() without any arguments. * - * You can create an IOChannel with one of the static create methods, or - * implement one yourself, in which case you have to 1) override all - * _vfunc() members. 2) set the GIOChannel flags in your constructor. - * - * @note This feature of being able to implement a custom Glib::IOChannel is - * deprecated in glibmm 2.2. The vfunc interface has not yet stabilized - * enough to allow that -- the C++ wrapper went in by pure accident. Besides, - * it isn't terribly useful either. Thus please refrain from overriding any - * IOChannel vfuncs. + * You can create an IOChannel with one of the static create methods. */ class IOChannel : public sigc::trackable { @@ -269,11 +261,11 @@ public: * Any pending data to be written will be flushed if @a flush is <tt>true</tt>. * The channel will not be freed until the last reference is dropped. * Accessing the channel after closing it is considered an error. - * @param flush Whether to flush() pending data before closing the channel. + * @param flush_pending Whether to flush() pending data before closing the channel. * @return The status of the operation. * @throw Glib::IOChannelError */ - _WRAP_METHOD(IOStatus close(bool flush = true), g_io_channel_shutdown, errthrow) + _WRAP_METHOD(IOStatus close(bool flush_pending = true), g_io_channel_shutdown, errthrow) /** Get the IOChannel internal buffer size. * @return The buffer size. @@ -413,7 +405,6 @@ public: * @return An IOSource object that can be polled from a MainContext's event loop. */ Glib::RefPtr<IOSource> create_watch(IOCondition condition); - _IGNORE(g_io_channel_create_watch) virtual void reference() const; virtual void unreference() const; @@ -438,12 +429,42 @@ protected: IOChannel(GIOChannel* gobject, bool take_copy); #endif + //We don't put GLIBMM_DISABLE_DEPRECATED around these deprecated methods + //because they are virtual and that would make the ABI dependent on the ifdef. + + /** + * @deprecated Custom Glib::IOChannel implementation was never really supported. + */ virtual IOStatus read_vfunc(char* buf, gsize count, gsize& bytes_read); + + /** + * @deprecated Custom Glib::IOChannel implementation was never really supported. + */ virtual IOStatus write_vfunc(const char* buf, gsize count, gsize& bytes_written); + + /** + * @deprecated Custom Glib::IOChannel implementation was never really supported. + */ virtual IOStatus seek_vfunc(gint64 offset, SeekType type); + + /** + * @deprecated Custom Glib::IOChannel implementation was never really supported. + */ virtual IOStatus close_vfunc(); + + /** + * @deprecated Custom Glib::IOChannel implementation was never really supported. + */ virtual IOStatus set_flags_vfunc(IOFlags flags); + + /** + * @deprecated Custom Glib::IOChannel implementation was never really supported. + */ virtual IOFlags get_flags_vfunc(); + + /** + * @deprecated Custom Glib::IOChannel implementation was never really supported. + */ virtual Glib::RefPtr<Glib::Source> create_watch_vfunc(IOCondition cond); #ifndef DOXYGEN_SHOULD_SKIP_THIS |