KPeople 5.109.0
personpluginmanager.h
1/*
2 SPDX-FileCopyrightText: 2013 David Edmundson <davidedmundson@kde.org>
3 SPDX-FileCopyrightText: 2018 Igor Poboiko <igor.poboiko@gmail.com>
4
5 SPDX-License-Identifier: LGPL-2.1-or-later
6*/
7
8#ifndef PERSON_PLUGIN_MANAGER_H
9#define PERSON_PLUGIN_MANAGER_H
10
11#include <kpeople/kpeople_export.h>
12
13#include <QHash>
14#include <QVariant>
15
16namespace KPeople
17{
18class AbstractPersonAction;
19class BasePersonsDataSource;
20
33class KPEOPLE_EXPORT PersonPluginManager
34{
35public:
42 static void setAutoloadDataSourcePlugins(bool autoloadDataSourcePlugins);
43 static QList<BasePersonsDataSource *> dataSourcePlugins();
49 static void addDataSource(const QString &sourceId, BasePersonsDataSource *source);
50 static BasePersonsDataSource *dataSource(const QString &sourceId);
51
56 static void setDataSourcePlugins(const QHash<QString, BasePersonsDataSource *> &dataSources);
57
64 static bool addContact(const QVariantMap &properties);
65
72 static bool deleteContact(const QString &uri);
73};
74}
75
76#endif // PERSON_PLUGIN_MANAGER_H
This class allows applications to manage DataSource plugins.
Definition personpluginmanager.h:34
static bool deleteContact(const QString &uri)
Deletes a contact with the specified &p uri.
static void addDataSource(const QString &sourceId, BasePersonsDataSource *source)
Adds custom data source.
static bool addContact(const QVariantMap &properties)
Creates a contact with the specified properties.
static void setDataSourcePlugins(const QHash< QString, BasePersonsDataSource * > &dataSources)
Instead of loading datasources from plugins, set sources manually This is for unit tests only.
static void setAutoloadDataSourcePlugins(bool autoloadDataSourcePlugins)
Use this if you explicitly don't want KPeople to autoload all the available data source plugins.