dde-control-center
Deepin Control Center
载入中...
搜索中...
未找到
plugininterface.h
1// SPDX-FileCopyrightText: 2018 - 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4#ifndef DCC_PLUGININTERFACE_H
5#define DCC_PLUGININTERFACE_H
6
7#include "namespace.h"
8
9#include <QObject>
10
11namespace DCC_NAMESPACE {
12class ModuleObject;
13
14class PluginInterface : public QObject
15{
16 Q_OBJECT
17public:
18 PluginInterface(QObject *parent = nullptr)
19 : QObject(parent)
20 {
21 }
22
23 virtual ~PluginInterface() { }
24
29 virtual ModuleObject *module() = 0;
30
35 virtual QString name() const { return QString(); }
36
41 virtual QString follow() const { return QString(); }
42
47 virtual QString location() const { return QString(); }
48};
49
50} // namespace DCC_NAMESPACE
51
52Q_DECLARE_INTERFACE(DCC_NAMESPACE::PluginInterface, "org.deepin.dde.ControlCenter.Plugin/1.4")
53
54#endif // DCC_PLUGININTERFACE_H
ModuleObject作为规范每个Module的接口,每个Module必须提供其基本的信息
Definition moduleobject.h:66
Definition plugininterface.h:15
virtual QString follow() const
插件必须知道其需要跟随的父ModuleObject的url ,默认为空则为一级插件
Definition plugininterface.h:41
virtual QString name() const
标识插件信息
Definition plugininterface.h:35
virtual ModuleObject * module()=0
插件最基本的元素由 ModuleObject 组成,所以最少有一个 ModuleObject
virtual QString location() const
插件位置索引,相同索引则按加载顺序进行排序,先加载的往后顺延,默认追加到最后
Definition plugininterface.h:47