Albert
Loading...
Searching...
No Matches
plugininstance.h
Go to the documentation of this file.
1// Copyright (c) 2023-2024 Manuel Schneider
2
3#pragma once
4#include "albert/export.h"
5#include <QString>
6#include <map>
7#include <memory>
8class QDir;
9class QSettings;
10class QWidget;
11
12namespace albert
13{
14class ExtensionRegistry;
15
21class ALBERT_EXPORT PluginInstance
22{
23public:
25
28 QString id() const;
29
32 QString name() const;
33
36 QString description() const;
37
40 QDir cacheDir() const;
41
44 QDir configDir() const;
45
48 QDir dataDir() const;
49
52 std::unique_ptr<QSettings> settings() const;
53
57 std::unique_ptr<QSettings> state() const;
58
63 virtual void initialize(ExtensionRegistry &registry, std::map<QString,PluginInstance*> dependencies);
64
68 virtual void finalize(ExtensionRegistry &registry);
69
71 virtual QWidget *buildConfigWidget();
72
73protected:
74
75 virtual ~PluginInstance();
76
77private:
78
79 class Private;
80 const std::unique_ptr<Private> d;
81};
82
83}
The common extension pool.
Definition: extensionregistry.h:22
Abstract plugin instance class.
Definition: plugininstance.h:22
QString id() const
The plugin identifier.
virtual void finalize(ExtensionRegistry &registry)
The finalization function.
std::unique_ptr< QSettings > state() const
Persistent plugin state utilizing QSettings.
QDir dataDir() const
The recommended data location.
QString description() const
Brief description of the plugin.
std::unique_ptr< QSettings > settings() const
Persistent plugin settings utilizing QSettings.
virtual QWidget * buildConfigWidget()
Config widget factory.
QDir cacheDir() const
The recommended cache location.
virtual void initialize(ExtensionRegistry &registry, std::map< QString, PluginInstance * > dependencies)
The initialization function.
QDir configDir() const
The recommended config location.
QString name() const
The human readable plugin name.
Definition: albert.h:12