+++ /dev/null
-#include "QxtNamedPipe.h"
-#ifdef Q_OS_UNIX
-# include <fcntl.h>
-#else
-# error "No Windows implementation for QxtNamedPipe"
-#endif
-
-class QxtNamedPipePrivate : public QxtPrivate<QxtNamedPipe>
-{
-public:
- QxtNamedPipePrivate();
- QXT_DECLARE_PUBLIC(QxtNamedPipe);
-
- QString pipeName;
- int fd;
-};
-
-QxtNamedPipe::QxtNamedPipe(const QString& name, QObject* parent) : QAbstractSocket(QAbstractSocket::UnknownSocketType, parent)
-{
- QXT_INIT_PRIVATE(QxtNamedPipe);
- qxt_d().pipeName = name;
- qxt_d().fd = 0;
-}
-
-bool QxtNamedPipe::open(QIODevice::OpenMode mode)
-{
- int m = O_RDWR;
- if (!(mode & QIODevice::ReadOnly)) m = O_WRONLY;
- else if (!(mode & QIODevice::WriteOnly)) m = O_RDONLY;
- qxt_d().fd = ::open(qPrintable(qxt_d().pipeName), m);
- return (qxt_d().fd != 0);
-}
-
-bool QxtNamedPipe::open(const QString& name, QIODevice::OpenMode mode)
-{
- qxt_d().pipeName = name;
- return QxtNamedPipe::open(mode);
-}
-
-void QxtNamedPipe::close()
-{
- if (qxt_d().fd) ::close(qxt_d().fd);
-}
-
-QByteArray QxtNamedPipe::readAvailableBytes()
-{
- char ch;
- QByteArray rv;
- while (getChar(&ch)) rv += ch;
- return rv;
-}