From 08bd41b1ecb86264b07b22f7911feae534c842b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Fri, 28 Sep 2012 15:55:08 +0200 Subject: [PATCH] Noux: add backend pointer to Io_channel The backend pointer may be used to provide additional methods in a Io_channel derived class. --- ports/src/noux/io_channel.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ports/src/noux/io_channel.h b/ports/src/noux/io_channel.h index db2820579c..823b0e3b9c 100644 --- a/ports/src/noux/io_channel.h +++ b/ports/src/noux/io_channel.h @@ -27,6 +27,20 @@ namespace Noux { + /** + * Input/output channel backend that is used for calling + * different methos which does not belong to the original + * interface, e.g. network methods. + */ + class Io_channel_backend + { + public: + + virtual ~Io_channel_backend() { } + + virtual int type() const { return -1; } + }; + /** * Input/output channel interface */ @@ -49,6 +63,8 @@ namespace Noux { virtual ~Io_channel() { } + virtual Io_channel_backend* backend() { return 0; } + virtual bool write(Sysio *sysio, size_t &count) { return false; } virtual bool read(Sysio *sysio) { return false; } virtual bool fstat(Sysio *sysio) { return false; }