13.11.2015 11:21, Alex Peshkoff wrote:

>> So the prototype will become:
>>
>> void FB_PLUGIN_ENTRY_POINT(IStatus*, IPluginInitialization*);
>
> OK, let's pass here more generic interface. Though currently I do not
> see something except getMaster() in it - let's be generic.

   There is PluginModule interface (implemented by plugin) and all info
about plugin should be present there. For example, we could introduce
special interface to provide info about plugin, say LoadedModuleInfo,
and pass it into PluginModule when PluginModule is registered at
PluginManager:


interface LoadedModuleInfo : Versioned
{
   const string getModuleName();
...
}

interface PluginModule : Versioned
{
   void doClean();
   void setModuleInfo(LoadedModuleInfo info);
}

   Plugin implementation could ignore passed info, store interface pointer
for future use, or query all necessary info and release interface pointer.

Regards,
Vlad

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to