+++ /dev/null
-/* $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;
-}
+++ /dev/null
-/* $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
+++ /dev/null
-/* $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;
-}
+++ /dev/null
-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
-
#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
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;
}
#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__ */
<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>
#define REACTOS_STR_INTERNAL_NAME "odbccp32\0"
#define REACTOS_STR_ORIGINAL_FILENAME "odbccp32.cpl\0"
#include <reactos/version.rc>
-
-
-
-#include "rsrc.rc"
+++ /dev/null
-/* $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;
-}
+++ /dev/null
-#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__ */
+++ /dev/null
-#include <windows.h>
-#include <commctrl.h>
-#include "resource.h"
-
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-
-#include "lang/en-US.rc"
+++ /dev/null
-/* $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;
-}