/*! \reimp Opens the serial port using OpenMode \a mode, and then returns true if successful; otherwise returns false with and sets an error code which can be obtained by calling the error() method. \warning The \a mode has to be QIODevice::ReadOnly, QIODevice::WriteOnly, or QIODevice::ReadWrite. Other modes are unsupported. \sa QIODevice::OpenMode, setPort() */ bool QSerialPort::open(OpenMode mode) { Q_D(QSerialPort); if (isOpen()) { setError(QSerialPort::OpenError); return false; } // Define while not supported modes. static const OpenMode unsupportedModes = Append | Truncate | Text | Unbuffered; if ((mode & unsupportedModes) || mode == NotOpen) { setError(QSerialPort::UnsupportedOperationError); return false; } clearError(); if (d->open(mode)) { QIODevice::open(mode); d->dataTerminalReady = isDataTerminalReady(); d->requestToSend = isRequestToSend(); return true; } return false; }
/*! \property QSerialPort::requestToSend \brief the state (high or low) of the line signal RTS Returns true on success, false otherwise. If the flag is true then the RTS signal is set to high; otherwise low. \note The serial port has to be open before trying to set or get this property; otherwise false is returned and the error code is set to NotOpenError. \sa pinoutSignals() */ bool QSerialPort::setRequestToSend(bool set) { Q_D(QSerialPort); if (!isOpen()) { setError(QSerialPort::NotOpenError); qWarning("%s: device not open", Q_FUNC_INFO); return false; } const bool requestToSend = isRequestToSend(); const bool retval = d->setRequestToSend(set); if (retval && (requestToSend != set)) emit requestToSendChanged(set); return retval; }
/*! \property QSerialPort::requestToSend \brief the state (high or low) of the line signal RTS Returns true on success, false otherwise. If the flag is true then the RTS signal is set to high; otherwise low. \note The serial port has to be open before trying to set or get this property; otherwise false is returned and the error code is set to NotOpenError. \sa pinoutSignals() */ bool QSerialPort::setRequestToSend(bool set) { Q_D(QSerialPort); if (!isOpen()) { d->setError(QSerialPortErrorInfo(QSerialPort::NotOpenError)); qWarning("%s: device not open", Q_FUNC_INFO); return false; } if (d->flowControl == QSerialPort::HardwareControl) { d->setError(QSerialPortErrorInfo(QSerialPort::UnsupportedOperationError)); return false; } const bool requestToSend = isRequestToSend(); const bool retval = d->setRequestToSend(set); if (retval && (requestToSend != set)) emit requestToSendChanged(set); return retval; }