dde-control-center
Deepin Control Center
载入中...
搜索中...
未找到
dccfactory.h
1
// SPDX-FileCopyrightText: 2024 - 2027 UnionTech Software Technology Co., Ltd.
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
#ifndef DCCFACTORY_H
5
#define DCCFACTORY_H
6
7
#include <QObject>
8
9
namespace
dccV25 {
10
#define DccFactory_iid "org.deepin.dde.dcc-factory/v1.0"
11
class
DccObject;
12
13
class
DccFactory
:
public
QObject
14
{
15
Q_OBJECT
16
public
:
17
using
QObject::QObject;
18
19
// 作为数据返回,会导出为dccData供main.qml使用
20
virtual
QObject *create(QObject * =
nullptr
) {
return
nullptr
; }
21
22
// 未提供qml的,可在此自己加载qml返回DccObject对象
23
virtual
DccObject
*dccObject(QObject * =
nullptr
) {
return
nullptr
; }
24
};
25
}
// namespace dccV25
26
Q_DECLARE_INTERFACE(
dccV25::DccFactory
, DccFactory_iid)
27
28
#define DCC_FACTORY_CLASS(classname) \
29
namespace { \
30
class Q_DECL_EXPORT classname##DccFactory : public dccV25::DccFactory \
31
{ \
32
Q_OBJECT \
33
Q_PLUGIN_METADATA(IID DccFactory_iid) \
34
Q_INTERFACES(dccV25::DccFactory) \
35
public: \
36
using dccV25::DccFactory::DccFactory; \
37
QObject *create(QObject *parent = nullptr) override \
38
{ \
39
return new classname(parent); \
40
} \
41
}; \
42
}
43
#endif
// DCCFACTORY_H
dccV25::DccFactory
Definition
dccfactory.h:14
dccV25::DccObject
Definition
dccobject.h:14
include
dccfactory.h
文档生成时间:2025-07-08-09:08 +00
Doxygen Version
1.9.8
制作者:deepin doc doc go SIG
文档使用CC-BY-4.0共享