Albert
Loading...
Searching...
No Matches
albert::PluginMetaData Class Reference

#include <albert/pluginmetadata.h>

Detailed Description

Common plugin metadata of plugins.

Public Types

enum class  LoadType { User , Frontend }
 The load type of the plugin. More...
 

Public Attributes

QString iid
 Interface identifier.
 
QString id
 GUID, no duplicates allowed.
 
QString version
 https://semver.org/
 
QString name
 Human readable name.
 
QString description
 Brief, imperative description.
 
QString license
 Short form e.g. BSD-2.
 
QString url
 Browsable source, README, issues.
 
QStringList translations
 Available translations.
 
QStringList authors
 The copyright holders.
 
QStringList runtime_dependencies
 Required libraries.
 
QStringList binary_dependencies
 Required executables.
 
QStringList plugin_dependencies
 Required plugins.
 
QStringList third_party_credits
 Third party credits and license notes.
 
QStringList platforms
 List of supported platforms. Empty means all.
 
LoadType load_type {LoadType::User}
 The load type of the plugin.
 

Member Enumeration Documentation

◆ LoadType

The load type of the plugin.

Some plugins have to be treated differently when loading. E.g. a frontends are an integral part of the app, there has to be exactly one frontend which will be loaded before any other plugins. Some other pluins cannot be safely unloaded at runtime (e.g. Python).

Enumerator
User 

Plugin should be user (un-)loadable.

Frontend 

Loading handled by the core. Requires Frontend interface.

Member Data Documentation

◆ authors

QStringList albert::PluginMetaData::authors

The copyright holders.

◆ binary_dependencies

QStringList albert::PluginMetaData::binary_dependencies

Required executables.

◆ description

QString albert::PluginMetaData::description

Brief, imperative description.

◆ id

QString albert::PluginMetaData::id

GUID, no duplicates allowed.

Remarks
To avoid name conflicts PluginLoaders should prefix their plugins ids with the id of the loader

◆ iid

QString albert::PluginMetaData::iid

Interface identifier.

◆ license

QString albert::PluginMetaData::license

Short form e.g. BSD-2.

◆ load_type

LoadType albert::PluginMetaData::load_type {LoadType::User}

The load type of the plugin.

See also
Loadtype

◆ name

QString albert::PluginMetaData::name

Human readable name.

◆ platforms

QStringList albert::PluginMetaData::platforms

List of supported platforms. Empty means all.

◆ plugin_dependencies

QStringList albert::PluginMetaData::plugin_dependencies

Required plugins.

Since
0.23

◆ runtime_dependencies

QStringList albert::PluginMetaData::runtime_dependencies

Required libraries.

◆ third_party_credits

QStringList albert::PluginMetaData::third_party_credits

Third party credits and license notes.

◆ translations

QStringList albert::PluginMetaData::translations

Available translations.

◆ url

QString albert::PluginMetaData::url

Browsable source, README, issues.

◆ version

QString albert::PluginMetaData::version

The documentation for this class was generated from the following file: