Overte C++ Documentation
plugins/src/plugins/Forward.h
1 //
2 // Created by Bradley Austin Davis on 2015/08/08
3 // Copyright 2015 High Fidelity, Inc.
4 //
5 // Distributed under the Apache License, Version 2.0.
6 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7 //
8 #pragma once
9 
10 #include <vector>
11 #include <memory>
12 #include <functional>
13 
14 enum class PluginType {
15  DISPLAY_PLUGIN,
16  INPUT_PLUGIN,
17  CODEC_PLUGIN,
18 };
19 
20 class DisplayPlugin;
21 class InputPlugin;
22 class CodecPlugin;
23 class SteamClientPlugin;
24 class OculusPlatformPlugin;
25 class Plugin;
26 class PluginContainer;
27 class PluginManager;
28 
29 using DisplayPluginPointer = std::shared_ptr<DisplayPlugin>;
30 using DisplayPluginList = std::vector<DisplayPluginPointer>;
31 using DisplayPluginProvider = std::function<DisplayPluginList()>;
32 using InputPluginPointer = std::shared_ptr<InputPlugin>;
33 using InputPluginList = std::vector<InputPluginPointer>;
34 using InputPluginProvider = std::function<InputPluginList()>;
35 using CodecPluginPointer = std::shared_ptr<CodecPlugin>;
36 using CodecPluginList = std::vector<CodecPluginPointer>;
37 using CodecPluginProvider = std::function<CodecPluginList()>;
38 using SteamClientPluginPointer = std::shared_ptr<SteamClientPlugin>;
39 using OculusPlatformPluginPointer = std::shared_ptr<OculusPlatformPlugin>;
40 using InputPluginSettingsPersister = std::function<void(const InputPluginList&)>;
Manages loadable plugins.
Definition: PluginManager.h:39