1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/**************************************************
* SQLCreateDataSource
*
* This 100% GUI so simply pass it on to odbcinst's GUI
* shadow share.
*
**************************************************
* This code was created by Peter Harvey @ CodeByDesign.
* Released under LGPL 28.JAN.99
*
* Contributions from...
* -----------------------------------------------
* Peter Harvey - pharvey@codebydesign.com
**************************************************/
#include <odbcinstext.h>
BOOL SQLCreateDataSource( HWND hWnd,
LPCSTR pszDS )
{
BOOL nReturn;
void *hDLL;
BOOL (*pSQLCreateDataSource)( HWND, LPSTR );
if ( !hWnd )
{
inst_logPushMsg( __FILE__, __FILE__, __LINE__, LOG_CRITICAL, ODBC_ERROR_INVALID_HWND, "" );
return FALSE;
}
/*
* initialize libtool
*/
lt_dlinit();
nReturn = FALSE;
/* TRY TO PASS THROUGH TO GUI SHADOW LIB */
if ( (hDLL = lt_dlopen( "libodbcinstG.so" )) )
{
pSQLCreateDataSource = (BOOL(*)(HWND,LPSTR))lt_dlsym( hDLL, "SQLCreateDataSource" );
if ( pSQLCreateDataSource )
nReturn = pSQLCreateDataSource( hWnd, (char *)pszDS );
else
inst_logPushMsg( __FILE__, __FILE__, __LINE__, LOG_CRITICAL, ODBC_ERROR_GENERAL_ERR, "" );
}
else
inst_logPushMsg( __FILE__, __FILE__, __LINE__, LOG_CRITICAL, ODBC_ERROR_GENERAL_ERR, "" );
return nReturn;
}
|