11 #include <QtCore/QSharedPointer>
13 #include <DependencyManager.h>
14 #include <SettingHandle.h>
15 #include <QJsonDocument>
16 #include <QJsonObject>
21 using PluginManagerPointer = QSharedPointer<PluginManager>;
87 static PluginManagerPointer getInstance();
185 void setContainer(PluginContainer* container) { _container = container; }
241 using PluginFilter = std::function<bool(
const QJsonObject&)>;
262 bool getEnableOculusPluginSetting() {
return _enableOculusPluginSetting.
get(); }
263 void setEnableOculusPluginSetting(
bool value);
275 void inputDeviceRunningChanged(
const QString& pluginName,
bool isRunning,
const QStringList& runningDevices);
280 DisplayPluginProvider _displayPluginProvider { []()->DisplayPluginList {
return {}; } };
281 InputPluginProvider _inputPluginProvider { []()->InputPluginList {
return {}; } };
282 CodecPluginProvider _codecPluginProvider { []()->CodecPluginList {
return {}; } };
283 InputPluginSettingsPersister _inputSettingsPersister { [](
const InputPluginList& list) {} };
284 PluginContainer* _container {
nullptr };
285 DisplayPluginList _displayPlugins;
286 InputPluginList _inputPlugins;
287 PluginFilter _pluginFilter { [](
const QJsonObject&) {
return true; } };
289 using Loader = QSharedPointer<QPluginLoader>;
290 using LoaderList = QList<Loader>;
292 const LoaderList& getLoadedPlugins()
const;
294 "private/enableScriptingPlugins", (bool)qgetenv(
"enableScriptingPlugins").toInt()
307 static const int HIFI_PLUGIN_INTERFACE_VERSION = 1;
Manages loadable plugins.
Definition: PluginManager.h:39
void saveSettings()
Save the settings.
Definition: PluginManager.cpp:383
void setContainer(PluginContainer *container)
Set the container for plugins.
Definition: PluginManager.h:185
const OculusPlatformPluginPointer getOculusPlatformPlugin()
Get the pointer to the Oculus Platform Plugin.
Definition: PluginManager.cpp:232
void disableInputs(const QStringList &inputs)
Disable a list of inputs.
Definition: PluginManager.cpp:379
void setPreferredDisplayPlugins(const QStringList &displays)
Sets the list of preferred display plugins.
Definition: PluginManager.cpp:349
const InputPluginList & getInputPlugins()
Get the list of input plugins.
Definition: PluginManager.cpp:297
void setCodecPluginProvider(const CodecPluginProvider &provider)
Provide a list of statically linked plugins.
Definition: PluginManager.cpp:42
void setInputPluginSettingsPersister(const InputPluginSettingsPersister &persister)
Set the input plugin persister.
Definition: PluginManager.cpp:46
const DisplayPluginList & getDisplayPlugins()
Get the list of display plugins.
Definition: PluginManager.cpp:261
const CodecPluginList & getCodecPlugins()
Get the list of audio codec plugins.
Definition: PluginManager.cpp:188
QStringList getRunningInputDeviceNames() const
Get the list of running input devices.
Definition: PluginManager.cpp:339
Q_INVOKABLE DisplayPluginList getAllDisplayPlugins()
Get a list of all the display plugins.
Definition: PluginManager.cpp:257
void setPluginFilter(PluginFilter pluginFilter)
Set the plugin filter that determines whether a plugin will be used or not.
Definition: PluginManager.h:253
std::vector< PluginInfo > getPluginInfo() const
Returns information about known plugins.
Definition: PluginManager.cpp:183
void setInputPluginProvider(const InputPluginProvider &provider)
Provide a list of statically linked plugins.
Definition: PluginManager.cpp:38
DisplayPluginList getPreferredDisplayPlugins()
Returns the list of preferred display plugins.
Definition: PluginManager.cpp:353
const SteamClientPluginPointer getSteamClientPlugin()
Get the pointer to the Steam client plugin.
Definition: PluginManager.cpp:216
void setDisplayPluginProvider(const DisplayPluginProvider &provider)
Provide a list of statically linked plugins.
Definition: PluginManager.cpp:34
void disableDisplays(const QStringList &displays)
Disable a list of displays.
Definition: PluginManager.cpp:375
T get() const
Returns the value of the setting, or the default value if not found.
Definition: SettingHandle.h:240
Information about known plugins.
Definition: PluginManager.h:49
bool loaded
Whether the plugin has been loaded successfully.
Definition: PluginManager.h:83
bool filteredOut
Whether the plugin has been filtered out by a filter.
Definition: PluginManager.h:71
bool disabled
Whether the plugin has been disabled.
Definition: PluginManager.h:65
QString name
Filename.
Definition: PluginManager.h:59
QJsonObject metaData
Plugin metadata.
Definition: PluginManager.h:53
bool wrongVersion
Whether the plugin has been not loaded because it's the wrong version.
Definition: PluginManager.h:77