On 2014-08-15 07:36, Antony Polukhin wrote:
There is a basic implementation of a header only Plugin library: https://github.com/apolukhin/Boost.Plugin
Documentation with examples could be found here: http://apolukhin.github.io/Boost.Plugin/index.html
Is there an interest in such library in Boost community? What features are missing in the library?
Looking forward to hearing from you. Any feedback is more than welcomed.
Yes, tons of interest. Looking at the documentation, 2 features seem lacking; correct me if I am wrong. 1) Notification of shared library unloading and loading. If users and library/framework stick to the reference counting, which is recommended, how can a framework get an opportunity to do things when the end users/references finally disappear. While loading I may want to read a manifest, add services to a services registry. While unloading I may delete a dated version of the shared library as a more recent dated version of the same library has already been loaded. ... For web development or any development I would like to hot swap to speed development by shortening the redeploy test cycle like found in Java JSPs, Java JRebel or any dynamic language. To build limited interface based variations of this, notification seems essential. 2) How do we make our plugins object methods return references to other shared pointers which is also tied to the shared library counter? A better nested object example is in order.