00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef QLOCALPIPE_H
00024 #define QLOCALPIPE_H
00025 #include "QIODeviceS.h"
00026
00027 namespace FX {
00028
00057 struct QLocalPipePrivate;
00058 class FXAPIR QLocalPipe : public QIODeviceS
00059 {
00060 friend struct QLocalPipePrivate;
00061 QLocalPipePrivate *p;
00062 bool creator;
00063 QLocalPipe &operator=(const QLocalPipe &);
00064 virtual void *int_getOSHandle() const;
00065 public:
00067 QLocalPipe();
00069 QLocalPipe(const QLocalPipe &o);
00070 ~QLocalPipe();
00071
00073 FXuval granularity() const;
00075 void setGranularity(FXuval newval);
00077 QLocalPipe clientEnd() const { return *this; }
00079 bool create(FXuint mode=IO_ReadWrite) { return open(mode); }
00081 bool open(FXuint mode=IO_ReadWrite);
00083 void close();
00085 void flush();
00086
00088 bool atEnd() const;
00090 FXfval size() const;
00092 void truncate(FXfval size);
00094 FXfval at() const;
00096 bool at(FXfval newpos);
00097
00106 FXuval readBlock(char *data, FXuval maxlen);
00113 FXuval writeBlock(const char *data, FXuval maxlen);
00114
00116 int ungetch(int);
00117 };
00118
00119 }
00120
00121 #endif