File indexing completed on 2024-05-05 04:41:57

0001 // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
0002 // SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
0003 // SPDX-License-Identifier: LGPL-2.0-or-later
0004 
0005 #include <QQmlExtensionPlugin>
0006 #include <QQmlEngine>
0007 #include "nameutils.h"
0008 
0009 class ComponentsPlugin : public QQmlExtensionPlugin
0010 {
0011     Q_OBJECT
0012     Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
0013 
0014 public:
0015     ComponentsPlugin() = default;
0016     ~ComponentsPlugin() = default;
0017     void initializeEngine(QQmlEngine *engine, const char *uri) override;
0018     void registerTypes(const char *uri) override;
0019 };
0020 
0021 void ComponentsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
0022 {
0023     Q_UNUSED(engine)
0024     Q_UNUSED(uri)
0025 }
0026 
0027 void ComponentsPlugin::registerTypes(const char *uri)
0028 {
0029     qmlRegisterModule(uri, 1, 0);
0030     qmlRegisterSingletonType<NameUtils>(uri, 1, 0, "NameUtils", [](QQmlEngine*, QJSEngine*) -> QObject* {
0031         return new NameUtils;
0032     });
0033 }
0034 
0035 #include "componentsplugin.moc"