List:Commits« Previous MessageNext Message »
From:lnovitsky Date:October 30 2007 8:56pm
Subject:Connector/ODBC 3.51 commit: r830 - in branches/guffert/wingui: odbcdialogparams setup
View as plain text  
Added:
   branches/guffert/wingui/odbcdialogparams/callbacks.cpp
   branches/guffert/wingui/odbcdialogparams/callbacks.h
   branches/guffert/wingui/odbcdialogparams/utils.cpp
   branches/guffert/wingui/odbcdialogparams/utils.h
Removed:
   branches/guffert/wingui/setup/callbacks.cpp
   branches/guffert/wingui/setup/callbacks.h
   branches/guffert/wingui/setup/utils.cpp
   branches/guffert/wingui/setup/utils.h
Modified:
   branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp
   branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc
   branches/guffert/wingui/odbcdialogparams/tooltip.cpp
   branches/guffert/wingui/setup/ConfigDSN.c
   branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c
   branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c
   branches/guffert/wingui/setup/myodbc3S.vcproj
Log:
moved callbacas and utils to other directory(left them is setup project though)
fixed saving data on tabs
put back hook, but added unhook
removed PostQuitMessage on dialog close

Added: branches/guffert/wingui/odbcdialogparams/callbacks.cpp
===================================================================
--- branches/guffert/wingui/odbcdialogparams/callbacks.cpp	                        (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/callbacks.cpp	2007-10-30 19:56:13 UTC (rev
830)
@@ -0,0 +1,136 @@
+/****************************************************************************
+ *                                                                          *
+ * File    : 						                                        *
+ *                                                                          *
+ * Purpose : GUI Callbacks                                                  *
+ *                                                                          *
+ * History : Date      Reason                                               *
+ *           00/00/00  Created                                              *
+ *                                                                          *
+ ****************************************************************************/
+/*#include "stdafx.h"*/
+
+#include "callbacks.h"
+/*#include "../odbcdialogparams/odbcdialogparams.h"*/
+#include "../odbcdialogparams/myString.h"
+#include "../../util/MYODBCUtil.h"
+/*#include <WinSock2.h>*/
+#include "../util/stringutil.h"
+
+myString		stringConnectIn	= NULL;
+WCHAR **		errorMsgs		= NULL;
+myString		popupMsg		= NULL;
+
+SQLHDBC			hDBC			= SQL_NULL_HDBC;
+
+static WCHAR **	databases		= NULL;
+
+void cleanUp()
+{
+	clearList(databases);
+	clearList(errorMsgs);
+
+    x_free( stringConnectIn );
+    x_free( popupMsg        );
+}
+
+const wchar_t * mytest(HWND hwnd, DataSource* params)
+{
+	SQLHDBC hDbc = hDBC;
+	SQLHENV hEnv = SQL_NULL_HENV;
+
+	if ( SQL_SUCCEEDED( Connect( hDbc, hEnv, params ) ) )
+		return L"Connection successful";
+	else
+	{
+        myString tmp = NULL;
+
+        strAssign(tmp,myString(L"Connection Failed:"));
+
+		concat( tmp, popupMsg );
+
+        x_free( popupMsg );
+
+        popupMsg = tmp;
+
+		return popupMsg;
+	}
+
+	Disconnect( hDbc, hEnv );
+	//MessageBox(hwnd, params->dbname.c_str(), params->drvdesc.c_str(), MB_OK);
+}
+
+BOOL mytestaccept(HWND hwnd, DataSource* params)
+{
+	return true/*(IDYES == MessageBoxW(hwnd, params->dbname.c_str(),
params->drvdesc.c_str(), MB_YESNO))*/;
+}
+
+const WCHAR** mygetdatabases(HWND hwnd, DataSource* params)
+{
+	// = { L"DB1", L"DB2", NULL };
+
+	SQLHENV     hEnv        = SQL_NULL_HENV;
+	SQLHDBC     hDbc        = hDBC;
+	SQLHSTMT    hStmt;
+	SQLRETURN   nReturn;
+	//			QStringList stringlistDatabases;
+	SQLWCHAR     szCatalog[MYODBC_DB_NAME_MAX];//MYODBC_DB_NAME_MAX]; 
+	SQLLEN      nCatalog;
+	myString    stringConnectIn= buildConnectString( params );
+
+	clearList(databases);
+
+	nReturn = Connect( hDbc, hEnv, params );
+
+	if ( nReturn != SQL_SUCCESS )
+		ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
+	if ( !SQL_SUCCEEDED(nReturn) )
+    {
+		Disconnect( hDbc,hEnv );
+        return NULL;
+    }
+
+	nReturn = SQLAllocHandle( SQL_HANDLE_STMT, hDbc, &hStmt );
+	if ( nReturn != SQL_SUCCESS )
+		ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
+	if ( !SQL_SUCCEEDED(nReturn) )
+    {
+		Disconnect( hDbc,hEnv );
+        return NULL;
+    }
+
+	nReturn = SQLTablesW( hStmt, (SQLWCHAR*)SQL_ALL_CATALOGS, SQL_NTS, (SQLWCHAR*)L"",
SQL_NTS, (SQLWCHAR*)L"", 0, (SQLWCHAR*)L"", 0 );
+
+	if ( nReturn != SQL_SUCCESS )
+		ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
+	if ( !SQL_SUCCEEDED(nReturn) )
+    {
+		Disconnect( hStmt, hDbc, hEnv );
+        return NULL;
+    }
+
+	nReturn = SQLBindCol( hStmt, 1, SQL_C_WCHAR, szCatalog, MYODBC_DB_NAME_MAX,
&nCatalog );
+	while ( TRUE )
+	{
+		nReturn = SQLFetch( hStmt );
+
+		if ( nReturn == SQL_NO_DATA )
+			break;
+		else if ( nReturn != SQL_SUCCESS )
+			ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
+		if ( SQL_SUCCEEDED(nReturn) )
+			add2list( databases, (const wchar_t*)(szCatalog) );
+		else
+			break;
+	}
+
+	Disconnect( hStmt, hDbc, hEnv );
+
+	return (const WCHAR**)databases;
+}
+
+void myhelp(HWND hwnd)
+{
+    /** TODO: Rewrite - Shouldn't be windows stuff here */
+	MessageBoxW(hwnd, L"HELP", L"Sorry, Help is not Available", MB_OK);
+}
\ No newline at end of file

Added: branches/guffert/wingui/odbcdialogparams/callbacks.h
===================================================================
--- branches/guffert/wingui/odbcdialogparams/callbacks.h	                        (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/callbacks.h	2007-10-30 19:56:13 UTC (rev 830)
@@ -0,0 +1,22 @@
+#ifndef _CALLBACKS_H
+#define _CALLBACKS_H
+
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
+#include "utils.h"
+
+
+// Not a callback though
+		void        cleanUp();
+
+// Callbacks indeed
+const	wchar_t *	mytest			(HWND hwnd, DataSource* params);
+		BOOL		mytestaccept	(HWND hwnd, DataSource* params);
+		/*BOOL		mytestaccept	(HWND hwnd, DataSource* params);*/
+const	WCHAR**		mygetdatabases	(HWND hwnd, DataSource* params);
+		void		myhelp			(HWND hwnd);
+
+
+#endif
\ No newline at end of file

Modified: branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp
===================================================================
--- branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp	2007-10-29 17:21:35 UTC
(rev 829)
+++ branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp	2007-10-30 19:56:13 UTC
(rev 830)
@@ -9,6 +9,9 @@
 /* #define NOMCX */
 /* #define NOIME */
 
+#define DEBUG_TAB   4
+#define SSL_TAB     5
+
 #include <windows.h>
 #include <windowsx.h>
 #include <commctrl.h>
@@ -24,6 +27,7 @@
 #include <winsock2.h>
 
 #include "odbcdialogparams.h"
+#include "utils.h"
 
 #include "../MYODBC_MYSQL.h"
 
@@ -76,6 +80,7 @@
 }
 
 VOID OnWMNotify(WPARAM wParam, LPARAM lParam);
+
 static BOOL FormMain_OnNotify (HWND hwnd, WPARAM wParam, LPARAM lParam)
 {
 	OnWMNotify(wParam, lParam);
@@ -117,6 +122,16 @@
     }
 }
 
