1 // Copyright (C) 2014-2017 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
2 // This Source Code Form is subject to the terms of the Mozilla Public
3 // License, v. 2.0. If a copy of the MPL was not distributed with this
4 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 
6 #ifndef VSOMEIP_V3_PLUGIN_MANAGER_HPP
7 #define VSOMEIP_V3_PLUGIN_MANAGER_HPP
8 
9 #include <memory>
10 #include <string>
11 
12 #include <vsomeip/export.hpp>
13 #include <vsomeip/plugin.hpp>
14 
15 namespace vsomeip_v3 {
16 
17 class plugin_manager {
18 public:
~plugin_manager()19     VSOMEIP_EXPORT virtual ~plugin_manager() {};
20     VSOMEIP_EXPORT static std::shared_ptr<plugin_manager> get();
21     VSOMEIP_EXPORT virtual void load_plugins() = 0;
22     VSOMEIP_EXPORT virtual std::shared_ptr<plugin> get_plugin(plugin_type_e _type, std::string _name) = 0;
23 
24 };
25 
26 } // namespace vsomeip_v3
27 
28 #endif // VSOMEIP_V3_PLUGIN_MANAGER_HPP
29