Update the changelog
[opencv] / interfaces / ch / c / handmade / cvcam / cvcamAVISetCallback_chdl.c
1 /* Copyright (c) 2001-2002 by SoftIntegration, Inc. All Rights Reserved */
2 #include <windows.h>
3 #include <cvcam.h>
4 #include <ch.h>
5
6 typedef  void (*callback)(void *);
7 static ChInterp_t interp;
8 static void cvcamAVISetCallback_chdl_funarg(void* arg);
9 static void *cvcamAVISetCallback_chdl_funptr;
10
11 EXPORTCH int cvcamAVISetCallback_chdl(void *varg) {
12     va_list ap;
13     cvcamAVIFILE file;
14     callback callback_ch, callback_c;
15     int retval;
16
17     Ch_VaStart(interp, ap, varg);
18     file = Ch_VaArg(interp, ap, cvcamAVIFILE);
19     callback_ch = Ch_VaArg(interp, ap, callback);
20
21     cvcamAVISetCallback_chdl_funptr = (void *)callback_ch;
22     if (callback_ch != NULL)  {
23         callback_c = (callback) cvcamAVISetCallback_chdl_funarg;
24     }
25
26     retval = cvcamAVISetCallback(file, callback_c);
27     Ch_VaEnd(interp, ap);
28     return retval;
29 }
30
31 static void cvcamAVISetCallback_chdl_funarg(void* arg)   {
32   Ch_CallFuncByAddr(interp,cvcamAVISetCallback_chdl_funptr,NULL,arg);
33 }