00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _SK_IO_PIPE_
00009 #define _SK_IO_PIPE_
00010
00011 #include <sk/util/Object.h>
00012
00013 namespace sk {
00014 namespace io {
00015 class FileDescriptorInputStream;
00016 class FileDescriptorOutputStream;
00017
00018 class Pipe
00019 : public virtual sk::util::Object
00020 {
00021 public:
00022 virtual void close() = 0;
00023 virtual void closeInput() = 0;
00024 virtual void closeOutput() = 0;
00025
00026 virtual FileDescriptorInputStream& inputStream() const = 0;
00027 virtual FileDescriptorOutputStream& outputStream() const = 0;
00028 };
00029 }
00030 }
00031
00032 #endif