00001 #if !defined(__MCIOBASE_H_)
00002 #define __MCIOBASE_H_
00003
00004 #ident "@(#)$Id: MCIOBase.h,v 1.5 2004/12/02 07:05:20 mike Exp $"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "mcllib/MCBase.h"
00026 #include "mcllib/MCTypes.h"
00027 #include "mcllib/MCString.h"
00028
00029 namespace mcllib
00030 {
00042 class MCIOBase : public MCBase
00043 {
00044 public:
00045
00049 static const mcintn MCPOLLRD;
00053 static const mcintn MCPOLLWR;
00057 static const mcintn MCPOLLEX;
00061 static const mcintn MCPOLLALL;
00066 ~MCIOBase();
00071 void close();
00080 mcllib::mcint32 read(void* buf, mcllib::mcint32 size);
00088 mcllib::mcint32 write(const void* buf, mcllib::mcint32 size);
00094 mcllib::mcint64 available() const;
00104 bool poll(mcintn pollFlags, mcinterval_t timeout) const;
00115 void setInherit(bool inherit);
00120 bool isOpen() const;
00125 void* getHandle() const;
00130 MCString toString() const;
00131
00132
00133
00135
00136
00137 protected:
00141 MCIOBase();
00146 MCIOBase(void* impl);
00147 };
00148
00149 };
00150
00151
00152 #endif