Getting rid of plugin mechanism in OCAF persistence


Hi All,

At the moment OCCT OCAF persistence uses plugin mechanism, when library providing persistent functionality for particular subset of OCAF attributes is loaded dynamically at runtime by OCAF.
For that, the plugin library name and location must be properly defined with help of predefined set of environment variables and resource files.
This system is quite complex and not transparent, especially for beginners.

We are going to simplify this to allow using normal linking mechanism instead of plugins, so that persistent library can be loaded by the application automatically at start-up.
It means that old plugin system will be removed, the resource files and environment variables will not be needed any more.
Instead it will be necessary to link to appropriate libraries providing persistence support and call some initialization function, directly from the application.

This modification does not suppose change of file format; API compatibility will be preserved except for initialization process.

In connection with this change, we would like to get feedback of the community.
If somebody has any arguments for keeping plugin based persistence (as alternative approach, for example), share your point of view with us, please.

Best regards

Pawel's picture

Indeed, setting all the variables can be a pain. Additionally, if parallel running of multiple versions on the same machine is required.

Thumb up.