Home Page Toolkit Overview Using GML User Input Services Finger Tracker Calibrator Frame Grabber Service protocol Obtaining GML Installing GML Licence Developer Documentation Tcl/Tk API The GML Canvas Image processing Tcl Scripts Library List of Classes List of Files C/C++ API List of Classes List of Files |
gml_Loader_CDAlib.private.h00001 #define GML_USE_DYNAMIC_LOADER 1 00002 00003 #include <stdio.h> 00004 #include <dlfcn.h> 00005 #include <string.h> 00006 #include <limits.h> 00007 00008 #include <cdalib/cda_api.h> 00009 #ifdef GML_USE_DYNAMIC_LOADER 00010 00011 static void* handle_CDAlib = NULL; 00012 00013 static typeof(CDA_ErrHandlerInstall)* CDA_ErrHandlerInstall_wrapper = NULL; 00014 00015 static 00016 int gml_Loader_Load_CDAlib () 00017 { 00018 char* directories[] = { 00019 "~/Library/Frameworks", 00020 "/Library/Frameworks", 00021 "/System/Library/Frameworks", 00022 (char*)NULL 00023 }; 00024 char** currentdir = directories; 00025 char* filename = "cdalib.framework/cdalib"; 00026 char path[PATH_MAX] = {0, }; 00027 00028 while (*currentdir != NULL) { 00029 snprintf (path, PATH_MAX, "%s/%s", *currentdir, filename); 00030 handle_CDAlib = dlopen (path, RTLD_NOW); 00031 if (handle_CDAlib != NULL) break; 00032 fprintf (stderr, "[gml_Loader] %s not loadable\n", path); 00033 ++currentdir; 00034 } 00035 if (handle_CDAlib == NULL) return 1; 00036 fprintf (stderr, "[gml_Loader] loaded %s\n", path); 00037 00038 CDA_ErrHandlerInstall_wrapper = (typeof(CDA_ErrHandlerInstall)*) dlsym (handle_CDAlib, "CDA_ErrHandlerInstall"); 00039 if (CDA_ErrHandlerInstall_wrapper == NULL) { 00040 fprintf (stderr, "[gml_Loader] symbol \"CDA_ErrHandlerInstall\" not found\n"); 00041 return 1; 00042 } 00043 00044 00045 fprintf (stderr, "[gml_Loader] all CDAlib symbols found\n"); 00046 return 0; 00047 } 00048 00049 #define CDA_ErrHandlerInstall CDA_ErrHandlerInstall_wrapper 00050 00051 00052 #else /* GML_USE_DYNAMIC_LOADER */ 00053 00054 static 00055 int gml_Loader_Load_CDAlib () 00056 { 00057 return 0; 00058 } 00059 00060 #endif /* GML_USE_DYNAMIC_LOADER */ 00061
Generated on Tue Jun 12 14:03:27 2007 for gml by
Doxygen 1.5.2.
|
Contact: julien (dot) letessier (at) gmail (dot) com.
Copyright (c) 2000-2007 CLIPS-IMAG Laboratory, Grenoble, France. All rights reserved. W3CXHTML 1.0 W3CCSS 2.0 |