QtCanpool 3.3.0
载入中...
搜索中...
未找到
qxpluginspec.h
浏览该文件的文档.
1
5#ifndef QXPLUGINSPEC_H
6#define QXPLUGINSPEC_H
7
8#include "qxplugin_global.h"
9
10#include <QtCore/QJsonObject>
11#include <QtCore/QString>
12#include <QtCore/QStringList>
13#include <QtCore/QVersionNumber>
14
16
17class QxPluginSpecPrivate;
18
19class QxPlugin;
20
21class QxPluginManagerPrivate;
22
34enum class QxPluginState {
35 Invalid,
36 Read,
38 Loaded,
40 Stopped,
42};
43
54{
55public:
58
59 // Identity --------------------------------------------------------------
61 QString id() const;
62 QVersionNumber version() const;
64 QVersionNumber compatVersion() const;
65 QString vendor() const;
66 QString copyright() const;
67 QString category() const;
68 QString description() const;
69 QString url() const;
70
71 // Dependencies ----------------------------------------------------------
73 QStringList dependencies() const;
75 QStringList optionalDependencies() const;
76
77 // Enabling --------------------------------------------------------------
79 bool isEnabledByDefault() const;
81 bool isDisabled() const;
82
83 // Runtime ----------------------------------------------------------------
84 QxPluginState state() const;
86 QxPlugin *plugin() const;
88 QString filePath() const;
90 QString error() const;
91
92 // Construction (manager only) ------------------------------------------
94 bool read(const QString &filePath, const QJsonObject &metaData);
95private:
96 friend class QxPluginManager;
97 friend class QxPluginManagerPrivate;
99
100
101 void setState(QxPluginState state);
102 void setError(const QString &error);
103 void setPlugin(QxPlugin *plugin);
104};
105
107
108#endif // QXPLUGINSPEC_H
Discovers, orders, loads and isolates QtCanpool plugins.
A read-only view of one plugin's metadata, plus the runtime state the manager attaches to it.
Copyright (C) 2026 maminjie canpool@163.com SPDX-License-Identifier: MulanPSL-2.0
QxPluginState
Lifecycle state of a single plugin, as the manager drives it:
#define QX_DECLARE_PRIVATE(Class)
#define QX_PLUGIN_BEGIN_NAMESPACE
#define QX_PLUGIN_END_NAMESPACE
#define QX_PLUGIN_EXPORT
const char * id
Definition qxtheme.cpp:24