diff options
Diffstat (limited to 'src/junit/com/jogamp/gluegen/test/junit/generation/test2.c')
-rw-r--r-- | src/junit/com/jogamp/gluegen/test/junit/generation/test2.c | 82 |
1 files changed, 76 insertions, 6 deletions
diff --git a/src/junit/com/jogamp/gluegen/test/junit/generation/test2.c b/src/junit/com/jogamp/gluegen/test/junit/generation/test2.c index 7a7cb43..28fb3aa 100644 --- a/src/junit/com/jogamp/gluegen/test/junit/generation/test2.c +++ b/src/junit/com/jogamp/gluegen/test/junit/generation/test2.c @@ -34,16 +34,16 @@ T2_PointerStorage * createT2PointerStorage() { for(int i=0; i<10; ++i) { s->int32PtrArray[i] = &StaticInt32Array[i]; } - s->undefStructPtr = &StaticUndefStructArray[0]; + s->undefStructPtr = (T2_UndefStructPtr) &StaticUndefStructArray[0]; for(int i=0; i<10; ++i) { - s->undefStructPtrArray[i] = &StaticUndefStructArray[i]; + s->undefStructPtrArray[i] = (T2_UndefStructPtr) &StaticUndefStructArray[i]; } for(int i=0; i<10; ++i) { - s->customFuncAVariantsArray[i] = ( i %2 == 0 ) ? CustomFuncA1 : CustomFuncA2; + s->customFuncAVariantsArray[i] = (T2_CustomFuncA) ( ( i %2 == 0 ) ? CustomFuncA1 : CustomFuncA2 ); } for(int i=0; i<10; ++i) { - s->customFuncBVariantsArray[i] = ( i %2 == 0 ) ? CustomFuncB1 : CustomFuncB2; + s->customFuncBVariantsArray[i] = (T2_CustomFuncB) ( ( i %2 == 0 ) ? CustomFuncB1 : CustomFuncB2 ); } return s; } @@ -61,8 +61,8 @@ int Initialize(T2_InitializeOptions* Options) { strncpy((char*)Options->ProductVersion, "Product Version", 100); // yuck: nonsense-warning Options->ApiVersion = 1; Options->Reserved1 = (void*) 0x0000CAFFEEBEEFUL; - Options->CustomFuncA1 = CustomFuncA1; - *( (T2_CustomFuncA*) &Options->CustomFuncA2 ) = CustomFuncA2; // yuck: real yuck + Options->CustomFuncA1 = (T2_CustomFuncA) CustomFuncA1; + *( (T2_CustomFuncA*) &Options->CustomFuncA2 ) = (T2_CustomFuncA) CustomFuncA2; // yuck: real yuck Options->CustomFuncB1 = CustomFuncB1; Options->CustomFuncB2 = CustomFuncB2; Options->customFuncBVariants[0] = CustomFuncB1; @@ -148,6 +148,8 @@ void alBufferCallback0(int buffer /* key */, int format, int freq, ALBUFFERCALLB void alBufferCallback0Inject(int buffer, int sampledata, int numbytes) { if( buffer < 0 || MAX_AL_BUFFER <= buffer ) { fprintf(stderr, "Error: alBufferCallback0Inject: buffer not in range [0..%d), is %d\n", MAX_AL_BUFFER, buffer); + fflush(NULL); + return; } if( NULL != alBufferCallback0_callback[buffer] ) { fprintf(stderr, "XXX alBufferCallback0Inject: buffer %d, func %p, user %p\n", buffer, alBufferCallback0_callback[buffer], alBufferCallback0_userptr[buffer]); @@ -176,6 +178,8 @@ void alBufferCallback1(int buffer /* key */, int format, int freq, ALBUFFERCALLB void alBufferCallback1Inject(int buffer, int sampledata, int numbytes) { if( buffer < 0 || MAX_AL_BUFFER <= buffer ) { fprintf(stderr, "Error: alBufferCallback1Inject: buffer not in range [0..%d), is %d\n", MAX_AL_BUFFER, buffer); + fflush(NULL); + return; } if( NULL != alBufferCallback1_callback[buffer] ) { fprintf(stderr, "XXX alBufferCallback1Inject: buffer %d, func %p, user %p\n", buffer, alBufferCallback1_callback[buffer], alBufferCallback1_userptr[buffer]); @@ -184,3 +188,69 @@ void alBufferCallback1Inject(int buffer, int sampledata, int numbytes) { } } +// +// +// + +static const int MAX_C11_BUFFER = 5; + +static T2_CallbackFunc11 MessageCallback11a_callback[] = { NULL, NULL, NULL, NULL, NULL }; +static T2_Callback11UserType* MessageCallback11a_userptr[] = { NULL, NULL, NULL, NULL, NULL }; + +void MessageCallback11a(size_t id /* key */, T2_CallbackFunc11 cbFunc, const T2_Callback11UserType* usrParam) { + if( id < 0 || MAX_C11_BUFFER <= id ) { + fprintf(stderr, "Error: MessageCallback11a: id not in range [0..%d), is %d\n", MAX_C11_BUFFER, id); + } else { + MessageCallback11a_callback[id] = cbFunc; + MessageCallback11a_userptr[id] = (T2_Callback11UserType*)usrParam; + if( NULL != usrParam ) { + MessageCallback11a_userptr[id]->ApiVersion = 42; + } + fprintf(stderr, "XXX MessageCallback11a id %d -> func %p, user %p\n", id, cbFunc, usrParam); + } + fflush(NULL); +} +void MessageCallback11aInject(size_t id, long val) { + if( id < 0 || MAX_C11_BUFFER <= id ) { + fprintf(stderr, "Error: MessageCallback11aInjecta: id not in range [0..%d), is %d\n", MAX_C11_BUFFER, id); + fflush(NULL); + return; + } + if( NULL != MessageCallback11a_callback[id] ) { + fprintf(stderr, "XXX MessageCallback11aInjecta: id %d, func %p, user %p\n", id, MessageCallback11a_callback[id], MessageCallback11a_userptr[id]); + fflush(NULL); + (*MessageCallback11a_callback[id])(id, MessageCallback11a_userptr[id], val); + } +} + +// +// +// + +static T2_CallbackFunc11 MessageCallback11b_callback[] = { NULL, NULL, NULL, NULL, NULL }; +static T2_Callback11UserType MessageCallback11b_userptr[]; + +void MessageCallback11b(size_t id /* key */, T2_CallbackFunc11 cbFunc, void* Data) { + if( id < 0 || MAX_C11_BUFFER <= id ) { + fprintf(stderr, "Error: MessageCallback11b: id not in range [0..%d), is %d\n", MAX_C11_BUFFER, id); + } else { + MessageCallback11b_callback[id] = cbFunc; + MessageCallback11b_userptr[id].ApiVersion = 42; + MessageCallback11b_userptr[id].Data = Data; + fprintf(stderr, "XXX MessageCallback11b id %d -> func %p, user %p\n", id, cbFunc, Data); + } + fflush(NULL); +} +void MessageCallback11bInject(size_t id, long val) { + if( id < 0 || MAX_C11_BUFFER <= id ) { + fprintf(stderr, "Error: MessageCallback11bInject: id not in range [0..%d), is %d\n", MAX_C11_BUFFER, id); + fflush(NULL); + return; + } + if( NULL != MessageCallback11b_callback[id] ) { + fprintf(stderr, "XXX MessageCallback11bInject: id %d, func %p, user %p\n", id, MessageCallback11b_callback[id], &MessageCallback11b_userptr[id]); + fflush(NULL); + (*MessageCallback11b_callback[id])(id, &MessageCallback11b_userptr[id], val); + } +} + |