This repository was archived by the owner on Aug 5, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 67
Test skeleton plugin #252
Closed
Closed
Test skeleton plugin #252
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e62d84d
to
53c4cff
Compare
Need #255 before merging. |
935f5cc
to
99fcf54
Compare
The plugins' entry-point used to be a symbol which name was constructed based on the library name but the Parameter Framework was trying to deduce it based on how library files are usually named on Linux, i.e. prefixed with "lib", then the soname, then ".so". This is not always true on Linux and this is usually false on Windows. Also, if the API of this symbol changes, there is no way to know at compile-time. Which is why this rework introduces a macro to be used by plugins. This macro is the name of the entry-point symbol to be declared by plugins and will be retrieved by the Parameter Framework. A new header is added and exported to plugins: Plugin.h. This header declares the entry-point and also declares it to be visible (a private entry-point would be useless). Plugins should use this header in the file defining their entry-point. For now, we only support one API version at a time: if the API changes from V1 to V2, the plugins won't compile and the Parameter Framework won't recognize previously-compiled plugins using V1. If we want backward-compatibility, we can add it later by declaring both macros (V1 and V2) and trying to find the symbol corresponding to V1 if the symbol corresponding to V2 can't be found. The first name of the macro is: PARAMETER_FRAMEWORK_PLUGIN_ENTRYPOINT_V1 Implementation detail: the implementation is split between Plugin.h, SubsystemLibrary and SystemClass: everything the plugin needs to know is put under Plugin.h, what must be shared between the plugin and the core is under Subsystemlibrary and the parts private to the core are under SystemClass - which is the class responsible for loading the plugins. Signed-off-by: David Wagner <david.wagner@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
99fcf54
to
872d46b
Compare
Contains #255 (which is only the "rework the plugin entry-point api" commit). |
Import libraries are used at link time: they describe the interface offered by a DLL. They are needed by client and plugin developers in order to link against parameter.dll. CMake considers them to be "archives". Thus, this commit instruct CMake to install the "archives" under the "lib" subdirectory. Signed-off-by: David Wagner <david.wagner@intel.com>
872d46b
to
b5db88d
Compare
We will introduce more tests that will assume that the Parameter Framework is available on the system and will try to use it. Signed-off-by: David Wagner <david.wagner@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
It involves a very simple client, libparameter and the skeleton plugin. The test simply instantiate and start a Parameter Framework. Signed-off-by: David Wagner <david.wagner@intel.com>
On both Appveyor and Travis. Signed-off-by: David Wagner <david.wagner@intel.com>
Closed because of miss click. |
|
Merged in the v3candidate branch |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Export its entry point and add a smoke test.
