From 9d6dcfb24e1ab7c073182969d441ced46c1ca98c Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 4 Apr 2007 18:43:24 +0000 Subject: [PATCH] - move implementation of dialogs to appropiate file (odbccp32.dll) - odbccp32.cpl is therefore complete YUHU - rbuild needs to be hacked that odbccp32.cpl is outputed in the right destination folder (currently it writes into destination of odbccp32.dll) svn path=/trunk/; revision=26263 --- reactos/dll/cpl/odbccp32/about.c | 23 ----- reactos/dll/cpl/odbccp32/drivers.c | 23 ----- reactos/dll/cpl/odbccp32/dsn.c | 51 ------------ reactos/dll/cpl/odbccp32/lang/en-US.rc | 64 -------------- reactos/dll/cpl/odbccp32/odbccp32.c | 102 +++++++---------------- reactos/dll/cpl/odbccp32/odbccp32.h | 56 +------------ reactos/dll/cpl/odbccp32/odbccp32.rbuild | 5 -- reactos/dll/cpl/odbccp32/odbccp32.rc | 4 - reactos/dll/cpl/odbccp32/pool.c | 23 ----- reactos/dll/cpl/odbccp32/resource.h | 54 ------------ reactos/dll/cpl/odbccp32/rsrc.rc | 7 -- reactos/dll/cpl/odbccp32/trace.c | 23 ----- 12 files changed, 29 insertions(+), 406 deletions(-) delete mode 100644 reactos/dll/cpl/odbccp32/about.c delete mode 100644 reactos/dll/cpl/odbccp32/drivers.c delete mode 100644 reactos/dll/cpl/odbccp32/dsn.c delete mode 100644 reactos/dll/cpl/odbccp32/lang/en-US.rc delete mode 100644 reactos/dll/cpl/odbccp32/pool.c delete mode 100644 reactos/dll/cpl/odbccp32/resource.h delete mode 100644 reactos/dll/cpl/odbccp32/rsrc.rc delete mode 100644 reactos/dll/cpl/odbccp32/trace.c diff --git a/reactos/dll/cpl/odbccp32/about.c b/reactos/dll/cpl/odbccp32/about.c deleted file mode 100644 index 56f15892ef2..00000000000 --- a/reactos/dll/cpl/odbccp32/about.c +++ /dev/null @@ -1,23 +0,0 @@ -/* $Id$ - * - * PROJECT: ReactOS ODBC Control Panel Applet - * FILE: lib/cpl/main/main.c - * PURPOSE: ODBC about dialog - * PROGRAMMER: Johannes Anderwald - */ - -#include "odbccp32.h" - -INT_PTR -CALLBACK -AboutProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - - - - - return FALSE; -} diff --git a/reactos/dll/cpl/odbccp32/drivers.c b/reactos/dll/cpl/odbccp32/drivers.c deleted file mode 100644 index a945e84805f..00000000000 --- a/reactos/dll/cpl/odbccp32/drivers.c +++ /dev/null @@ -1,23 +0,0 @@ -/* $Id: odbccp32.c 22979 2006-07-09 21:10:40Z fireball $ - * - * PROJECT: ReactOS ODBC Control Panel Applet - * FILE: lib/cpl/main/main.c - * PURPOSE: ODBC drivers dialog - * PROGRAMMER: Johannes Anderwald - */ - -#include "odbccp32.h" - -INT_PTR -CALLBACK -DriversProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - - - - - return FALSE; -} diff --git a/reactos/dll/cpl/odbccp32/dsn.c b/reactos/dll/cpl/odbccp32/dsn.c deleted file mode 100644 index a5caedd62e5..00000000000 --- a/reactos/dll/cpl/odbccp32/dsn.c +++ /dev/null @@ -1,51 +0,0 @@ -/* $Id$ - * - * PROJECT: ReactOS ODBC Control Panel Applet - * FILE: lib/cpl/main/main.c - * PURPOSE: ODBC DSN functions - * PROGRAMMER: Johannes Anderwald - */ - -#include "odbccp32.h" - -INT_PTR -CALLBACK -UserDSNProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - - - - - return FALSE; -} - -INT_PTR -CALLBACK -SystemDSNProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - - - - - return FALSE; -} - -INT_PTR -CALLBACK -FileDSNProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - - - - - return FALSE; -} diff --git a/reactos/dll/cpl/odbccp32/lang/en-US.rc b/reactos/dll/cpl/odbccp32/lang/en-US.rc deleted file mode 100644 index 2f756246320..00000000000 --- a/reactos/dll/cpl/odbccp32/lang/en-US.rc +++ /dev/null @@ -1,64 +0,0 @@ -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -IDD_USERDSN DIALOGEX 0, 0, 246, 228 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "User DSN" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "&User Data Sources:", -1, 10, 15, 80, 12 - //FIXME textbox - PUSHBUTTON "A&dd...", IDC_USERDSN_ADD, 185, 30, 50, 12 - PUSHBUTTON "&Remove...", IDC_USERDSN_REMOVE, 185, 45, 50, 12 - PUSHBUTTON "&Configure...", IDC_USERDSN_CONFIGURE, 185, 60, 50, 12 -// ICON -1, -1, 20, 180, 15, 15 - LTEXT "An ODBC User data source stores information about how to connect to the indicated data provider. A User data source is only visible to you and can only be used on the current machine.", -1, 45, 150, 180, 40 -END - -IDD_SYSTEMDSN DIALOGEX 0, 0, 246, 228 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "System DSN" -FONT 8, "MS Shell Dlg" -BEGIN - -END - -IDD_FILEDSN DIALOGEX 0, 0, 246, 228 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "File DSN" -FONT 8, "MS Shell Dlg" -BEGIN - -END - -IDD_DRIVERS DIALOGEX 0, 0, 246, 228 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Drivers" -FONT 8, "MS Shell Dlg" -BEGIN - -END - -IDD_CONNTRACE DIALOGEX 0, 0, 246, 228 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Tracing" -FONT 8, "MS Shell Dlg" -BEGIN - -END - -IDD_CONNPOOL DIALOGEX 0, 0, 246, 228 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Connection Pooling" -FONT 8, "MS Shell Dlg" -BEGIN - -END - -IDD_ABOUT DIALOGEX 0, 0, 246, 228 -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "About" -FONT 8, "MS Shell Dlg" -BEGIN - -END - diff --git a/reactos/dll/cpl/odbccp32/odbccp32.c b/reactos/dll/cpl/odbccp32/odbccp32.c index cf961a46f03..939fac0602d 100644 --- a/reactos/dll/cpl/odbccp32/odbccp32.c +++ b/reactos/dll/cpl/odbccp32/odbccp32.c @@ -8,59 +8,9 @@ #include "odbccp32.h" -HINSTANCE hApplet = 0; - -VOID -InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc) -{ - ZeroMemory(psp, sizeof(PROPSHEETPAGE)); - - psp->dwSize = sizeof(PROPSHEETPAGE); - psp->dwFlags = PSP_DEFAULT; - psp->hInstance = hApplet; - psp->pszTemplate = MAKEINTRESOURCE(idDlg); - psp->pfnDlgProc = DlgProc; -} - - -LONG -APIENTRY -AppletProc(HWND hwnd, UINT uMsg, LONG wParam, LONG lParam) -{ - PROPSHEETPAGE psp[7]; - PROPSHEETHEADER psh; - TCHAR szBuffer[256]; - - UNREFERENCED_PARAMETER(lParam); - UNREFERENCED_PARAMETER(wParam); - UNREFERENCED_PARAMETER(uMsg); - UNREFERENCED_PARAMETER(hwnd); - - ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); - psh.dwFlags = PSH_PROPSHEETPAGE; - psh.dwSize = sizeof(PROPSHEETHEADER); - psh.hwndParent = NULL; - psh.hInstance = hApplet; - psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON)); - psh.nStartPage = 0; - psh.ppsp = psp; - psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE); - - if (LoadString(hApplet, IDS_CPLNAME, szBuffer, sizeof(szBuffer) / sizeof(TCHAR)) < 256) - { - psh.dwFlags |= PSH_PROPTITLE; - psh.pszCaption = szBuffer; - } - - InitPropSheetPage(&psp[0], IDD_USERDSN, UserDSNProc); - InitPropSheetPage(&psp[1], IDD_SYSTEMDSN, SystemDSNProc); - InitPropSheetPage(&psp[2], IDD_FILEDSN, FileDSNProc); - InitPropSheetPage(&psp[3], IDD_DRIVERS, DriversProc); - InitPropSheetPage(&psp[4], IDD_CONNTRACE, TraceProc); - InitPropSheetPage(&psp[5], IDD_CONNPOOL, PoolProc); - InitPropSheetPage(&psp[6], IDD_ABOUT, AboutProc); - return (LONG)(PropertySheet(&psh) != -1); -} +HINSTANCE hApplet = NULL; +APPLET_PROC ODBCProc = NULL; +HMODULE hLibrary = NULL; LONG @@ -70,32 +20,36 @@ CPlApplet(HWND hwndCpl, LPARAM lParam1, LPARAM lParam2) { - switch(uMsg) + if (ODBCProc == NULL) { - case CPL_INIT: - return TRUE; + TCHAR szBuffer[MAX_PATH]; - case CPL_GETCOUNT: - return 1; - - case CPL_INQUIRE: + if (ExpandEnvironmentStrings(_T("%systemroot%\\system32\\odbccp32.dll"), + szBuffer, + sizeof(szBuffer) / sizeof(TCHAR)) > 0) { - CPLINFO *CPlInfo = (CPLINFO*)lParam2; - - CPlInfo->lData = lParam1; - CPlInfo->idIcon = CPL_ICON; - CPlInfo->idName = CPL_NAME; - CPlInfo->idInfo = CPL_INFO; - break; - } - - case CPL_DBLCLK: - { - AppletProc(hwndCpl, uMsg, lParam1, lParam2); - break; + hLibrary = LoadLibrary(szBuffer); + if (hLibrary) + { + ODBCProc = (APPLET_PROC)GetProcAddress(hLibrary, "ODBCCPlApplet"); + } } } - return FALSE; + + if (ODBCProc) + { + return ODBCProc(hwndCpl, uMsg, lParam1, lParam2); + } + else + { + if(hLibrary) + { + FreeLibrary(hLibrary); + } + + TerminateProcess(GetCurrentProcess(), -1); + return (LONG)-1; + } } diff --git a/reactos/dll/cpl/odbccp32/odbccp32.h b/reactos/dll/cpl/odbccp32/odbccp32.h index 96be9acfe6d..e1e7e3324e1 100644 --- a/reactos/dll/cpl/odbccp32/odbccp32.h +++ b/reactos/dll/cpl/odbccp32/odbccp32.h @@ -6,61 +6,7 @@ #include #include -#include "resource.h" - extern HINSTANCE hApplet; - -INT_PTR -CALLBACK -UserDSNProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam); - -INT_PTR -CALLBACK -SystemDSNProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam); - -INT_PTR -CALLBACK -FileDSNProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam); - - -INT_PTR -CALLBACK -DriversProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam); - -INT_PTR -CALLBACK -TraceProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam); - - -INT_PTR -CALLBACK -PoolProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam); - -INT_PTR -CALLBACK -AboutProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam); - - +extern HMODULE hLibrary; #endif /* end of ODBCCP32_H__ */ diff --git a/reactos/dll/cpl/odbccp32/odbccp32.rbuild b/reactos/dll/cpl/odbccp32/odbccp32.rbuild index 3a60e111c04..f9aeb33a308 100644 --- a/reactos/dll/cpl/odbccp32/odbccp32.rbuild +++ b/reactos/dll/cpl/odbccp32/odbccp32.rbuild @@ -12,10 +12,5 @@ comctl32 msvcrt odbccp32.c - dsn.c - trace.c - pool.c - about.c - drivers.c odbccp32.rc diff --git a/reactos/dll/cpl/odbccp32/odbccp32.rc b/reactos/dll/cpl/odbccp32/odbccp32.rc index 8ee7e65ab99..695bbcc2b87 100644 --- a/reactos/dll/cpl/odbccp32/odbccp32.rc +++ b/reactos/dll/cpl/odbccp32/odbccp32.rc @@ -7,7 +7,3 @@ #define REACTOS_STR_INTERNAL_NAME "odbccp32\0" #define REACTOS_STR_ORIGINAL_FILENAME "odbccp32.cpl\0" #include - - - -#include "rsrc.rc" diff --git a/reactos/dll/cpl/odbccp32/pool.c b/reactos/dll/cpl/odbccp32/pool.c deleted file mode 100644 index 73314157b52..00000000000 --- a/reactos/dll/cpl/odbccp32/pool.c +++ /dev/null @@ -1,23 +0,0 @@ -/* $Id$ - * - * PROJECT: ReactOS ODBC Control Panel Applet - * FILE: lib/cpl/main/main.c - * PURPOSE: ODBC pool functions - * PROGRAMMER: Johannes Anderwald - */ - -#include "odbccp32.h" - -INT_PTR -CALLBACK -PoolProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - - - - - return FALSE; -} diff --git a/reactos/dll/cpl/odbccp32/resource.h b/reactos/dll/cpl/odbccp32/resource.h deleted file mode 100644 index 2061fddba66..00000000000 --- a/reactos/dll/cpl/odbccp32/resource.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef RESOURCE_H__ //resource.h -#define RESOURCE_H__ - -// -/// dialog constants -/// -#define IDD_USERDSN 100 -#define IDD_SYSTEMDSN 101 -#define IDD_FILEDSN 102 -#define IDD_DRIVERS 103 -#define IDD_CONNTRACE 104 -#define IDD_CONNPOOL 105 -#define IDD_ABOUT 106 - -#define IDC_CPLICON 150 -#define IDS_CPLNAME 151 -#define CPL_ICON 152 -#define CPL_NAME 153 -#define CPL_INFO 154 - -/// -/// User DSN dialog constants -/// - -#define IDC_USERDSN_ADD 200 -#define IDC_USERDSN_REMOVE 201 -#define IDC_USERDSN_CONFIGURE 202 - -/// -/// System DSN dialog constants -/// - -/// -/// File DSN dialog constants -/// - -/// -/// Drivers dialog constants -/// - -/// -/// Trace dialog constants -/// - -/// -/// Connection pooling dialog constants -/// - -/// -/// About dialog constants -/// - - -#endif /* end of RESOURCE_H__ */ diff --git a/reactos/dll/cpl/odbccp32/rsrc.rc b/reactos/dll/cpl/odbccp32/rsrc.rc deleted file mode 100644 index 192ce35ff77..00000000000 --- a/reactos/dll/cpl/odbccp32/rsrc.rc +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include -#include "resource.h" - -LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL - -#include "lang/en-US.rc" diff --git a/reactos/dll/cpl/odbccp32/trace.c b/reactos/dll/cpl/odbccp32/trace.c deleted file mode 100644 index a70a2ab7acc..00000000000 --- a/reactos/dll/cpl/odbccp32/trace.c +++ /dev/null @@ -1,23 +0,0 @@ -/* $Id$ - * - * PROJECT: ReactOS ODBC Control Panel Applet - * FILE: lib/cpl/main/main.c - * PURPOSE: ODBC trace functions - * PROGRAMMER: Johannes Anderwald - */ - -#include "odbccp32.h" - -INT_PTR -CALLBACK -TraceProc(IN HWND hwndDlg, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - - - - - return FALSE; -}