Root/
Source at commit 1406 created 12 years 10 months ago. By meklort, Revert drivers.c so that kexts are only loaded when OSBundleRequired is set and that value is not safe mode. Added some comments about it too. | |
---|---|
1 | /****************************************************************************␊ |
2 | ** ␊ |
3 | **␊ |
4 | ** Definition of QIODevice class␊ |
5 | **␊ |
6 | ** Created : 940913␊ |
7 | **␊ |
8 | ** Copyright (C) 1992-2000 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 | ␊ |
75 | // IO device status␊ |
76 | ␊ |
77 | #define IO_Ok␉␉␉0␊ |
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␊ |
87 | ␊ |
88 | class Q_EXPORT QIODevice␉␉␉␉␉// IO device class␊ |
89 | {␊ |
90 | public:␊ |
91 | QIODevice();␊ |
92 | virtual ~QIODevice();␊ |
93 | ␊ |
94 | int␉␉ flags() const { return ioMode; }␊ |
95 | int␉␉ mode()␉ const { return ioMode & IO_ModeMask; }␊ |
96 | int␉␉ state() const { return ioMode & IO_StateMask; }␊ |
97 | ␊ |
98 | bool␉ isDirectAccess() const { return ((ioMode & IO_Direct) == IO_Direct); }␊ |
99 | bool␉ isSequentialAccess() const { return ((ioMode & IO_Sequential) == IO_Sequential); }␊ |
100 | bool␉ isCombinedAccess() const { return ((ioMode & IO_Combined) == IO_Combined); }␊ |
101 | bool␉ isBuffered()␉ const { return ((ioMode & IO_Raw) != IO_Raw); }␊ |
102 | bool␉ isRaw()␉ const { return ((ioMode & IO_Raw) == IO_Raw); }␊ |
103 | bool␉ isSynchronous() const { return ((ioMode & IO_Async) != IO_Async); }␊ |
104 | bool␉ isAsynchronous() const { return ((ioMode & IO_Async) == IO_Async); }␊ |
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); }␊ |
109 | bool␉ isInactive()␉ const { return state() == 0; }␊ |
110 | bool␉ isOpen()␉ const { return state() == IO_Open; }␊ |
111 | ␊ |
112 | int␉␉ status() const { return ioSt; }␊ |
113 | void␉ resetStatus()␉{ ioSt = IO_Ok; }␊ |
114 | ␊ |
115 | virtual bool open( int mode ) = 0;␊ |
116 | virtual void close() = 0;␊ |
117 | virtual void flush() = 0;␊ |
118 | ␊ |
119 | virtual uint size()␉ const = 0;␊ |
120 | virtual int␉ at()␉ const;␊ |
121 | virtual bool at( int );␊ |
122 | virtual bool atEnd() const;␊ |
123 | bool␉ reset() { return at(0); }␊ |
124 | ␊ |
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 );␊ |
128 | int writeBlock( const QByteArray& data );␊ |
129 | QByteArray readAll();␊ |
130 | ␊ |
131 | virtual int␉ getch() = 0;␊ |
132 | virtual int␉ putch( int ) = 0;␊ |
133 | virtual int␉ ungetch( int ) = 0;␊ |
134 | ␊ |
135 | protected:␊ |
136 | void␉ setFlags( int f ) { ioMode = f; }␊ |
137 | void␉ setType( int );␊ |
138 | void␉ setMode( int );␊ |
139 | void␉ setState( int );␊ |
140 | void␉ setStatus( int );␊ |
141 | int␉␉ ioIndex;␊ |
142 | ␊ |
143 | private:␊ |
144 | int␉␉ ioMode;␊ |
145 | int␉␉ ioSt;␊ |
146 | ␊ |
147 | private:␉// Disabled copy constructor and operator=␊ |
148 | #if defined(Q_DISABLE_COPY)␊ |
149 | QIODevice( const QIODevice & );␊ |
150 | QIODevice &operator=( const QIODevice & );␊ |
151 | #endif␊ |
152 | };␊ |
153 | ␊ |
154 | ␊ |
155 | #endif // QIODEVICE_H␊ |
156 |