1 // Copyright (C) 2016-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_PRE_CONFIGURATION_PLUGIN_HPP_ 7 #define VSOMEIP_V3_PRE_CONFIGURATION_PLUGIN_HPP_ 8 9 #include <vsomeip/export.hpp> 10 11 // Version should be incremented on breaking API change 12 #define VSOMEIP_PRE_CONFIGURATION_PLUGIN_VERSION 1 13 14 namespace vsomeip_v3 { 15 /** 16 * The pre configuration plug-in can be used to extend configuration load behavior 17 * via an module/plug-in. 18 */ 19 class pre_configuration_plugin { 20 public: ~pre_configuration_plugin()21 virtual ~pre_configuration_plugin() {} 22 23 // Plug-In should return a valid path to a vSomeIP configuration. 24 // vSomeIP will use this path for config loading if such a plug-in is availablel. 25 virtual std::string get_configuration_path() = 0; 26 }; 27 28 } // namespace vsomeip_v3 29 30 #endif // VSOMEIP_V3_PRE_CONFIGURATION_PLUGIN_HPP_ 31