49 #define IO_Direct 0x0100 // direct access device 50 #define IO_Sequential 0x0200 // sequential access device 51 #define IO_Combined 0x0300 // combined direct/sequential 52 #define IO_TypeMask 0x0f00 56 #define IO_Raw 0x0040 // raw access (not buffered) 57 #define IO_Async 0x0080 // asynchronous mode 61 #define IO_ReadOnly 0x0001 // readable device 62 #define IO_WriteOnly 0x0002 // writable device 63 #define IO_ReadWrite 0x0003 // read+write device 64 #define IO_Append 0x0004 // append 65 #define IO_Truncate 0x0008 // truncate device 66 #define IO_Translate 0x0010 // translate CR+LF 67 #define IO_ModeMask 0x00ff 71 #define IO_Open 0x1000 // device is open 72 #define IO_StateMask 0xf000 78 #define IO_ReadError 1 // read error 79 #define IO_WriteError 2 // write error 80 #define IO_FatalError 3 // fatal unrecoverable error 81 #define IO_ResourceError 4 // resource limitation 82 #define IO_OpenError 5 // cannot open device 83 #define IO_ConnectError 5 // cannot connect to device 84 #define IO_AbortError 6 // abort error 85 #define IO_TimeOutError 7 // time out 86 #define IO_UnspecifiedError 8 // unspecified error 94 int flags()
const {
return ioMode; }
95 int mode()
const {
return ioMode & IO_ModeMask; }
96 int state()
const {
return ioMode & IO_StateMask; }
101 bool isBuffered()
const {
return ((ioMode & IO_Raw) != IO_Raw); }
102 bool isRaw()
const {
return ((ioMode & IO_Raw) == IO_Raw); }
105 bool isTranslated()
const {
return ((ioMode & IO_Translate) == IO_Translate); }
106 bool isReadable()
const {
return ((ioMode & IO_ReadOnly) == IO_ReadOnly); }
107 bool isWritable()
const {
return ((ioMode & IO_WriteOnly) == IO_WriteOnly); }
108 bool isReadWrite()
const {
return ((ioMode & IO_ReadWrite) == IO_ReadWrite); }
110 bool isOpen()
const {
return state() == IO_Open; }
115 virtual bool open(
int mode ) = 0;
116 virtual void close() = 0;
117 virtual void flush() = 0;
119 virtual uint size()
const = 0;
120 virtual int at()
const;
121 virtual bool at(
int );
122 virtual bool atEnd()
const;
125 virtual int readBlock(
char *data, uint maxlen ) = 0;
126 virtual int writeBlock(
const char *data, uint len ) = 0;
127 virtual int readLine(
char *data, uint maxlen );
131 virtual int getch() = 0;
132 virtual int putch(
int ) = 0;
133 virtual int ungetch(
int ) = 0;
136 void setFlags(
int f ) { ioMode = f; }
139 void setState(
int );
140 void setStatus(
int );
148 #if defined(Q_DISABLE_COPY) 155 #endif // QIODEVICE_H bool isTranslated() const
Definition: qiodevice.h:105
bool isReadable() const
Definition: qiodevice.h:106
bool isWritable() const
Definition: qiodevice.h:107
bool isBuffered() const
Definition: qiodevice.h:101
bool isSynchronous() const
Definition: qiodevice.h:103
void resetStatus()
Definition: qiodevice.h:113
bool isSequentialAccess() const
Definition: qiodevice.h:99
bool isOpen() const
Definition: qiodevice.h:110
int status() const
Definition: qiodevice.h:112
bool isAsynchronous() const
Definition: qiodevice.h:104
bool isCombinedAccess() const
Definition: qiodevice.h:100
int state() const
Definition: qiodevice.h:96
bool isReadWrite() const
Definition: qiodevice.h:108
bool isInactive() const
Definition: qiodevice.h:109
bool reset()
Definition: qiodevice.h:123
bool isRaw() const
Definition: qiodevice.h:102
int mode() const
Definition: qiodevice.h:95
bool isDirectAccess() const
Definition: qiodevice.h:98
The QIODevice class is the base class of I/O devices.
Definition: qiodevice.h:88
int flags() const
Definition: qiodevice.h:94