File indexing completed on 2024-05-05 05:29:11

0001 /*
0002  *   SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *
0004  *   SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #include "DiscoverDeclarativePlugin.h"
0008 #include "ReadFile.h"
0009 #include <ApplicationAddonsModel.h>
0010 #include <Category/Category.h>
0011 #include <Category/CategoryModel.h>
0012 #include <QQmlContext>
0013 #include <QQmlEngine>
0014 #include <ReviewsBackend/AbstractReviewsBackend.h>
0015 #include <ReviewsBackend/Rating.h>
0016 #include <ReviewsBackend/ReviewsModel.h>
0017 #include <ScreenshotsModel.h>
0018 #include <Transaction/Transaction.h>
0019 #include <Transaction/TransactionListener.h>
0020 #include <Transaction/TransactionModel.h>
0021 #include <UpdateModel/UpdateModel.h>
0022 #include <qqml.h>
0023 #include <resources/AbstractBackendUpdater.h>
0024 #include <resources/AbstractResource.h>
0025 #include <resources/AbstractSourcesBackend.h>
0026 #include <resources/DiscoverAction.h>
0027 #include <resources/ResourcesModel.h>
0028 #include <resources/ResourcesProxyModel.h>
0029 #include <resources/ResourcesUpdatesModel.h>
0030 #include <resources/SourcesModel.h>
0031 
0032 void DiscoverDeclarativePlugin::registerTypes(const char * /*uri*/)
0033 {
0034     qmlRegisterType<TransactionListener>("org.kde.discover", 2, 0, "TransactionListener");
0035     qmlRegisterType<ResourcesUpdatesModel>("org.kde.discover", 2, 0, "ResourcesUpdatesModel");
0036     qmlRegisterType<ResourcesProxyModel>("org.kde.discover", 2, 0, "ResourcesProxyModel");
0037     qmlRegisterUncreatableType<ResourcesCount>("org.kde.discover", 2, 0, "resourcesCount", QStringLiteral("should come from ResourcesProxyModel"));
0038 
0039     qmlRegisterType<ReviewsModel>("org.kde.discover", 2, 0, "ReviewsModel");
0040     qmlRegisterType<ApplicationAddonsModel>("org.kde.discover", 2, 0, "ApplicationAddonsModel");
0041     qmlRegisterType<ScreenshotsModel>("org.kde.discover", 2, 0, "ScreenshotsModel");
0042     qmlRegisterType<UpdateModel>("org.kde.discover", 2, 0, "UpdateModel");
0043     qmlRegisterType<ReadFile>("org.kde.discover", 2, 0, "ReadFile");
0044 
0045     qmlRegisterUncreatableType<DiscoverAction>("org.kde.discover", 2, 0, "DiscoverAction", QStringLiteral("Use QQC Action"));
0046     qmlRegisterUncreatableType<AbstractResource>("org.kde.discover", 2, 0, "AbstractResource", QStringLiteral("should come from the ResourcesModel"));
0047     qmlRegisterUncreatableType<AbstractSourcesBackend>("org.kde.discover", 2, 0, "AbstractSourcesBackend", QStringLiteral("should come from the SourcesModel"));
0048     qmlRegisterUncreatableType<Transaction>("org.kde.discover", 2, 0, "Transaction", QStringLiteral("should come from the backends"));
0049     qmlRegisterUncreatableType<SourcesModel>("org.kde.discover", 2, 0, "SourcesModelClass", QStringLiteral("should come from the backends"));
0050     qmlRegisterUncreatableType<AbstractBackendUpdater>("org.kde.discover", 2, 0, "AbstractBackendUpdater", QStringLiteral("should come from the backends"));
0051     qmlRegisterUncreatableType<InlineMessage>("org.kde.discover", 2, 0, "InlineMessage", QStringLiteral("should come from the backend"));
0052     qmlRegisterUncreatableType<Category>("org.kde.discover", 2, 0, "Category", QStringLiteral("should come from CategoryModel"));
0053     qmlRegisterUncreatableType<AbstractReviewsBackend>("org.kde.discover", 2, 0, "AbstractReviewsBackend", QStringLiteral("should come from the backends"));
0054     qmlRegisterUncreatableType<AbstractResourcesBackend>("org.kde.discover", 2, 0, "AbstractResourcesBackend", QStringLiteral("should come from the backends"));
0055 
0056     qmlRegisterAnonymousType<TransactionModel>("org.kde.discover", 1);
0057     qmlRegisterAnonymousType<Rating>("org.kde.discover", 1);
0058     qmlRegisterAnonymousType<AbstractResourcesBackend>("org.kde.discover", 1);
0059     qmlRegisterAnonymousType<AbstractReviewsBackend>("org.kde.discover", 1);
0060     qmlRegisterAnonymousType<Category>("org.kde.discover", 1);
0061     qmlRegisterAnonymousType<ResourcesModel>("org.kde.discover", 1);
0062 
0063     qmlRegisterSingletonInstance("org.kde.discover", 2, 0, "CategoryModel", CategoryModel::global());
0064     qmlRegisterSingletonInstance("org.kde.discover", 2, 0, "ResourcesModel", ResourcesModel::global());
0065     qmlRegisterSingletonInstance("org.kde.discover", 2, 0, "TransactionModel", TransactionModel::global());
0066     qmlRegisterSingletonInstance("org.kde.discover", 2, 0, "SourcesModel", SourcesModel::global());
0067 
0068     qmlProtectModule("org.kde.discover", 2);
0069 }