15 Sep 16:38
Low level interface foundation for review
I've prepared the basic foundation for declaring and defining interfaces (for real now). So far I tried to reduce it to the bare minimum needed for the functionality. Notably interfaces are versioned, but their functions and instances are not versioned here. This should be subject to be versioned somewhere else (when required). Descriptors for querying metadata from an interface implementation are realized as interfaces themself (i'll show up examples next). This system needs some careful review now because we will stick to it once it is finalized. Please take a look and let us discuss any changes you want. I tried to make it very low level and keeping only the essentials in the core, it was some pita to make it compatible with C and C++ (with some gnuism's, don't try to compile it with -pedantic). Documentation is partially finished but it might be that I failed to explain some intentions behind its design, when you question these this would be great help to improve it. The code is in src/lib/interface.h in my 'devel' branch: http://www.lumiera.org/gitweb?p=lumiera/ct;a=blob;f=src/lib/interface.h;hb=devel Note: please do not merge my 'devel' branch into your sourcecode, its going to be rebased. Whats next: * add a macro to call functions through interfaces * preparing some examples how it is used (as part of the testsuite) * a simple implementation for interface descriptors * provide a tool to generate uuid's for the implementations * plugin loader, plugindb, ... Christian
RSS Feed