|
QtPdCom
1.5.0
|
PdCom::Process implementation for Qt. More...
#include <Process.h>


Classes | |
| struct | Impl |
Public Types | |
| enum | SslCaMode { SslCaMode::NoTLS, SslCaMode::DefaultCAs, SslCaMode::CustomCAs, SslCaMode::IgnoreCertificate } |
| enum | ConnectionState { Disconnected, Connecting, Connected, ConnectError, ConnectedError } |
| State of the process connection. More... | |
Signals | |
| void | processConnected () |
| Connection established. More... | |
| void | disconnected () |
| Disconnected gracefully. More... | |
| void | error () |
| Connection error. More... | |
| void | broadcastReceived (const QString &message, const QString &attr, std::uint64_t time_ns, const QString &user) |
| void | connectionStatusChanged () |
| void | sslCaModeChanged () |
Public Member Functions | |
| Process (QObject *parent=nullptr) | |
| Constructor. More... | |
| virtual | ~Process () |
| Destructor. More... | |
| void | setApplicationName (const QString &) |
| Sets the application name. More... | |
| QString | getApplicationName () const |
| Q_INVOKABLE void | connectToHost (const QString &, quint16=2345) |
| Starts to connect to a process. More... | |
| Q_INVOKABLE void | disconnectFromHost () |
| Disconnects from a process. More... | |
| Q_ENUM (ConnectionState) | |
| ConnectionState | getConnectionState () const |
| bool | isConnected () const |
| const QString & | getErrorString () const |
| QString | getPeerName () const |
| QUrl | getUrl () const |
| int | getPort () const |
| QString | getHost () const |
| Q_INVOKABLE void | sendBroadcast (const QString &, const QString &attr="text") |
| Send a broadcast message. More... | |
| quint64 | getRxBytes () const |
| quint64 | getTxBytes () const |
| QVariant | nameQt () const |
| Remote process name string. More... | |
| QVariant | versionQt () const |
| Remote process version string. More... | |
| QFuture< PdCom::Variable > | find (const QString &) |
| Find a Variable. More... | |
| QFuture< VariableList > | list (const QString &="") |
| Wrapper function for Process::list. More... | |
| QFuture< void > | pingQt () |
| QFuture< std::vector< PdCom::ClientStatistics > > | getClientStatisticsQt () |
| template<class Class , class Function > | |
| QFutureWatcher< PdCom::Variable > & | find (const QString &path, Class *obj, Function &&callback) |
| Also find a Variable. More... | |
| template<class Class , class Function > | |
| QFutureWatcher< VariableList > & | list (const QString &path, Class *obj, Function &&callback) |
| template<class Class , class Function > | |
| QFutureWatcher< void > & | ping (Class *obj, Function &&callback) |
| template<class Class , class Function > | |
| QFutureWatcher< std::vector< PdCom::ClientStatistics > > & | getClientStatistics (Class *obj, Function &&callback) |
| void | setCaMode (SslCaMode mode) |
| Set Traffic Encryption mode. More... | |
| SslCaMode | getCaMode () const |
| Get Traffic Encryption mode. More... | |
| void | setClientCertificate (const QSslCertificate &cert, const QSslKey &key) |
| Provide a client certificate. More... | |
| void | setCustomCAs (QList< QSslCertificate > cas) |
| Set list of trusted Certificate Authorities. More... | |
| PdCom::MessageManagerBase * | getMessageManager () const |
| void | setLoginManager (LoginManager *lm) |
| Set the Login Manager. More... | |
| LoginManager * | getLoginManager () const |
Static Public Member Functions | |
| static QtPdCom::Process * | getDefaultProcess () |
| static void | setDefaultProcess (QtPdCom::Process *) |
| Set default process "manually". More... | |
Properties | |
| bool | connected |
| The process is connected and ready. More... | |
| ConnectionState | connectionState |
| SslCaMode | sslCaMode |
| int | port |
| QString | host |
| QUrl | url |
| QString | applicationName |
| QtPdCom::LoginManager | loginManager |
| QVariant | name |
| QVariant | version |
Private Slots | |
| void | socketConnected () |
| Socket connection established. More... | |
| void | socketDisconnected () |
| Socket disconnected. More... | |
| void | socketError () |
| There was a socket error. More... | |
| void | socketRead () |
| The socket has new data to read. More... | |
Private Member Functions | |
| std::string | applicationName () const override |
| Virtual from PdCom::Process. More... | |
| std::string | hostname () const override |
| int | read (char *, int) override |
| Read data from the socket. More... | |
| void | write (const char *, size_t) override |
| Sends data via the socket. More... | |
| void | flush () override |
| Flushed the socket. More... | |
| void | connected () override |
| void | broadcastReply (const std::string &message, const std::string &attr, std::chrono::nanoseconds time_ns, const std::string &user) override |
| Broadcast Reply. More... | |
| void | pingReply () override |
| Ping Reply. More... | |
| void | findReply (PdCom::Variable const &var) override |
| void | listReply (std::vector< PdCom::Variable > vars, std::vector< std::string > dirs) override |
| void | clientStatisticsReply (std::vector< PdCom::ClientStatistics > statistics) override |
| void | reset () |
| Resets the PdCom process. More... | |
| bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *method=0) |
| Disconnect method inherited from QObject. More... | |
Private Attributes | |
| struct Q_DECL_HIDDEN | Impl |
| std::unique_ptr< Impl > | impl |
PdCom::Process implementation for Qt.
|
strong |
| Process::Process | ( | QObject * | parent = nullptr | ) |
Constructor.
|
virtual |
Destructor.
References disconnectFromHost(), impl, and reset().
|
overrideprivate |
Virtual from PdCom::Process.
|
signal |
Referenced by QtPdCom::BroadcastModel::connectProcess().
|
overrideprivate |
Broadcast Reply.
|
overrideprivate |
|
overrideprivate |
|
signal |
Referenced by QtPdCom::Process::Impl::setConnectionState().
| void Process::connectToHost | ( | const QString & | address, |
| quint16 | port = 2345 |
||
| ) |
|
private |
Disconnect method inherited from QObject.
This is made private, to avoid confusion.
| signal | Signal. |
| receiver | Receiver. |
| method | Method. |
|
signal |
Disconnected gracefully.
This is only emitted, after the user called disconnectFromHost().
Referenced by QtPdCom::PdVariable::updateConnection().
| void Process::disconnectFromHost | ( | ) |
Disconnects from a process.
Referenced by ~Process().
|
signal |
Connection error.
This is emitted after a connection error or when the connection was closed due to a parser error.
Referenced by QtPdCom::PdVariable::updateConnection().
| QFuture< PdCom::Variable > Process::find | ( | const QString & | path | ) |
Find a Variable.
Wrapper function for Process::findVariable.
Finding a variable is asynchronous in general. If you need to write to a variable, a variable object is needed. To write a variable with a single call you can use futures and a lambda function. See the example in the overloaded method find(const QString&, Class *, Function&&).
Referenced by find().
|
inline |
Also find a Variable.
Here, a FutureWatcher is created on your behalf. Callback can be one of
The obj reference is needed to use it as a parent for the watcher and to make the connections disconnect automatically when the Process or the object itself goes away.
Below is an example of how to make use of a lambda function to find a variable and write to it once it is found:
| path | Variable to find. |
| obj | QObject-derived class. |
| callback | Callback which receives the result. |
References find().
|
overrideprivate |
|
overrideprivate |
Flushed the socket.
| QString Process::getApplicationName | ( | ) | const |
References impl.
| Process::SslCaMode Process::getCaMode | ( | ) | const |
Get Traffic Encryption mode.
|
inline |
References getClientStatisticsQt().
| QFuture< std::vector< PdCom::ClientStatistics > > QtPdCom::Process::getClientStatisticsQt | ( | ) |
Referenced by getClientStatistics().
| Process::ConnectionState Process::getConnectionState | ( | ) | const |
|
static |
References QtPdCom::Process::Impl::defaultProcess.
| const QString & Process::getErrorString | ( | ) | const |
| QString Process::getHost | ( | ) | const |
| QtPdCom::LoginManager * Process::getLoginManager | ( | ) | const |
References QtPdCom::LoginManagerPrivate::q_ptr.
| PdCom::MessageManagerBase * Process::getMessageManager | ( | ) | const |
Referenced by QtPdCom::MessageModel::connect().
| QString Process::getPeerName | ( | ) | const |
| int Process::getPort | ( | ) | const |
| quint64 Process::getRxBytes | ( | ) | const |
| quint64 Process::getTxBytes | ( | ) | const |
| QUrl Process::getUrl | ( | ) | const |
|
overrideprivate |
| bool Process::isConnected | ( | ) | const |
Referenced by QtPdCom::MessageModel::connect(), and QtPdCom::ClientStatisticsModel::setProcess().
| QFuture< QtPdCom::VariableList > Process::list | ( | const QString & | path = "" | ) |
Wrapper function for Process::list.
Referenced by list().
|
inline |
References list().
|
overrideprivate |
| QVariant Process::nameQt | ( | ) | const |
Remote process name string.
References name.
|
inline |
References pingQt().
Referenced by QtPdCom::QmlProcess::ping().
| QFuture< void > Process::pingQt | ( | ) |
Referenced by ping().
|
overrideprivate |
Ping Reply.
|
signal |
Connection established.
This is emitted after the connection is established.
Referenced by QtPdCom::MessageModel::connect().
| QtPdCom::Process::Q_ENUM | ( | ConnectionState | ) |
|
overrideprivate |
Read data from the socket.
|
private |
Resets the PdCom process.
Referenced by ~Process().
| void Process::sendBroadcast | ( | const QString & | msg, |
| const QString & | attr = "text" |
||
| ) |
Send a broadcast message.
| void Process::setApplicationName | ( | const QString & | name | ) |
| void QtPdCom::Process::setCaMode | ( | SslCaMode | mode | ) |
Set Traffic Encryption mode.
See the SslCaMode enum for details.
| mode | Mode. |
| void QtPdCom::Process::setClientCertificate | ( | const QSslCertificate & | cert, |
| const QSslKey & | key | ||
| ) |
Provide a client certificate.
| cert | Public certificate. |
| key | Private key. |
| void QtPdCom::Process::setCustomCAs | ( | QList< QSslCertificate > | cas | ) |
Set list of trusted Certificate Authorities.
For SslCaMode::CustomCAs mode.
| cas | List of trusted CAs. |
|
static |
Set default process "manually".
References QtPdCom::Process::Impl::defaultProcess.
Referenced by QtPdCom::DefaultProcess::createDefaultInstance().
| void QtPdCom::Process::setLoginManager | ( | LoginManager * | lm | ) |
Set the Login Manager.
| lm | The Login manager. May be NULL. |
References QtPdCom::LoginManager::d_ptr.
|
privateslot |
Socket connection established.
This is called, when the pure socket connection was established and the Process object can start using it.
|
privateslot |
Socket disconnected.
The socket was closed and the process has to be told, that it is disconnected.
|
privateslot |
There was a socket error.
The error could come up either while connecting the socket, or when the socket was already connected.
|
privateslot |
The socket has new data to read.
|
signal |
| QVariant Process::versionQt | ( | ) | const |
Remote process version string.
References version.
|
overrideprivate |
Sends data via the socket.
This is the implementation of the virtual PdCom::Process method to enable the Process object to send data to the process.
|
private |
|
private |
Referenced by connectToHost(), getApplicationName(), setApplicationName(), and ~Process().
|
readwrite |
|
read |
The process is connected and ready.
This virtual function from PdCom::Process has to be overloaded to let subclasses know about this event.
|
read |
|
read |
|
readwrite |
|
read |
Referenced by nameQt(), and setApplicationName().
|
read |
Referenced by connectToHost().
|
readwrite |
|
read |
|
read |
Referenced by versionQt().