+void getStrFieldData(myString & param, unsigned int framenum, int idc )
+{
+    assert(TabCtrl_1.hTabPages);
+    HWND tab = TabCtrl_1.hTabPages[framenum-1];
+
+    assert(tab);
+
+    getStrFieldData(tab, param, idc );
+}
+
 void setUnsignedFieldData(HWND hwnd, unsigned int & param, int idc )
 {
     wchar_t buf[1024];
@@ -176,11 +191,6 @@
     GET_STRING(uid);
     GET_STRING(pwd);
     GET_STRING(database);
-    GET_STRING(sslkey);
-    GET_STRING(sslcert);
-    GET_STRING(sslca);
-    GET_STRING(sslcapath);
-    GET_STRING(sslcipher);
 }
 
 void syncForm(HWND hwnd, DataSource &params)
@@ -192,11 +202,6 @@
     SET_STRING(uid);
     SET_STRING(pwd);
     SET_STRING(database);
-    SET_STRING(sslkey);
-    SET_STRING(sslcert);
-    SET_STRING(sslca);
-    SET_STRING(sslcapath);
-    SET_STRING(sslcipher);
 }
 void syncTabsData(HWND hwnd, DataSource &params)
 {
@@ -226,6 +231,13 @@
     GET_BOOL(3,force_use_of_forward_only_cursors);
     /* debug*/
     GET_BOOL(4,save_queries);
+
+    /* ssl settings */
+    getStrFieldData( params.sslkey      , 5, IDC_EDIT_sslkey);
+    getStrFieldData( params.sslcert     , 5, IDC_EDIT_sslcert);
+    getStrFieldData( params.sslca       , 5, IDC_EDIT_sslca);
+    getStrFieldData( params.sslcapath   , 5, IDC_EDIT_sslcapath);
+    getStrFieldData( params.sslcipher   , 5, IDC_EDIT_sslkey);
 }
 
 void syncTabs(HWND hwnd, DataSource &params)
@@ -255,7 +267,20 @@
     SET_BOOL(3,disable_transactions);
     SET_BOOL(3,force_use_of_forward_only_cursors);
     /* debug*/
-    SET_BOOL(4,save_queries);
+    SET_BOOL(DEBUG_TAB,save_queries);
+
+    /* ssl related */
+    if ( TabCtrl_1.hTabPages[SSL_TAB-1])
+    {
+        HWND tabHwnd = TabCtrl_1.hTabPages[SSL_TAB-1];
+
+        Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslkey)     , params.sslkey);
+        Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslcert)    , params.sslcert);
+        Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslca)      , params.sslca);
+        Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslcapath)  , params.sslcapath);
+        Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslcipher)  , params.sslcipher);
+    }
+
 }
 
 void FillParameters(HWND hwnd, DataSource & params)
@@ -266,9 +291,14 @@
 		syncTabsData(hwnd, params);
 }
 
+void OnDialogClose();
+
 void FormMain_OnClose(HWND hwnd)
 {
-	PostQuitMessage(0);// turn off message loop
+	//PostQuitMessage(0);// turn off message loop
+    //Unhooks hook(s) :)
+    OnDialogClose();
+
 	TabControl_Destroy(&TabCtrl_1);
 
     DWORD err;
@@ -326,6 +356,7 @@
 		if( (*gAcceptParamsCallback)( hwnd, pParams ) )
 		{
 			OkPressed = true;
+            CompileOptions( pParams );
 			PostMessage(hwnd, WM_CLOSE, NULL, NULL);
 		}
 	}
@@ -545,6 +576,7 @@
 	//Get the initial Width and height of the dialog
 	//in order to fix the minimum size of dialog
 
+    DecompileOptions( pParams );
 	syncForm(hwnd,*pParams);
 
 	BOOL b = DoCreateDialogTooltip();

Modified: branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc
===================================================================
--- branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc	2007-10-29 17:21:35 UTC
(rev 829)
+++ branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc	2007-10-30 19:56:13 UTC
(rev 830)
@@ -127,7 +127,7 @@
 STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
 FONT 8, "MS Shell Dlg", 400, 0, 0x1
 BEGIN
-    EDITTEXT        IDC_EDIT_sslkey,89,11,97,14,ES_AUTOHSCROLL
+    EDITTEXT        IDC_EDIT_sslkey,89,11,97,14,ES_AUTOHSCROLL | WS_GROUP
     EDITTEXT        IDC_EDIT_sslcert,89,27,97,14,ES_AUTOHSCROLL
     EDITTEXT        IDC_EDIT_sslca,89,41,97,14,ES_AUTOHSCROLL
     EDITTEXT        IDC_EDIT_sslcapath,89,57,97,14,ES_AUTOHSCROLL | ES_NUMBER

Modified: branches/guffert/wingui/odbcdialogparams/tooltip.cpp
===================================================================
(Binary files differ)

