Event Stream Processor ships with sample syntax you can use to build your custom internal adapter implementation. This implementation incorporates extern C methods that enable schema discovery in a custom adapter.
% cd $ESP_HOME/examples/cpp/adapter % make -f Makefile.unix g++ -fPIC -m64 -I $ESP_HOME/include/adapter -c -o adapter_custom_in.o adapter_custom_in.cpp g++ adapter_custom_in.o -m64 -shared -L $ESP_HOME/lib -L $ESP_HOME/lib/adapters -lesp_adapter_util_lib -lesp_server_lib -o libesp_adapter_custom_in_lib.so g++ -fPIC -m64 -I $ESP_HOME/include/adapter -c -o adapter_custom_out.o adapter_custom_out.cpp g++ adapter_custom_out.o -m64 -shared -L $ESP_HOME/lib -L $ESP_HOME/lib/adapters -lesp_adapter_util_lib -lesp_server_lib -o libesp_adapter_custom_out_lib.so
%ESP_HOME%\examples\cpp\adapter>cd %ESP_HOME%\examples\cpp\adapter %ESP_HOME%\examples\cpp\adapter>nmake -f Makefile.win