I vote with Jim on this , if we reinvent com at least we can use it as it should , I would use xpcom from mozilla https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM
On Sat, Aug 9, 2014 at 12:30 AM, Jim Starkey <j...@jimstarkey.net> wrote: > Isn't COM a natural technology for plugins? Load a module, lookup the query > interface interface, then probe for known interfaces. If one is found, it > identifies both the formal interface and, by implication, the type of plugin. > > By definition, COM interfaces are immutable, so there is not question of > forward or backward compatibility. On the other hand, a COM object can > support number of interfaces, so extensions can be implemented as new > interfaces leaving older interfaces active for backwards compatibility. And > since a COM interface "just happens" to be a C++ class, COM object/plugins > are almost trivial to code. This eliminates all sorts of version numbering > issues, problems with calling methods that don't actually exist, etc. > > And, of course, it completely eliminates any need for a roll-your-own erzatz > vtable. > > COM, incidentally, was not invented by Microsoft but by Apollo computer > (which, incidentally, bootstraped Interbase) and was a adopted by the > consortium that eventually launched the Open Software Foundation (OSF-1 > anyone?). > > I don't think COM is even a candidate for a client API, but it is a great > choice for plugins. > > > > > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > Firebird-Devel mailing list, web interface at > https://lists.sourceforge.net/lists/listinfo/firebird-devel ------------------------------------------------------------------------------ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel