27 [[nodiscard]] std::shared_ptr<PicoScenesPluginManager>
getManager()
const {
31 [[nodiscard]] std::shared_ptr<AbstractPicoScenesPlugin>
getPluginCore()
const {
36 return libraryFilePath;
40 std::string libraryFilePath;
41 boost::function<std::shared_ptr<AbstractPicoScenesPlugin>()> libraryHandle;
42 std::shared_ptr<AbstractPicoScenesPlugin> pluginCore;
43 std::shared_ptr<PicoScenesPluginManager> manager;
48 static std::shared_ptr<PicoScenesPluginManager>
getInstance(
const std::shared_ptr<AbstractNIC> &nic);
52 static const std::vector<std::shared_ptr<po::options_description>> &
getPluginOptions();
60 const std::vector<std::shared_ptr<PicoScenesPluginWrapper>> &
getAllPlugins()
const;
73 std::shared_ptr<AbstractNIC> nic;
74 std::vector<std::shared_ptr<PicoScenesPluginWrapper>> plugins;
75 static std::vector<std::shared_ptr<po::options_description>> pluginOptions;
77 static void ensureSinglePluginDescription(
const std::shared_ptr<AbstractPicoScenesPlugin> &getPluginCore);