Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/qtools/qiodevice.h

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_Direct0x0100// direct access device
50#define IO_Sequential0x0200// sequential access device
51#define IO_Combined0x0300// combined direct/sequential
52#define IO_TypeMask0x0f00
53
54// IO handling modes
55
56#define IO_Raw0x0040// raw access (not buffered)
57#define IO_Async0x0080// asynchronous mode
58
59// IO device open modes
60
61#define IO_ReadOnly0x0001// readable device
62#define IO_WriteOnly0x0002// writable device
63#define IO_ReadWrite0x0003// read+write device
64#define IO_Append0x0004// append
65#define IO_Truncate0x0008// truncate device
66#define IO_Translate0x0010// translate CR+LF
67#define IO_ModeMask0x00ff
68
69// IO device state
70
71#define IO_Open0x1000// device is open
72#define IO_StateMask0xf000
73
74
75// IO device status
76
77#define IO_Ok0
78#define IO_ReadError1// read error
79#define IO_WriteError2// write error
80#define IO_FatalError3// fatal unrecoverable error
81#define IO_ResourceError4// resource limitation
82#define IO_OpenError5// cannot open device
83#define IO_ConnectError5// cannot connect to device
84#define IO_AbortError6// abort error
85#define IO_TimeOutError7// time out
86#define IO_UnspecifiedError8// unspecified error
87
88class Q_EXPORT QIODevice// IO device class
89{
90public:
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
135protected:
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
143private:
144 int ioMode;
145 int ioSt;
146
147private:// 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

Archive Download this file

Revision: 1406