QOpcUaGdsClient Class
GDSサーバーとの通信を処理する。詳細...
ヘッダー | #include <QOpcUaGdsClient> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS OpcUa) target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
qmake: | QT += opcua |
を継承する: | QObject |
パブリックタイプ
enum class | Error { NoError, InvalidBackend, InvalidEndpoint, ConnectionError, DirectoryNodeNotFound, …, FailedToGetCertificate } |
enum class | State { Idle, BackendInstantiated, Connecting, Connected, RegisteringApplication, …, Error } |
パブリック関数
QOpcUaGdsClient(QObject *parent = nullptr) | |
virtual | ~QOpcUaGdsClient() |
QString | applicationId() const |
const QOpcUaApplicationIdentity & | applicationIdentity() const |
const QOpcUaApplicationRecordDataType & | applicationRecord() const |
const QString & | backend() const |
int | certificateCheckInterval() const |
const QOpcUaX509DistinguishedName & | distinguishedNameCertificateSigningRequestPreset() const |
const QString & | dnsCertificateSigningRequestPreset() const |
const QOpcUaEndpointDescription & | endpoint() const |
QOpcUaGdsClient::Error | error() const |
const QOpcUaPkiConfiguration & | pkiConfiguration() const |
void | setApplicationIdentity(const QOpcUaApplicationIdentity &appIdentity) |
void | setApplicationRecord(const QOpcUaApplicationRecordDataType &appRecord) |
void | setBackend(const QString &backend) |
void | setCertificateCheckInterval(int interval) |
void | setCertificateSigningRequestPresets(const QOpcUaX509DistinguishedName &dn, const QString &dns) |
void | setEndpoint(const QOpcUaEndpointDescription &endpoint) |
void | setPkiConfiguration(const QOpcUaPkiConfiguration &pkiConfig) |
void | setTrustListUpdateInterval(int interval) |
void | start() |
QOpcUaGdsClient::State | state() const |
int | trustListUpdateInterval() const |
void | unregisterApplication() |
シグナル
void | applicationRegistered() |
void | authenticationRequired(QOpcUaAuthenticationInformation &authInfo) |
void | certificateGroupsReceived(QStringList certificateGroups) |
void | certificateUpdateRequired() |
void | certificateUpdated() |
void | errorChanged(QOpcUaGdsClient::Error error) |
void | stateChanged(QOpcUaGdsClient::State state) |
void | trustListUpdated() |
void | unregistered() |
詳細説明
このクラスは現在、技術プレビューとして提供されています。したがって、このクラスによって提供されるAPIと機能は、事前の通知なしにいつでも変更される可能性があります。
このクラスは、GDSサーバとの通信に必要なすべてのステップを処理します。アプリケーションに関する情報が提供され、サーバーへの登録とキー/証明書の管理を行います。
セキュリティで保護されたネットワークに参加するために必要な情報はごくわずかです。
初回の登録には、ユーザー名とパスワードによる認証が必要です。それ以降の認証は、最初に受け取った証明書を使用し、アプリケーションベースで行われる。
全プロセスが成功することを期待して、applicationRegistered のシグナルを待つ必要がある。
ほとんどのセットアップ構造体は、その後のQOpcUaClient との接続と同じでなければならず、共有することができる。
GDSクライアントのセットアップ
QOpcUaGdsClientc;// 認証情報が必要な場合QObject::connect(&c, &)QOpcUaGdsClient::authenticationRequired, [&](QOpcUaAuthenticationInformationauthInfo){ authInfo.setUsernameAuthentication("root", "secret"); });// 成功を待つ。QObject::connect(&c, &)QOpcUaGdsClient::applicationRegistered, [&]() { 接続が成功するのを待つ。 qDebug() << "Application" << c.applicationId() << "registered"; }); c.setBackend(...); c.setEndpoint(...); c.setApplicationIdentity(...); c.setPkiConfiguration(...); c.setApplicationRecord(...); c.setCertificateSigningRequestPresets(...); c.start();
メンバー型ドキュメント
enum class QOpcUaGdsClient::Error
この列挙型は、登録プロセス中に発生する可能性のあるエラーを指定するために使用されます。
定数 | 値 | 説明 |
---|---|---|
QOpcUaGdsClient::Error::NoError | 0 | すべて正常 |
QOpcUaGdsClient::Error::InvalidBackend | 1 | バックエンドをインスタンス化できませんでした。指定されたバックエンド文字列がどのバックエンドにもマッチしないか、プラグインのロードに失敗しました。 |
QOpcUaGdsClient::Error::InvalidEndpoint | 2 | 指定されたエンドポイントは無効です。 |
QOpcUaGdsClient::Error::ConnectionError | 3 | サーバ・エンドポイントへの接続に失敗しました。 |
QOpcUaGdsClient::Error::DirectoryNodeNotFound | 4 | サーバ上のディレクトリ・ノードを解決できませんでした。 |
QOpcUaGdsClient::Error::FailedToRegisterApplication | 5 | アプリケーションの登録に失敗しました。 |
QOpcUaGdsClient::Error::FailedToUnregisterApplication | 6 | アプリケーションの登録解除に失敗しました。 |
QOpcUaGdsClient::Error::FailedToGetCertificateStatus | 7 | 現在の証明書のステータスを取得できませんでした。 |
QOpcUaGdsClient::Error::FailedToGetCertificate | 8 | サーバーから証明書を取得できませんでした。 |
enum class QOpcUaGdsClient::State
この列挙型は、GDSクライアントの現在の登録状態を指定するために使用される。
定数 | 値 | 説明 |
---|---|---|
QOpcUaGdsClient::State::Idle | 0 | クライアントはまだ開始されていません。 |
QOpcUaGdsClient::State::BackendInstantiated | 1 | バックエンドがインスタンス化された |
QOpcUaGdsClient::State::Connecting | 2 | サーバへの接続が行われている |
QOpcUaGdsClient::State::Connected | 3 | サーバ・エンドポイントへの接続に成功しました。 |
QOpcUaGdsClient::State::RegisteringApplication | 4 | アプリケーションをサーバーに登録中です。 |
QOpcUaGdsClient::State::ApplicationRegistered | 5 | アプリケーションのサーバへの登録に成功しました。 |
QOpcUaGdsClient::State::Error | 6 | エラーが発生しました。詳細はerror() の戻り値と端末出力を参照。 |
メンバー関数ドキュメント
QOpcUaGdsClient::QOpcUaGdsClient(QObject *parent = nullptr)
parent を親オブジェクトとして GDS クライアントを構築する。
[virtual noexcept]
QOpcUaGdsClient::~QOpcUaGdsClient()
GDSクライアントを破壊する。
QString QOpcUaGdsClient::applicationId() const
サーバーから割り当てられたアプリケーション ID を返します。
これは、アプリケーション・レコード・データからアプリケーション ID を受け取るためのショートカットです。
applicationRecord()も参照してください 。
const QOpcUaApplicationIdentity &QOpcUaGdsClient::applicationIdentity() const
現在の applicationIdentity を返します。
setApplicationIdentity()も参照してください 。
const QOpcUaApplicationRecordDataType &QOpcUaGdsClient::applicationRecord() const
クライアントが使用するアプリケーション・レコード・データを返します。
setApplicationRecord()も参照 。
[signal]
void QOpcUaGdsClient::applicationRegistered()
このシグナルは、アプリケーションが正常に登録されたときに発行される。
[signal]
void QOpcUaGdsClient::authenticationRequired(QOpcUaAuthenticationInformation &authInfo)
このシグナルは、GDSクライアントが管理者権限を必要とするサーバーで初回認証を行おうとしたときに発行される。
authInfo は有効な認証情報で満たされなければならない。このスロットはスレッドの境界を越えて使用してはならない。
const QString &QOpcUaGdsClient::backend() const
現在のバックエンド設定を返します。
クライアントの起動後にバックエンドが変更された場合は、 変更後の設定を返しますが、実際に使用するインスタンスは返しません。
setBackend()も参照ください 。
int QOpcUaGdsClient::certificateCheckInterval() const
クライアント証明書の有効性をチェックする間隔をミリ秒単位で返します。
setCertificateCheckInterval()も参照 。
[signal]
void QOpcUaGdsClient::certificateGroupsReceived(QStringList certificateGroups)
このシグナルは、GDSクライアントがこのアプリケーションの新しいリスト(certificateGroups )を受信したときに発行される。
[signal]
void QOpcUaGdsClient::certificateUpdateRequired()
このシグナルは、GDSクライアントが、現在使用されている証明書の更新が必要であることを検出したときに発行される。
これは、サーバーがクライアントに証明書の更新を要求した場合、証明書の期限が到来した場合、または証明書が自己署名されている場合に発生します。
証明書の更新は自動的に処理される。このシグナルは、更新が行われることを知らせるためだけのものである。
[signal]
void QOpcUaGdsClient::certificateUpdated()
このシグナルは、GDSクライアントがディスクに保存された新しい証明書を受信したときに発行される。
const QOpcUaX509DistinguishedName &QOpcUaGdsClient::distinguishedNameCertificateSigningRequestPreset() const
証明書署名要求に対して事前に設定されている識別名を返します。
const QString &QOpcUaGdsClient::dnsCertificateSigningRequestPreset() const
証明書署名要求用の DNS プリセットを返します。
const QOpcUaEndpointDescription &QOpcUaGdsClient::endpoint() const
現在のエンドポイント設定を返します。
クライアントを起動した後にエンドポイントが変更された場合は、変更された設定を返しますが、実際に使用されているエンドポイントは返しません。
setEndpoint()も参照してください 。
QOpcUaGdsClient::Error QOpcUaGdsClient::error() const
現在のエラー状態を返します。
[signal]
void QOpcUaGdsClient::errorChanged(QOpcUaGdsClient::Error error)
このシグナルは、error 。
const QOpcUaPkiConfiguration &QOpcUaGdsClient::pkiConfiguration() const
現在の pkiConfiguration を返します。
setPkiConfiguration()も参照してください 。
void QOpcUaGdsClient::setApplicationIdentity(const QOpcUaApplicationIdentity &appIdentity)
クライアントが使用するアプリケーションIDappIdentity を設定する。
このIDはGDSサーバーへの登録に使用される。この関数はGDSクライアントを起動する前に呼び出す必要があります。後でこの設定を変更しても、何の効果もありません。
applicationIdentity()も参照 。
void QOpcUaGdsClient::setApplicationRecord(const QOpcUaApplicationRecordDataType &appRecord)
クライアントが使用するアプリケーション記録データappRecord を設定する。
このデータはGDSサーバーへの登録に使用される。この関数はGDSクライアントを起動する前に呼び出す必要がある。
ほとんどのデータはアプリケーションIDと同じです。登録後、割り当てられたアプリケーションIDを取得することができる。
applicationRecord() およびsetApplicationIdentityも参照のこと 。
void QOpcUaGdsClient::setBackend(const QString &backend)
クライアントがサーバーと通信するために使用するバックエンドをbackend に設定する。
この関数はGDSクライアントを起動する前に呼び出す必要がある。後でこの設定を変更しても、何の効果もない。
backend()、QOpcUaProvider::availableBackends()、start()も参照の こと。
void QOpcUaGdsClient::setCertificateCheckInterval(int interval)
クライアント証明書の有効性をチェックする間隔をミリ秒単位でinterval に設定する。
certificateCheckInterval()も参照のこと 。
void QOpcUaGdsClient::setCertificateSigningRequestPresets(const QOpcUaX509DistinguishedName &dn, const QString &dns)
証明書署名要求のプリセット、識別名dn および DNS 文字列dns を設定する。
証明書署名要求を作成する際、アプリケーションIDでは提供されない追加情報が必要である。
この関数は、GDSクライアントを起動する前に呼び出す必要がある。
setApplicationIdentity()も参照のこと 。
void QOpcUaGdsClient::setEndpoint(const QOpcUaEndpointDescription &endpoint)
クライアントがサーバーと通信するために使用するエンドポイントをendpoint に設定する。
この関数はGDSクライアントを起動する前に呼び出す必要がある。後でこの設定を変更しても効果はありません。
GDSサーバーとの通信は暗号化されたエンドポイントを介してのみ可能です。暗号化されていないエンドポイントを使用すると失敗します。
endpoint()も参照のこと 。
void QOpcUaGdsClient::setPkiConfiguration(const QOpcUaPkiConfiguration &pkiConfig)
クライアントが使用する PKI 構成pkiConfig を設定します。
すべての証明書、鍵、およびトラスト・リストは、指定された場所か ら使用されるか、指定された場所に格納される。GDSから受信した証明書を使用するには、同じ構成をQOpcUaClient で使用する必要がある。
この関数はGDSクライアントを起動する前に呼び出す必要があります。この設定は、GDSクライアントを起動する前に呼び出す必要がある。
pkiConfiguration()も参照のこと 。
void QOpcUaGdsClient::setTrustListUpdateInterval(int interval)
サーバーからinterval 、トラスト・リストを更新する間隔をミリ秒単位で設定する。
trustListUpdateInterval()も参照 。
void QOpcUaGdsClient::start()
クライアントプロセスを開始します。
すべての情報を設定した後、クライアントを開始できる。
- setBackend
- setEndpoing
- setApplicationIdentity
- setPkiConfiguration
- setApplicationRecord
- setCertificateSigingRequestPresets
QOpcUaGdsClient::State QOpcUaGdsClient::state() const
現在のクライアントの状態を返します。
[signal]
void QOpcUaGdsClient::stateChanged(QOpcUaGdsClient::State state)
このシグナルは、クライアントの内部状態が変化したときに発せられる。state は新しい状態を示す。
int QOpcUaGdsClient::trustListUpdateInterval() const
サーバーからのトラスト・リストの更新間隔をミリ秒単位で返します。
setTrustListUpdateInterval()も参照 ください。
[signal]
void QOpcUaGdsClient::trustListUpdated()
このシグナルは、GDSクライアントがサーバーから新しいトラストリストを受信し、ディスクに保存したときに発せられる。
void QOpcUaGdsClient::unregisterApplication()
サーバーからアプリケーションの登録を解除します。
この関数は、アプリケーションをネットワークから恒久的に削除する場合に使用します。再起動やシャットダウン時に呼び出す必要はありません。
[signal]
void QOpcUaGdsClient::unregistered()
このシグナルは、GDSクライアントがアプリケーションの登録を解除したときに発行される。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.