author | kergoth <kergoth> | 2002-11-01 00:10:42 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-11-01 00:10:42 (UTC) |
commit | 5042e3cf0d3514552769e441f5aad590c8eaf967 (patch) (unidiff) | |
tree | 4a5ea45f3519d981a172ab5275bf38c6fa778dec /qmake/include/qiodevice.h | |
parent | 108c1c753e74e989cc13923086996791428c9af4 (diff) | |
download | opie-5042e3cf0d3514552769e441f5aad590c8eaf967.zip opie-5042e3cf0d3514552769e441f5aad590c8eaf967.tar.gz opie-5042e3cf0d3514552769e441f5aad590c8eaf967.tar.bz2 |
Adding qmake in preperation for new build system
-rw-r--r-- | qmake/include/qiodevice.h | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/qmake/include/qiodevice.h b/qmake/include/qiodevice.h new file mode 100644 index 0000000..cb83463 --- a/dev/null +++ b/qmake/include/qiodevice.h | |||
@@ -0,0 +1,161 @@ | |||
1 | /**************************************************************************** | ||
2 | ** $Id$ | ||
3 | ** | ||
4 | ** Definition of QIODevice class | ||
5 | ** | ||
6 | ** Created : 940913 | ||
7 | ** | ||
8 | ** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. | ||
9 | ** | ||
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | ||
11 | ** | ||
12 | ** This file may be distributed under the terms of the Q Public License | ||
13 | ** as defined by Trolltech AS of Norway and appearing in the file | ||
14 | ** LICENSE.QPL included in the packaging of this file. | ||
15 | ** | ||
16 | ** This file may be distributed and/or modified under the terms of the | ||
17 | ** GNU General Public License version 2 as published by the Free Software | ||
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
19 | ** packaging of this file. | ||
20 | ** | ||
21 | ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition | ||
22 | ** licenses may use this file in accordance with the Qt Commercial License | ||
23 | ** Agreement provided with the Software. | ||
24 | ** | ||
25 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
26 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
27 | ** | ||
28 | ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for | ||
29 | ** information about Qt Commercial License Agreements. | ||
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | ||
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
32 | ** | ||
33 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
34 | ** not clear to you. | ||
35 | ** | ||
36 | **********************************************************************/ | ||
37 | |||
38 | #ifndef QIODEVICE_H | ||
39 | #define QIODEVICE_H | ||
40 | |||
41 | #ifndef QT_H | ||
42 | #include "qglobal.h" | ||
43 | #include "qcstring.h" | ||
44 | #endif // QT_H | ||
45 | |||
46 | |||
47 | // IO device access types | ||
48 | |||
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 | ||
53 | |||
54 | // IO handling modes | ||
55 | |||
56 | #define IO_Raw 0x0040 // raw access (not buffered) | ||
57 | #define IO_Async 0x0080 // asynchronous mode | ||
58 | |||
59 | // IO device open modes | ||
60 | |||
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 | ||
68 | |||
69 | // IO device state | ||
70 | |||
71 | #define IO_Open 0x1000 // device is open | ||
72 | #define IO_StateMask 0xf000 | ||
73 | |||
74 | // IO device status | ||
75 | |||
76 | #define IO_Ok 0 | ||
77 | #define IO_ReadError 1 // read error | ||
78 | #define IO_WriteError 2 // write error | ||
79 | #define IO_FatalError 3 // fatal unrecoverable error | ||
80 | #define IO_ResourceError 4 // resource limitation | ||
81 | #define IO_OpenError 5 // cannot open device | ||
82 | #define IO_ConnectError 5 // cannot connect to device | ||
83 | #define IO_AbortError 6 // abort error | ||
84 | #define IO_TimeOutError 7 // time out | ||
85 | #define IO_UnspecifiedError 8 // unspecified error | ||
86 | |||
87 | |||
88 | class Q_EXPORT QIODevice | ||
89 | { | ||
90 | public: | ||
91 | #if defined(QT_ABI_64BITOFFSET) | ||
92 | typedef QtOffset Offset; | ||
93 | #else | ||
94 | typedef Q_ULONG Offset; | ||
95 | #endif | ||
96 | |||
97 | QIODevice(); | ||
98 | virtual ~QIODevice(); | ||
99 | |||
100 | int flags() const { return ioMode; } | ||
101 | int mode() const { return ioMode & IO_ModeMask; } | ||
102 | int state() const { return ioMode & IO_StateMask; } | ||
103 | |||
104 | bool isDirectAccess() const { return ((ioMode & IO_Direct) == IO_Direct); } | ||
105 | bool isSequentialAccess() const { return ((ioMode & IO_Sequential) == IO_Sequential); } | ||
106 | bool isCombinedAccess() const { return ((ioMode & IO_Combined) == IO_Combined); } | ||
107 | bool isBuffered() const { return ((ioMode & IO_Raw) != IO_Raw); } | ||
108 | bool isRaw() const { return ((ioMode & IO_Raw) == IO_Raw); } | ||
109 | bool isSynchronous() const { return ((ioMode & IO_Async) != IO_Async); } | ||
110 | bool isAsynchronous() const { return ((ioMode & IO_Async) == IO_Async); } | ||
111 | bool isTranslated() const { return ((ioMode & IO_Translate) == IO_Translate); } | ||
112 | bool isReadable() const { return ((ioMode & IO_ReadOnly) == IO_ReadOnly); } | ||
113 | bool isWritable() const { return ((ioMode & IO_WriteOnly) == IO_WriteOnly); } | ||
114 | bool isReadWrite() const { return ((ioMode & IO_ReadWrite) == IO_ReadWrite); } | ||
115 | bool isInactive() const { return state() == 0; } | ||
116 | bool isOpen() const { return state() == IO_Open; } | ||
117 | |||
118 | int status() const { return ioSt; } | ||
119 | void resetStatus(){ ioSt = IO_Ok; } | ||
120 | |||
121 | virtual bool open( int mode ) = 0; | ||
122 | virtual void close() = 0; | ||
123 | virtual void flush() = 0; | ||
124 | |||
125 | virtual Offset size() const = 0; | ||
126 | virtual Offset at() const; | ||
127 | virtual bool at( Offset ); | ||
128 | virtual bool atEnd() const; | ||
129 | bool reset() { return at(0); } | ||
130 | |||
131 | virtual Q_LONG readBlock( char *data, Q_ULONG maxlen ) = 0; | ||
132 | virtual Q_LONG writeBlock( const char *data, Q_ULONG len ) = 0; | ||
133 | virtual Q_LONG readLine( char *data, Q_ULONG maxlen ); | ||
134 | Q_LONG writeBlock( const QByteArray& data ); | ||
135 | virtual QByteArray readAll(); | ||
136 | |||
137 | virtual int getch() = 0; | ||
138 | virtual int putch( int ) = 0; | ||
139 | virtual int ungetch( int ) = 0; | ||
140 | |||
141 | protected: | ||
142 | void setFlags( int f ) { ioMode = f; } | ||
143 | void setType( int ); | ||
144 | void setMode( int ); | ||
145 | void setState( int ); | ||
146 | void setStatus( int ); | ||
147 | Offset ioIndex; | ||
148 | |||
149 | private: | ||
150 | int ioMode; | ||
151 | int ioSt; | ||
152 | |||
153 | private:// Disabled copy constructor and operator= | ||
154 | #if defined(Q_DISABLE_COPY) | ||
155 | QIODevice( const QIODevice & ); | ||
156 | QIODevice &operator=( const QIODevice & ); | ||
157 | #endif | ||
158 | }; | ||
159 | |||
160 | |||
161 | #endif // QIODEVICE_H | ||