Added: branches/guffert/wingui/odbcdialogparams/utils.cpp
===================================================================
--- branches/guffert/wingui/odbcdialogparams/utils.cpp	                        (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/utils.cpp	2007-10-30 19:56:13 UTC (rev 830)
@@ -0,0 +1,334 @@
+/****************************************************************************
+ *                                                                          *
+ * File    : 						                               *
+ *                                                                          *
+ * Purpose : utilities for callbacks.							*
+ *                                                                          *
+ * History : Date      Reason                                               *
+ *           00/00/00  Created                                              *
+ *                                                                          *
+ ****************************************************************************/
+
+/*#include "stdafx.h"*/
+
+/** couple of temporary hacks to make it compile here*/
+/*typedef char	byte;*/
+#ifdef _WIN32
+#include <winsock2.h>
+#endif
+/** end hacks */
+
+#include <sql.h>
+
+#include "utils.h"
+#include "../odbcdialogparams/myString.h"
+
+#include "../driver/driver.h"
+#include "../util/stringutil.h"
+#include "../util/MYODBCUtil.h"
+
+
+extern	SQLHDBC			hDBC;
+extern	myString		stringConnectIn;
+extern	WCHAR **		errorMsgs;
+extern	myString		popupMsg;
+
+void DecompileOptions(DataSource * params)
+{
+    if ( params == NULL )
+        return;
+
+	ulong nOptions = sqlwchartoul( params->option );
+
+    params->dont_optimize_column_width=             (nOptions & FLAG_FIELD_LENGTH)
> 0;
+    params->return_matching_rows=                   (nOptions & FLAG_FOUND_ROWS)
> 0;  /* 2 */
+	params->allow_big_results=                      (nOptions & FLAG_BIG_PACKETS)
> 0;
+	params->dont_prompt_upon_connect=               (nOptions & FLAG_NO_PROMPT) >
0;
+	params->enable_dynamic_cursor=                  (nOptions & FLAG_DYNAMIC_CURSOR)
> 0;
+	params->ignore_N_in_name_table=                 (nOptions & FLAG_NO_SCHEMA) >
0;
+	params->user_manager_cursor=                    (nOptions &
FLAG_NO_DEFAULT_CURSOR) > 0;
+	params->dont_use_set_locale=                    (nOptions & FLAG_NO_LOCALE) >
0;
+	params->pad_char_to_full_length=                (nOptions & FLAG_PAD_SPACE) >
0;
+	params->return_table_names_for_SqlDesribeCol=   (nOptions &
FLAG_FULL_COLUMN_NAMES) > 0;
+	params->use_compressed_protocol=                (nOptions &
FLAG_COMPRESSED_PROTO) > 0;
+	params->ignore_space_after_function_names=      (nOptions & FLAG_IGNORE_SPACE)
> 0; 
+	params->force_use_of_named_pipes=               (nOptions & FLAG_NAMED_PIPE) >
0;          
+	params->change_bigint_columns_to_int=           (nOptions & FLAG_NO_BIGINT) >
0;
+	params->no_catalog=                             (nOptions & FLAG_NO_CATALOG) >
0;
+	params->read_options_from_mycnf=                (nOptions & FLAG_USE_MYCNF) >
0;          
+	params->safe=                                   (nOptions & FLAG_SAFE) > 0;
+	params->disable_transactions=                   (nOptions & FLAG_NO_TRANSACTIONS)
> 0;           
+	params->save_queries=                           (nOptions & FLAG_LOG_QUERY) >
0;
+	params->dont_cache_result=                      (nOptions & FLAG_NO_CACHE) >
0;
+	params->force_use_of_forward_only_cursors=      (nOptions & FLAG_FORWARD_CURSOR)
> 0;  
+	params->enable_auto_reconnect=                  (nOptions & FLAG_AUTO_RECONNECT)
> 0;
+	params->enable_auto_increment_null_search=      (nOptions & FLAG_AUTO_IS_NULL )
> 0;
+}
+
+void FreeEnvHandle( SQLHENV &hEnv )
+{
+	if ( hDBC == SQL_NULL_HDBC )
+		SQLFreeHandle( SQL_HANDLE_ENV, hEnv );
+}
+
+
+void Disconnect( SQLHDBC &hDbc, SQLHENV &hEnv  )
+{
+	SQLDisconnect( hDbc );
+
+	if ( hDBC == SQL_NULL_HDBC )
+		SQLFreeHandle( SQL_HANDLE_DBC, hDbc );
+
+	FreeEnvHandle( hEnv );
+}
+
+
+void Disconnect( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv  )
+{
+	SQLFreeHandle( SQL_HANDLE_STMT, hStmt );
+
+	Disconnect( hDbc, hEnv );
+}
+
+
+const myString & buildConnectString( DataSource* params )
+{
+	strAssign(stringConnectIn, L"DRIVER=");
+
+    if ( myStrlen(params->driver) > 0 )
+        concat(stringConnectIn, params->driver);
+    else
+	    concat( stringConnectIn, MYODBCINST_DRIVER_NAME );
+
+	wchar_t portstr[5];
+
+#ifdef Q_WS_MACX
+	/*
+	The iODBC that ships with Mac OS X (10.4) must be given a filename for
+	the driver library in SQLDriverConnect(), not just the driver name.  So
+	we have to look it up using SQLGetPrivateProfileString() if we haven't
+	already.
+	*/
+	{
+		if (!params->drvname.empty())
+		{
+			/*
+			SQLGetPrivateProfileString has bugs on iODBC, so we have to check
+			both the SYSTEM and USER space explicitly.
+			*/
+			UWORD configMode;
+			if (!SQLGetConfigMode(&configMode))
+				return FALSE;
+			if (!SQLSetConfigMode(ODBC_SYSTEM_DSN))
+				return FALSE;
+
+			char driver[PATH_MAX];
+			if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
+				"DRIVER", pDataSource->pszDRIVER,
+				driver, sizeof(driver),
+				"ODBCINST.INI"))
+				return FALSE;
+
+			/* If we're creating a user DSN, make sure we really got a driver.  */
+			if (configMode != ODBC_SYSTEM_DSN &&
+				strcmp(driver, pDataSource->pszDRIVER) == 0)
+			{
+				if (configMode != ODBC_SYSTEM_DSN)
+				{
+					if (!SQLSetConfigMode(ODBC_USER_DSN))
+						return FALSE;
+					if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
+						"DRIVER", pDataSource->pszDRIVER,
+						driver, sizeof(driver),
+						"ODBCINST.INI"))
+						return FALSE;
+				}
+			}
+
+			pDataSource->pszDriverFileName= _global_strdup(driver);
+
+			if (!SQLSetConfigMode(configMode))
+				return FALSE;
+		}
+
+		stringConnectIn= concat( stringConnectIn, pDataSource->pszDriverFileName );
+	}
+	/*
+	//#else
+	concat(stringConnectIn, params->drvname );//pDataSource->pszDRIVER);*/
+#endif
+
+	concat( concat( stringConnectIn,L";UID=" ), params->uid );
+
+	concat( concat( stringConnectIn, L";PWD=" ), params->pwd );
+
+	concat( concat( stringConnectIn, L";SERVER=" ), params->server );
+
+	if ( myStrlen( params->database ) )
+		concat( concat( stringConnectIn, L";DATABASE="), params->database );
+
+	if ( params->port > 0 )
+	{
+		wsprintfW( portstr, L"%d", params->port );
+		concat( concat( stringConnectIn, L";PORT=" ), myString( portstr ) );
+	}
+	if ( myStrlen( params->socket) )
+		concat( concat( stringConnectIn, L";SOCKET=" ), params->socket );
+	//    if ( myStrlen( params->getOptions()) )
+	//        stringConnectIn += ";OPTION=" ), params->getOptions );
+	if ( myStrlen( params->initstmt))
+		concat( concat( stringConnectIn, L";STMT=" ), params->initstmt );
+	if ( myStrlen( params->charset ) )
+		concat( concat( stringConnectIn, L";CHARSET=" ), params->charset );
+	if ( myStrlen( params->sslkey) )
+		concat( concat( stringConnectIn, L";SSLKEY=" ), params->sslkey );
+	if ( myStrlen( params->sslcert ) )
+		concat( concat( stringConnectIn, L";SSLERT=" ), params->sslcert );
+	if ( myStrlen( params->sslca ) )
+		concat( concat( stringConnectIn, L";SSLCA=" ), params->sslca);
+	if ( myStrlen( params->sslcapath ) )
+		concat( concat( stringConnectIn, L";SSLCAPATH=" ), params->sslcapath );
+	if ( myStrlen( params->sslcipher ) )
+		concat( concat( stringConnectIn, L";SSLCIPHER=" ), params->sslcipher );
+
+	return stringConnectIn;
+}
+
+
+SQLRETURN Connect( SQLHDBC  &   hDbc, SQLHENV   &  hEnv, DataSource * params )
+{
+	SQLRETURN   nReturn;
+	//			QStringList stringlistDatabases;
+	myString    stringConnectIn= buildConnectString( params );
+
+
+	if ( hDBC == SQL_NULL_HDBC )
+	{
+		nReturn = SQLAllocHandle( SQL_HANDLE_ENV, NULL, &hEnv );
+
+		if ( nReturn != SQL_SUCCESS )
+			ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
+
+		if ( !SQL_SUCCEEDED(nReturn) )
+			return nReturn;
+
+		nReturn = SQLSetEnvAttr( hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0 );
+
+		if ( nReturn != SQL_SUCCESS )
+			ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
+
+		if ( !SQL_SUCCEEDED(nReturn) )
+		{
+			return nReturn;
+		}
+
+		nReturn = SQLAllocHandle( SQL_HANDLE_DBC, hEnv, &hDbc );
+		if ( nReturn != SQL_SUCCESS )
+			ShowDiagnostics( nReturn, SQL_HANDLE_ENV, hEnv );
+		if ( !SQL_SUCCEEDED(nReturn) )
+		{
+			return nReturn;
+		}
+	}
+
+	nReturn = SQLDriverConnectW( hDbc, NULL, (SQLWCHAR*)( stringConnectIn ), SQL_NTS, NULL,
0, NULL, SQL_DRIVER_NOPROMPT );
+
+	if ( nReturn != SQL_SUCCESS )
+		ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
+
+	return nReturn;
+}
+
+
+void ShowDiagnostics( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h )
+{
+	BOOL        bDiagnostics = FALSE;
+	SQLSMALLINT nRec = 1;
+	SQLWCHAR     szSQLState[6];
+	SQLINTEGER  nNative;
+	SQLWCHAR     szMessage[SQL_MAX_MESSAGE_LENGTH];
+	SQLSMALLINT nMessage;
+
+	if ( h )
+	{
+		*szSQLState = '\0';
+		*szMessage  = '\0';
+
+		while ( SQL_SUCCEEDED( SQLGetDiagRecW( nHandleType,
+			h,
+			nRec,
+			szSQLState,
+			&nNative,
+			szMessage,
+			SQL_MAX_MESSAGE_LENGTH,
+			&nMessage ) ) )
+		{
+			szSQLState[5]               = '\0';
+			szMessage[SQL_MAX_MESSAGE_LENGTH - 1]  = '\0';
+
+
+			add2list(errorMsgs, szMessage);
+
+			bDiagnostics = TRUE;
+			nRec++;
+
+			*szSQLState = '\0';
+			*szMessage  = '\0';
+		}
+	}
+
+	switch ( nReturn )
+	{
+	case SQL_ERROR:
+		strAssign( popupMsg, L"Request returned with SQL_ERROR." );//, L"MYODBCConfig" );
+		break;
+	case SQL_SUCCESS_WITH_INFO:
+		strAssign( popupMsg, L"Request return with SQL_SUCCESS_WITH_INFO." );//,
L"MYODBCConfig" );
+		break;
+	case SQL_INVALID_HANDLE:
+		strAssign( popupMsg, L"Request returned with SQL_INVALID_HANDLE." );//, L"MYODBCConfig"
);
+		break;
+	default:
+		strAssign( popupMsg, L"Request did not return with SQL_SUCCESS." );//, L"MYODBCConfig"
);
+	}
+}
+
+
+unsigned long CompileOptions( DataSource * params )
+{
+	unsigned long nFlags = 0;
+
+    if (params==NULL)
+        return NULL;
+
+    if (params->dont_optimize_column_width)				nFlags |= FLAG_FIELD_LENGTH;
+    if (params->return_matching_rows)                   nFlags |= FLAG_FOUND_ROWS;  /*
2 */
+    if (params->allow_big_results)						nFlags |= FLAG_BIG_PACKETS;
+    if (params->dont_prompt_upon_connect)				nFlags |= FLAG_NO_PROMPT;
+    if (params->enable_dynamic_cursor)					nFlags |= FLAG_DYNAMIC_CURSOR;
+    if (params->ignore_N_in_name_table)					nFlags |= FLAG_NO_SCHEMA;
+    if (params->user_manager_cursor)					nFlags |= FLAG_NO_DEFAULT_CURSOR;
+    if (params->dont_use_set_locale)					nFlags |= FLAG_NO_LOCALE;
+    if (params->pad_char_to_full_length)				nFlags |= FLAG_PAD_SPACE;
+    if (params->return_table_names_for_SqlDesribeCol)   nFlags |=
FLAG_FULL_COLUMN_NAMES;
+    if (params->use_compressed_protocol)				nFlags |= FLAG_COMPRESSED_PROTO;
+    if (params->ignore_space_after_function_names)		nFlags |= FLAG_IGNORE_SPACE; 
+    if (params->force_use_of_named_pipes)				nFlags |= FLAG_NAMED_PIPE;          
+    if (params->change_bigint_columns_to_int)			nFlags |= FLAG_NO_BIGINT;
+    if (params->no_catalog)								nFlags |= FLAG_NO_CATALOG;
+    if (params->read_options_from_mycnf)				nFlags |= FLAG_USE_MYCNF;          
+    if (params->safe)									nFlags |= FLAG_SAFE;
+    if (params->disable_transactions)					nFlags |= FLAG_NO_TRANSACTIONS;
+    if (params->save_queries)							nFlags |= FLAG_LOG_QUERY;
+    if (params->dont_cache_result)						nFlags |= FLAG_NO_CACHE;
+    if (params->force_use_of_forward_only_cursors)		nFlags |= FLAG_FORWARD_CURSOR;  
+    if (params->enable_auto_reconnect)					nFlags |= FLAG_AUTO_RECONNECT;
+    if (params->enable_auto_increment_null_search)		nFlags |= FLAG_AUTO_IS_NULL;
+
+    if (params->option == NULL)
+        myReserveMemory(params->option, 20);
+
+    sqlwcharfromul(params->option, nFlags);
+
+	return nFlags;
+}

