CommonAPI C++ is an Inter Process Communication (IPC) language binding API for C++, which enables applications to use different IPC middleware as backend without any changes to the application code.
The intention is to make the communication interface for application development independent from the underlying communication middleware.
This way CommonAPI C++ can be used to easily adapt and optimize applications to different deployment environments, e.g. to exchange an applications communication from CAN to D-Bus or SomeIP, while retaining the application code as a generic component.
The actual CommonAPI C++ interface definitions (C++ header files) can be generated according to abstract interface specifications written in Franca Interface Description Language (Franca-IDL).
Many communication backends can be implemented for CommonAPI C++, currently a D-Bus based IPC backend is available.
There is eclipse based tooling to accomplish code generation of IPC CommonAPI C++ header files as well as proper D-Bus implementations, which requires Java for code generation.
For easy usage, there is doxygen documentation and an Eclipse binary update site for the code generation tools available at http://docs.projects.genivi.org/.