1 #include <stdlib.h> 2 #include "ApiInitializer.h" 3 #include <dlfcn.h> 4 #include "gl2_wrapper_context.h" 5 6 extern "C" { 7 gl2_wrapper_context_t *createFromLib(void *solib, gl2_wrapper_context_t *(*accessor)()); 8 } 9 10 gl2_wrapper_context_t * createFromLib(void *solib, gl2_wrapper_context_t *(*accessor)()) 11 { 12 gl2_wrapper_context_t *ctx = new gl2_wrapper_context_t; 13 if (ctx == NULL) { 14 return NULL; 15 } 16 ApiInitializer *initializer = new ApiInitializer(solib); 17 ctx->initDispatchByName(ApiInitializer::s_getProc, initializer); 18 gl2_wrapper_context_t::setContextAccessor(accessor); 19 delete initializer; 20 return ctx; 21 } 22 23 24 25