summaryrefslogtreecommitdiffstats
path: root/src/serialport/qserialport_unix_p.h
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2014-10-30 22:53:44 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2014-11-14 16:32:39 +0100
commit3e5a8a6437321151c24c84ed5e671398a157809e (patch)
tree2a88b565459819e6df342a4f8964e84a32eeeb98 /src/serialport/qserialport_unix_p.h
parent1eaf24b12168a28bc251821d205b6b67fba08012 (diff)
Move all platform-specific declarations into one QSPPrivate
This is near to the internal Qt PIMPL style. Also it will allow to use QIODevicePrivate is more smoothly in next patches. Tested on Windows 8, Linux, OSX 10.9 with on-board serial port. Change-Id: Ieef4b05d0bf11cf2da6420e58629bea1818108f9 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Diffstat (limited to 'src/serialport/qserialport_unix_p.h')
-rw-r--r--src/serialport/qserialport_unix_p.h194
1 files changed, 0 insertions, 194 deletions
diff --git a/src/serialport/qserialport_unix_p.h b/src/serialport/qserialport_unix_p.h
deleted file mode 100644
index 1cc767dd..00000000
--- a/src/serialport/qserialport_unix_p.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Denis Shienkov <denis.shienkov@gmail.com>
-** Copyright (C) 2012 Laszlo Papp <lpapp@kde.org>
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the QtSerialPort module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSERIALPORT_UNIX_P_H
-#define QSERIALPORT_UNIX_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "qserialport_p.h"
-
-#include <QtCore/qlockfile.h>
-#include <QtCore/qscopedpointer.h>
-#include <QtCore/qfileinfo.h>
-#include <QtCore/qstringlist.h>
-
-#include <limits.h>
-#include <termios.h>
-#ifndef Q_OS_ANDROID
-#ifdef Q_OS_LINUX
-# include <linux/serial.h>
-#endif
-#else
-struct serial_struct {
- int type;
- int line;
- unsigned int port;
- int irq;
- int flags;
- int xmit_fifo_size;
- int custom_divisor;
- int baud_base;
- unsigned short close_delay;
- char io_type;
- char reserved_char[1];
- int hub6;
- unsigned short closing_wait;
- unsigned short closing_wait2;
- unsigned char *iomem_base;
- unsigned short iomem_reg_shift;
- unsigned int port_high;
- unsigned long iomap_base;
-};
-#define ASYNC_SPD_CUST 0x0030
-#define ASYNC_SPD_MASK 0x1030
-#endif
-
-QT_BEGIN_NAMESPACE
-
-QString serialPortLockFilePath(const QString &portName);
-
-class QSocketNotifier;
-
-class QSerialPortPrivate : public QSerialPortPrivateData
-{
- Q_DECLARE_PUBLIC(QSerialPort)
-
-public:
- QSerialPortPrivate(QSerialPort *q);
-
- bool open(QIODevice::OpenMode mode);
- void close();
-
- QSerialPort::PinoutSignals pinoutSignals();
-
- bool setDataTerminalReady(bool set);
- bool setRequestToSend(bool set);
-
- bool flush();
- bool clear(QSerialPort::Directions directions);
-
- bool sendBreak(int duration);
- bool setBreakEnabled(bool set);
-
- qint64 readData(char *data, qint64 maxSize);
-
- bool waitForReadyRead(int msecs);
- bool waitForBytesWritten(int msecs);
-
- bool setBaudRate();
- bool setBaudRate(qint32 baudRate, QSerialPort::Directions directions);
- bool setDataBits(QSerialPort::DataBits dataBits);
- bool setParity(QSerialPort::Parity parity);
- bool setStopBits(QSerialPort::StopBits stopBits);
- bool setFlowControl(QSerialPort::FlowControl flowControl);
- bool setDataErrorPolicy(QSerialPort::DataErrorPolicy policy);
-
- bool readNotification();
- bool startAsyncWrite();
- bool completeAsyncWrite();
-
- qint64 bytesToWrite() const;
- qint64 writeData(const char *data, qint64 maxSize);
-
- static QString portNameToSystemLocation(const QString &port);
- static QString portNameFromSystemLocation(const QString &location);
-
- static qint32 baudRateFromSetting(qint32 setting);
- static qint32 settingFromBaudRate(qint32 baudRate);
-
- static QList<qint32> standardBaudRates();
-
- struct termios currentTermios;
- struct termios restoredTermios;
- int descriptor;
-
- QSocketNotifier *readNotifier;
- QSocketNotifier *writeNotifier;
-
- bool readPortNotifierCalled;
- bool readPortNotifierState;
- bool readPortNotifierStateSet;
-
- bool emittedReadyRead;
- bool emittedBytesWritten;
-
- qint64 pendingBytesWritten;
- bool writeSequenceStarted;
-
- QScopedPointer<QLockFile> lockFileScopedPointer;
-
-private:
- bool initialize(QIODevice::OpenMode mode);
- bool updateTermios();
-
- QSerialPort::SerialPortError setBaudRate_helper(qint32 baudRate,
- QSerialPort::Directions directions);
- QSerialPort::SerialPortError setCustomBaudRate(qint32 baudRate,
- QSerialPort::Directions directions);
- QSerialPort::SerialPortError setStandardBaudRate(qint32 baudRate,
- QSerialPort::Directions directions);
- QSerialPort::SerialPortError decodeSystemError() const;
-
- bool isReadNotificationEnabled() const;
- void setReadNotificationEnabled(bool enable);
- bool isWriteNotificationEnabled() const;
- void setWriteNotificationEnabled(bool enable);
-
- bool waitForReadOrWrite(bool *selectForRead, bool *selectForWrite,
- bool checkRead, bool checkWrite,
- int msecs, bool *timedOut);
-
- qint64 readFromPort(char *data, qint64 maxSize);
- qint64 writeToPort(const char *data, qint64 maxSize);
-
-#ifndef CMSPAR
- qint64 writePerChar(const char *data, qint64 maxSize);
-#endif
- qint64 readPerChar(char *data, qint64 maxSize);
-
-};
-
-QT_END_NAMESPACE
-
-#endif // QSERIALPORT_UNIX_P_H