> -----Original Message----- > From: Alex Peshkoff [mailto:[email protected]] > Sent: Viernes, 13 de Noviembre de 2015 7:25 > > On 11/13/2015 01:17 PM, Vlad Khorsun wrote: > > > > interface LoadedModuleInfo : Versioned > > { > > const string getModuleName(); > > ... > > } > > It should be RefCounted to be saved in module, all the rest is OK and > looks much better than use of ModuleInitialization in > FB_PLUGIN_ENTRY_POINT > Moreover - due to presence of versioning schema it can be > added at any > moment when gets needed > > > 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.
At risk of becoming an uninvited guest or a troll... can I ask naively why the thing needs to be so complex and now it has to be RefCounted, too? Is this a kind of functionality that will be used only by the core developers? In this case, it can be as complex as one wishes if this makes FB more obscure to the casual readers of the source code. ;-) However, if it's planned that other people will use those declarations to build their own plugins, it should be understandable. At this point, sincerely, I can barely understand what's being discussed. Certainly, all this design seems very far away from early ideas people had two years ago. I see discussions about details but I can't find a basic architecture description, maybe I'm missing some obvious documents? Sorry for getting into a terrritory that's not mine. C. ------------------------------------------------------------------------------ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
