1// Copyright (C) 2015 basysKom GmbH, opensource@basyskom.com
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QOPCUAPLUGIN_H
5#define QOPCUAPLUGIN_H
6
7#include <QtOpcUa/qopcuaglobal.h>
8
9#include <QtCore/qobject.h>
10
11QT_BEGIN_NAMESPACE
12
13class QOpcUaClient;
14
15#define QOpcUaProviderFactory_iid "org.qt-project.qt.opcua.providerfactory/1.0"
16
17class Q_OPCUA_EXPORT QOpcUaPlugin : public QObject
18{
19 Q_OBJECT
20public:
21 explicit QOpcUaPlugin(QObject *parent = nullptr);
22 ~QOpcUaPlugin() override;
23
24 virtual QOpcUaClient *createClient(const QVariantMap &backendProperties) = 0;
25};
26Q_DECLARE_INTERFACE(QOpcUaPlugin, QOpcUaProviderFactory_iid)
27
28QT_END_NAMESPACE
29
30#endif // QOPCUAPLUGIN_H
31

source code of qtopcua/src/opcua/core/qopcuaplugin.h