Added: branches/guffert/wingui/odbcdialogparams/utils.h
===================================================================
--- branches/guffert/wingui/odbcdialogparams/utils.h	                        (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/utils.h	2007-10-30 19:56:13 UTC (rev 830)
@@ -0,0 +1,19 @@
+#ifndef _CALLBACKS_UTILS_
+
+#define _CALLBACKS_UTILS_
+
+#include "../odbcdialogparams/odbcdialogparams.h"
+#include "../util/installer.h"
+
+#include <sqltypes.h>
+
+void				ShowDiagnostics		( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h );
+void				FreeEnvHandle		( SQLHENV &hEnv );
+void				Disconnect			( SQLHDBC &hDbc, SQLHENV &hEnv  );
+void				Disconnect			( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv  );
+const myString &	buildConnectString	( DataSource* params );
+SQLRETURN			Connect				( SQLHDBC  &   hDbc, SQLHENV   &  hEnv, DataSource *
params );
+unsigned long		CompileOptions		( DataSource * params );
+void				DecompileOptions	( DataSource * src );
+
+#endif

Modified: branches/guffert/wingui/setup/ConfigDSN.c
===================================================================
--- branches/guffert/wingui/setup/ConfigDSN.c	2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/ConfigDSN.c	2007-10-30 19:56:13 UTC (rev 830)
@@ -20,7 +20,7 @@
 
 /*#include "../util/MYODBCUtil.h"*/
 #include "../util/installer.h"
-#include "callbacks.h"
+#include "../odbcdialogparams/callbacks.h"
 #include "MYODBCSetup.h"
 
 /*!

Modified: branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c
===================================================================
--- branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c	2007-10-29 17:21:35 UTC (rev
829)
+++ branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c	2007-10-30 19:56:13 UTC (rev
830)
@@ -19,7 +19,7 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
 #include "MYODBCSetup.h"
-#include "callbacks.h"
+#include "../odbcdialogparams/callbacks.h"
 
 /*!
     \internal

Modified: branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c
===================================================================
--- branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c	2007-10-29 17:21:35 UTC (rev
829)
+++ branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c	2007-10-30 19:56:13 UTC (rev
830)
@@ -20,7 +20,7 @@
 
 #include "MYODBCSetup.h"
 #include "../util/stringutil.h"
-#include "callbacks.h"
+#include "../odbcdialogparams/callbacks.h"
 
 /*!
     \internal

Deleted: branches/guffert/wingui/setup/callbacks.cpp
===================================================================
--- branches/guffert/wingui/setup/callbacks.cpp	2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/callbacks.cpp	2007-10-30 19:56:13 UTC (rev 830)
@@ -1,136 +0,0 @@
-/****************************************************************************
- *                                                                          *
- * File    : 						                                        *
- *                                                                          *
- * Purpose : GUI Callbacks                                                  *
- *                                                                          *
- * History : Date      Reason                                               *
- *           00/00/00  Created                                              *
- *                                                                          *
- ****************************************************************************/
-/*#include "stdafx.h"*/
-
-#include "callbacks.h"
-/*#include "../odbcdialogparams/odbcdialogparams.h"*/
-#include "../odbcdialogparams/myString.h"
-#include "../../util/MYODBCUtil.h"
-/*#include <WinSock2.h>*/
-#include "../util/stringutil.h"
-
-myString		stringConnectIn	= NULL;
-WCHAR **		errorMsgs		= NULL;
-myString		popupMsg		= NULL;
-
-SQLHDBC			hDBC			= SQL_NULL_HDBC;
-
-static WCHAR **	databases		= NULL;
-
-void cleanUp()
-{
-	clearList(databases);
-	clearList(errorMsgs);
-
-    x_free( stringConnectIn );
-    x_free( popupMsg        );
-}
-
-const wchar_t * mytest(HWND hwnd, DataSource* params)
-{
-	SQLHDBC hDbc = hDBC;
-	SQLHENV hEnv = SQL_NULL_HENV;
-
-	if ( SQL_SUCCEEDED( Connect( hDbc, hEnv, params ) ) )
-		return L"Connection successful";
-	else
-	{
-        myString tmp = NULL;
-
-        strAssign(tmp,myString(L"Connection Failed:"));
-
-		concat( tmp, popupMsg );
-
-        x_free( popupMsg );
-
-        popupMsg = tmp;
-
-		return popupMsg;
-	}
-
-	Disconnect( hDbc, hEnv );
-	//MessageBox(hwnd, params->dbname.c_str(), params->drvdesc.c_str(), MB_OK);
-}
-
-BOOL mytestaccept(HWND hwnd, DataSource* params)
-{
-	return true/*(IDYES == MessageBoxW(hwnd, params->dbname.c_str(),
params->drvdesc.c_str(), MB_YESNO))*/;
-}
-
-const WCHAR** mygetdatabases(HWND hwnd, DataSource* params)
-{
-	// = { L"DB1", L"DB2", NULL };
-
-	SQLHENV     hEnv        = SQL_NULL_HENV;
-	SQLHDBC     hDbc        = hDBC;
-	SQLHSTMT    hStmt;
-	SQLRETURN   nReturn;
-	//			QStringList stringlistDatabases;
-	SQLWCHAR     szCatalog[MYODBC_DB_NAME_MAX];//MYODBC_DB_NAME_MAX]; 
-	SQLLEN      nCatalog;
-	myString    stringConnectIn= buildConnectString( params );
-
-	clearList(databases);
-
-	nReturn = Connect( hDbc, hEnv, params );
-
-	if ( nReturn != SQL_SUCCESS )
-		ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
-	if ( !SQL_SUCCEEDED(nReturn) )
-    {
-		Disconnect( hDbc,hEnv );
-        return NULL;
-    }
-
-	nReturn = SQLAllocHandle( SQL_HANDLE_STMT, hDbc, &hStmt );
-	if ( nReturn != SQL_SUCCESS )
-		ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
-	if ( !SQL_SUCCEEDED(nReturn) )
-    {
-		Disconnect( hDbc,hEnv );
-        return NULL;
-    }
-
-	nReturn = SQLTablesW( hStmt, (SQLWCHAR*)SQL_ALL_CATALOGS, SQL_NTS, (SQLWCHAR*)L"",
SQL_NTS, (SQLWCHAR*)L"", 0, (SQLWCHAR*)L"", 0 );
-
-	if ( nReturn != SQL_SUCCESS )
-		ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
-	if ( !SQL_SUCCEEDED(nReturn) )
-    {
-		Disconnect( hStmt, hDbc, hEnv );
-        return NULL;
-    }
-
-	nReturn = SQLBindCol( hStmt, 1, SQL_C_WCHAR, szCatalog, MYODBC_DB_NAME_MAX,
&nCatalog );
-	while ( TRUE )
-	{
-		nReturn = SQLFetch( hStmt );
-
-		if ( nReturn == SQL_NO_DATA )
-			break;
-		else if ( nReturn != SQL_SUCCESS )
-			ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
-		if ( SQL_SUCCEEDED(nReturn) )
-			add2list( databases, (const wchar_t*)(szCatalog) );
-		else
-			break;
-	}
-
-	Disconnect( hStmt, hDbc, hEnv );
-
-	return (const WCHAR**)databases;
-}
-
-void myhelp(HWND hwnd)
-{
-    /** TODO: Rewrite - Shouldn't be windows stuff here */
-	MessageBoxW(hwnd, L"HELP", L"Sorry, Help is not Available", MB_OK);
-}
\ No newline at end of file

Deleted: branches/guffert/wingui/setup/callbacks.h
===================================================================
--- branches/guffert/wingui/setup/callbacks.h	2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/callbacks.h	2007-10-30 19:56:13 UTC (rev 830)
@@ -1,22 +0,0 @@
-#ifndef _CALLBACKS_H
-#define _CALLBACKS_H
-
-#ifdef _WIN32
-#include <windows.h>
-#endif
-
-#include "utils.h"
-
-
-// Not a callback though
-		void        cleanUp();
-
-// Callbacks indeed
-const	wchar_t *	mytest			(HWND hwnd, DataSource* params);
-		BOOL		mytestaccept	(HWND hwnd, DataSource* params);
-		/*BOOL		mytestaccept	(HWND hwnd, DataSource* params);*/
-const	WCHAR**		mygetdatabases	(HWND hwnd, DataSource* params);
-		void		myhelp			(HWND hwnd);
-
-
-#endif
\ No newline at end of file

Modified: branches/guffert/wingui/setup/myodbc3S.vcproj
===================================================================
--- branches/guffert/wingui/setup/myodbc3S.vcproj	2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/myodbc3S.vcproj	2007-10-30 19:56:13 UTC (rev 830)
@@ -436,7 +436,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath=".\callbacks.cpp"
+				RelativePath="..\odbcdialogparams\callbacks.cpp"
 				>
 			</File>
 			<File
@@ -456,7 +456,7 @@
 				>
 			</File>
 			<File
-				RelativePath=".\utils.cpp"
+				RelativePath="..\odbcdialogparams\utils.cpp"
 				>
 			</File>
 		</Filter>
@@ -464,11 +464,11 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath=".\callbacks.h"
+				RelativePath="..\odbcdialogparams\callbacks.h"
 				>
 			</File>
 			<File
-				RelativePath=".\utils.h"
+				RelativePath="..\odbcdialogparams\utils.h"
 				>
 			</File>
 		</Filter>

Deleted: branches/guffert/wingui/setup/utils.cpp
===================================================================
--- branches/guffert/wingui/setup/utils.cpp	2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/utils.cpp	2007-10-30 19:56:13 UTC (rev 830)
@@ -1,323 +0,0 @@
-/****************************************************************************
- *                                                                          *
- * File    : 						                               *
- *                                                                          *
- * Purpose : utilities for callbacks.							*
- *                                                                          *
- * History : Date      Reason                                               *
- *           00/00/00  Created                                              *
- *                                                                          *
- ****************************************************************************/
-
-/*#include "stdafx.h"*/
-
-/** couple of temporary hacks to make it compile here*/
-/*typedef char	byte;*/
-#ifdef _WIN32
-#include <winsock2.h>
-#endif
-/** end hacks */
-
-#include <sql.h>
-
-#include "utils.h"
-#include "../odbcdialogparams/myString.h"
-
-#include "../driver/driver.h"
-#include "../util/stringutil.h"
-#include "../util/MYODBCUtil.h"
-
-
-extern	SQLHDBC			hDBC;
-extern	myString		stringConnectIn;
-extern	WCHAR **		errorMsgs;
-extern	myString		popupMsg;
-
-void DecompileOptions(DataSource &params)
-{
-	ulong nOptions = sqlwchartoul( params.option );
-
-    params.dont_optimize_column_width=				(nOptions & FLAG_FIELD_LENGTH) > 0;
-    params.return_matching_rows=                    (nOptions & FLAG_FOUND_ROWS) >
0;  /* 2 */
-	params.allow_big_results=						(nOptions & FLAG_BIG_PACKETS) > 0;
-	params.dont_prompt_upon_connect=				(nOptions & FLAG_NO_PROMPT) > 0;
-	params.enable_dynamic_cursor=					(nOptions & FLAG_DYNAMIC_CURSOR) > 0;
-	params.ignore_N_in_name_table=					(nOptions & FLAG_NO_SCHEMA) > 0;
-	params.user_manager_cursor=						(nOptions & FLAG_NO_DEFAULT_CURSOR) > 0;
-	params.dont_use_set_locale=						(nOptions & FLAG_NO_LOCALE) > 0;
-	params.pad_char_to_full_length=					(nOptions & FLAG_PAD_SPACE) > 0;
-	params.return_table_names_for_SqlDesribeCol=    (nOptions & FLAG_FULL_COLUMN_NAMES)
> 0;
-	params.use_compressed_protocol=					(nOptions & FLAG_COMPRESSED_PROTO) > 0;
-	params.ignore_space_after_function_names=		(nOptions & FLAG_IGNORE_SPACE) > 0; 
-	params.force_use_of_named_pipes=				(nOptions & FLAG_NAMED_PIPE) > 0;          
-	params.change_bigint_columns_to_int=			(nOptions & FLAG_NO_BIGINT) > 0;
-	params.no_catalog=								(nOptions & FLAG_NO_CATALOG) > 0;
-	params.read_options_from_mycnf=					(nOptions & FLAG_USE_MYCNF) > 0;          
-	params.safe=									(nOptions & FLAG_SAFE) > 0;
-	params.disable_transactions=					(nOptions & FLAG_NO_TRANSACTIONS) > 0;          

-	params.save_queries=							(nOptions & FLAG_LOG_QUERY) > 0;
-	params.dont_cache_result=						(nOptions & FLAG_NO_CACHE) > 0;
-	params.force_use_of_forward_only_cursors=		(nOptions & FLAG_FORWARD_CURSOR) > 0; 

-	params.enable_auto_reconnect=					(nOptions & FLAG_AUTO_RECONNECT) > 0;
-	params.enable_auto_increment_null_search=		(nOptions & FLAG_AUTO_IS_NULL ) > 0;
-}
-
-void FreeEnvHandle( SQLHENV &hEnv )
-{
-	if ( hDBC == SQL_NULL_HDBC )
-		SQLFreeHandle( SQL_HANDLE_ENV, hEnv );
-}
-
-
-void Disconnect( SQLHDBC &hDbc, SQLHENV &hEnv  )
-{
-	SQLDisconnect( hDbc );
-
-	if ( hDBC == SQL_NULL_HDBC )
-		SQLFreeHandle( SQL_HANDLE_DBC, hDbc );
-
-	FreeEnvHandle( hEnv );
-}
-
-
-void Disconnect( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv  )
-{
-	SQLFreeHandle( SQL_HANDLE_STMT, hStmt );
-
-	Disconnect( hDbc, hEnv );
-}
-
-
-const myString & buildConnectString( DataSource* params )
-{
-	strAssign(stringConnectIn, L"DRIVER=");
-
-    if ( myStrlen(params->driver) > 0 )
-        concat(stringConnectIn, params->driver);
-    else
-	    concat( stringConnectIn, MYODBCINST_DRIVER_NAME );
-
-	wchar_t portstr[5];
-
-#ifdef Q_WS_MACX
-	/*
-	The iODBC that ships with Mac OS X (10.4) must be given a filename for
-	the driver library in SQLDriverConnect(), not just the driver name.  So
-	we have to look it up using SQLGetPrivateProfileString() if we haven't
-	already.
-	*/
-	{
-		if (!params->drvname.empty())
-		{
-			/*
-			SQLGetPrivateProfileString has bugs on iODBC, so we have to check
-			both the SYSTEM and USER space explicitly.
-			*/
-			UWORD configMode;
-			if (!SQLGetConfigMode(&configMode))
-				return FALSE;
-			if (!SQLSetConfigMode(ODBC_SYSTEM_DSN))
-				return FALSE;
-
-			char driver[PATH_MAX];
-			if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
-				"DRIVER", pDataSource->pszDRIVER,
-				driver, sizeof(driver),
-				"ODBCINST.INI"))
-				return FALSE;
-
-			/* If we're creating a user DSN, make sure we really got a driver.  */
-			if (configMode != ODBC_SYSTEM_DSN &&
-				strcmp(driver, pDataSource->pszDRIVER) == 0)
-			{
-				if (configMode != ODBC_SYSTEM_DSN)
-				{
-					if (!SQLSetConfigMode(ODBC_USER_DSN))
-						return FALSE;
-					if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
-						"DRIVER", pDataSource->pszDRIVER,
-						driver, sizeof(driver),
-						"ODBCINST.INI"))
-						return FALSE;
-				}
-			}
-
-			pDataSource->pszDriverFileName= _global_strdup(driver);
-
-			if (!SQLSetConfigMode(configMode))
-				return FALSE;
-		}
-
-		stringConnectIn= concat( stringConnectIn, pDataSource->pszDriverFileName );
-	}
-	/*
-	//#else
-	concat(stringConnectIn, params->drvname );//pDataSource->pszDRIVER);*/
-#endif
-
-	concat( concat( stringConnectIn,L";UID=" ), params->uid );
-
-	concat( concat( stringConnectIn, L";PWD=" ), params->pwd );
-
-	concat( concat( stringConnectIn, L";SERVER=" ), params->server );
-
-	if ( myStrlen( params->database ) )
-		concat( concat( stringConnectIn, L";DATABASE="), params->database );
-
-	if ( params->port > 0 )
-	{
-		wsprintfW( portstr, L"%d", params->port );
-		concat( concat( stringConnectIn, L";PORT=" ), myString( portstr ) );
-	}
-	if ( myStrlen( params->socket) )
-		concat( concat( stringConnectIn, L";SOCKET=" ), params->socket );
-	//    if ( myStrlen( params->getOptions()) )
-	//        stringConnectIn += ";OPTION=" ), params->getOptions );
-	if ( myStrlen( params->initstmt))
-		concat( concat( stringConnectIn, L";STMT=" ), params->initstmt );
-	if ( myStrlen( params->charset ) )
-		concat( concat( stringConnectIn, L";CHARSET=" ), params->charset );
-	if ( myStrlen( params->sslkey) )
-		concat( concat( stringConnectIn, L";SSLKEY=" ), params->sslkey );
-	if ( myStrlen( params->sslcert ) )
-		concat( concat( stringConnectIn, L";SSLERT=" ), params->sslcert );
-	if ( myStrlen( params->sslca ) )
-		concat( concat( stringConnectIn, L";SSLCA=" ), params->sslca);
-	if ( myStrlen( params->sslcapath ) )
-		concat( concat( stringConnectIn, L";SSLCAPATH=" ), params->sslcapath );
-	if ( myStrlen( params->sslcipher ) )
-		concat( concat( stringConnectIn, L";SSLCIPHER=" ), params->sslcipher );
-
-	return stringConnectIn;
-}
-
-
-SQLRETURN Connect( SQLHDBC  &   hDbc, SQLHENV   &  hEnv, DataSource * params )
-{
-	SQLRETURN   nReturn;
-	//			QStringList stringlistDatabases;
-	myString    stringConnectIn= buildConnectString( params );
-
-
-	if ( hDBC == SQL_NULL_HDBC )
-	{
-		nReturn = SQLAllocHandle( SQL_HANDLE_ENV, NULL, &hEnv );
-
-		if ( nReturn != SQL_SUCCESS )
-			ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
-
-		if ( !SQL_SUCCEEDED(nReturn) )
-			return nReturn;
-
-		nReturn = SQLSetEnvAttr( hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0 );
-
-		if ( nReturn != SQL_SUCCESS )
-			ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
-
-		if ( !SQL_SUCCEEDED(nReturn) )
-		{
-			return nReturn;
-		}
-
-		nReturn = SQLAllocHandle( SQL_HANDLE_DBC, hEnv, &hDbc );
-		if ( nReturn != SQL_SUCCESS )
-			ShowDiagnostics( nReturn, SQL_HANDLE_ENV, hEnv );
-		if ( !SQL_SUCCEEDED(nReturn) )
-		{
-			return nReturn;
-		}
-	}
-
-	nReturn = SQLDriverConnectW( hDbc, NULL, (SQLWCHAR*)( stringConnectIn ), SQL_NTS, NULL,
0, NULL, SQL_DRIVER_NOPROMPT );
-
-	if ( nReturn != SQL_SUCCESS )
-		ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
-
-	return nReturn;
-}
-
-
-void ShowDiagnostics( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h )
-{
-	BOOL        bDiagnostics = FALSE;
-	SQLSMALLINT nRec = 1;
-	SQLWCHAR     szSQLState[6];
-	SQLINTEGER  nNative;
-	SQLWCHAR     szMessage[SQL_MAX_MESSAGE_LENGTH];
-	SQLSMALLINT nMessage;
-
-	if ( h )
-	{
-		*szSQLState = '\0';
-		*szMessage  = '\0';
-
-		while ( SQL_SUCCEEDED( SQLGetDiagRecW( nHandleType,
-			h,
-			nRec,
-			szSQLState,
-			&nNative,
-			szMessage,
-			SQL_MAX_MESSAGE_LENGTH,
-			&nMessage ) ) )
-		{
-			szSQLState[5]               = '\0';
-			szMessage[SQL_MAX_MESSAGE_LENGTH - 1]  = '\0';
-
-
-			add2list(errorMsgs, szMessage);
-
-			bDiagnostics = TRUE;
-			nRec++;
-
-			*szSQLState = '\0';
-			*szMessage  = '\0';
-		}
-	}
-
-	switch ( nReturn )
-	{
-	case SQL_ERROR:
-		strAssign( popupMsg, L"Request returned with SQL_ERROR." );//, L"MYODBCConfig" );
-		break;
-	case SQL_SUCCESS_WITH_INFO:
-		strAssign( popupMsg, L"Request return with SQL_SUCCESS_WITH_INFO." );//,
L"MYODBCConfig" );
-		break;
-	case SQL_INVALID_HANDLE:
-		strAssign( popupMsg, L"Request returned with SQL_INVALID_HANDLE." );//, L"MYODBCConfig"
);
-		break;
-	default:
-		strAssign( popupMsg, L"Request did not return with SQL_SUCCESS." );//, L"MYODBCConfig"
);
-	}
-}
-
-
-unsigned long CompileOptions( DataSource * params )
-{
-	unsigned long nFlags = 0;
-
-    if (params->dont_optimize_column_width)				nFlags |= FLAG_FIELD_LENGTH;
-    if (params->return_matching_rows)                   nFlags |= FLAG_FOUND_ROWS;  /*
2 */
-    if (params->allow_big_results)						nFlags |= FLAG_BIG_PACKETS;
-    if (params->dont_prompt_upon_connect)				nFlags |= FLAG_NO_PROMPT;
-    if (params->enable_dynamic_cursor)					nFlags |= FLAG_DYNAMIC_CURSOR;
-    if (params->ignore_N_in_name_table)					nFlags |= FLAG_NO_SCHEMA;
-    if (params->user_manager_cursor)					nFlags |= FLAG_NO_DEFAULT_CURSOR;
-    if (params->dont_use_set_locale)					nFlags |= FLAG_NO_LOCALE;
-    if (params->pad_char_to_full_length)				nFlags |= FLAG_PAD_SPACE;
-    if (params->return_table_names_for_SqlDesribeCol)   nFlags |=
FLAG_FULL_COLUMN_NAMES;
-    if (params->use_compressed_protocol)				nFlags |= FLAG_COMPRESSED_PROTO;
-    if (params->ignore_space_after_function_names)		nFlags |= FLAG_IGNORE_SPACE; 
-    if (params->force_use_of_named_pipes)				nFlags |= FLAG_NAMED_PIPE;          
-    if (params->change_bigint_columns_to_int)			nFlags |= FLAG_NO_BIGINT;
-    if (params->no_catalog)								nFlags |= FLAG_NO_CATALOG;
-    if (params->read_options_from_mycnf)				nFlags |= FLAG_USE_MYCNF;          
-    if (params->safe)									nFlags |= FLAG_SAFE;
-    if (params->disable_transactions)					nFlags |= FLAG_NO_TRANSACTIONS;
-    if (params->save_queries)							nFlags |= FLAG_LOG_QUERY;
-    if (params->dont_cache_result)						nFlags |= FLAG_NO_CACHE;
-    if (params->force_use_of_forward_only_cursors)		nFlags |= FLAG_FORWARD_CURSOR;  
-    if (params->enable_auto_reconnect)					nFlags |= FLAG_AUTO_RECONNECT;
-    if (params->enable_auto_increment_null_search)		nFlags |= FLAG_AUTO_IS_NULL;
-
-	return nFlags;
-}

Deleted: branches/guffert/wingui/setup/utils.h
===================================================================
--- branches/guffert/wingui/setup/utils.h	2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/utils.h	2007-10-30 19:56:13 UTC (rev 830)
@@ -1,19 +0,0 @@
-#ifndef _CALLBACKS_UTILS_
-
-#define _CALLBACKS_UTILS_
-
-#include "../odbcdialogparams/odbcdialogparams.h"
-#include "../util/installer.h"
-
-#include <sqltypes.h>
-
-void				ShowDiagnostics		( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h );
-void				FreeEnvHandle		( SQLHENV &hEnv );
-void				Disconnect			( SQLHDBC &hDbc, SQLHENV &hEnv  );
-void				Disconnect			( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv  );
-const myString &	buildConnectString	( DataSource* params );
-SQLRETURN			Connect				( SQLHDBC  &   hDbc, SQLHENV   &  hEnv, DataSource *
params );
-unsigned long		CompileOptions		( DataSource * params );
-void				DecompileOptions	( DataSource &src );
-
-#endif

Thread
Connector/ODBC 3.51 commit: r830 - in branches/guffert/wingui: odbcdialogparams setuplnovitsky30 Oct