- move implementation of dialogs to appropiate file (odbccp32.dll)
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Wed, 4 Apr 2007 18:43:24 +0000 (18:43 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Wed, 4 Apr 2007 18:43:24 +0000 (18:43 +0000)
- 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

12 files changed:
reactos/dll/cpl/odbccp32/about.c [deleted file]
reactos/dll/cpl/odbccp32/drivers.c [deleted file]
reactos/dll/cpl/odbccp32/dsn.c [deleted file]
reactos/dll/cpl/odbccp32/lang/en-US.rc [deleted file]
reactos/dll/cpl/odbccp32/odbccp32.c
reactos/dll/cpl/odbccp32/odbccp32.h
reactos/dll/cpl/odbccp32/odbccp32.rbuild
reactos/dll/cpl/odbccp32/odbccp32.rc
reactos/dll/cpl/odbccp32/pool.c [deleted file]
reactos/dll/cpl/odbccp32/resource.h [deleted file]
reactos/dll/cpl/odbccp32/rsrc.rc [deleted file]
reactos/dll/cpl/odbccp32/trace.c [deleted file]

diff --git a/reactos/dll/cpl/odbccp32/about.c b/reactos/dll/cpl/odbccp32/about.c
deleted file mode 100644 (file)
index 56f1589..0000000
+++ /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 (file)
index a945e84..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* $Id: odbccp32.c 22979 2006-07-09 21:10:40Z fireball $\r
- *\r
- * PROJECT:         ReactOS ODBC Control Panel Applet\r
- * FILE:            lib/cpl/main/main.c\r
- * PURPOSE:         ODBC drivers dialog\r
- * PROGRAMMER:      Johannes Anderwald\r
- */\r
-\r
-#include "odbccp32.h"\r
-\r
-INT_PTR \r
-CALLBACK\r
-DriversProc(IN HWND hwndDlg,\r
-                 IN UINT uMsg,\r
-                 IN WPARAM wParam,\r
-                 IN LPARAM lParam)\r
-{\r
-\r
-\r
-\r
-\r
-       return FALSE;\r
-}\r
diff --git a/reactos/dll/cpl/odbccp32/dsn.c b/reactos/dll/cpl/odbccp32/dsn.c
deleted file mode 100644 (file)
index a5caedd..0000000
+++ /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 (file)
index 2f75624..0000000
+++ /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
-
index cf961a4..939fac0 100644 (file)
@@ -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;
-
-               case CPL_GETCOUNT:
-                       return 1;
+               TCHAR szBuffer[MAX_PATH];
 
-               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;
+                       hLibrary = LoadLibrary(szBuffer);
+                       if (hLibrary)
+                       {
+                               ODBCProc = (APPLET_PROC)GetProcAddress(hLibrary, "ODBCCPlApplet");
+                       }
                }
+       }
 
-               case CPL_DBLCLK:
+       if (ODBCProc)
+       {
+               return ODBCProc(hwndCpl, uMsg, lParam1, lParam2);
+       }
+       else
+       {
+               if(hLibrary)
                {
-                       AppletProc(hwndCpl, uMsg, lParam1, lParam2);
-                       break;
+                       FreeLibrary(hLibrary);
                }
+
+               TerminateProcess(GetCurrentProcess(), -1);
+               return (LONG)-1;
        }
-       return FALSE;
 }
 
 
index 96be9ac..e1e7e33 100644 (file)
@@ -6,61 +6,7 @@
 #include <cpl.h>
 #include <tchar.h>
 
-#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__ */
index 3a60e11..f9aeb33 100644 (file)
        <library>comctl32</library>
        <library>msvcrt</library>
        <file>odbccp32.c</file>
-       <file>dsn.c</file>
-       <file>trace.c</file>
-       <file>pool.c</file>
-       <file>about.c</file>
-       <file>drivers.c</file>
        <file>odbccp32.rc</file>
 </module>
index 8ee7e65..695bbcc 100644 (file)
@@ -7,7 +7,3 @@
 #define REACTOS_STR_INTERNAL_NAME      "odbccp32\0"
 #define REACTOS_STR_ORIGINAL_FILENAME  "odbccp32.cpl\0"
 #include <reactos/version.rc>
-
-
-
-#include "rsrc.rc"
diff --git a/reactos/dll/cpl/odbccp32/pool.c b/reactos/dll/cpl/odbccp32/pool.c
deleted file mode 100644 (file)
index 7331415..0000000
+++ /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 (file)
index 2061fdd..0000000
+++ /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 (file)
index 192ce35..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <windows.h>
-#include <commctrl.h>
-#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 (file)
index a70a2ab..0000000
+++ /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;
-}