diff --git a/Makefile.in b/Makefile.in index 63424a98127edb3bd08580e7197dcd2698e3de4a..877f2153d0a82eefc5c3c1b0b7bf799e28bb9378 100644 --- a/Makefile.in +++ b/Makefile.in @@ -254,6 +254,7 @@ ALL_MAKEFILES = \ dlls/kernel32/tests/Makefile \ dlls/localspl/Makefile \ dlls/localspl/tests/Makefile \ + dlls/localui/Makefile \ dlls/lz32/Makefile \ dlls/lz32/tests/Makefile \ dlls/mapi32/Makefile \ @@ -593,6 +594,7 @@ dlls/kernel32/Makefile: dlls/kernel32/Makefile.in dlls/Makedll.rules dlls/kernel32/tests/Makefile: dlls/kernel32/tests/Makefile.in dlls/Maketest.rules dlls/localspl/Makefile: dlls/localspl/Makefile.in dlls/Makedll.rules dlls/localspl/tests/Makefile: dlls/localspl/tests/Makefile.in dlls/Maketest.rules +dlls/localui/Makefile: dlls/localui/Makefile.in dlls/Makedll.rules dlls/lz32/Makefile: dlls/lz32/Makefile.in dlls/Makedll.rules dlls/lz32/tests/Makefile: dlls/lz32/tests/Makefile.in dlls/Maketest.rules dlls/mapi32/Makefile: dlls/mapi32/Makefile.in dlls/Makedll.rules diff --git a/configure b/configure index 9c83ac730e1953df5e7e1afeaf663f9c2026e76c..9cf3cbb00002ea6da977a8e6de64ebb0e6df7a85 100755 --- a/configure +++ b/configure @@ -20396,6 +20396,8 @@ ac_config_files="$ac_config_files dlls/localspl/Makefile" ac_config_files="$ac_config_files dlls/localspl/tests/Makefile" +ac_config_files="$ac_config_files dlls/localui/Makefile" + ac_config_files="$ac_config_files dlls/lz32/Makefile" ac_config_files="$ac_config_files dlls/lz32/tests/Makefile" @@ -21514,6 +21516,7 @@ do "dlls/kernel32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/kernel32/tests/Makefile" ;; "dlls/localspl/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localspl/Makefile" ;; "dlls/localspl/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localspl/tests/Makefile" ;; + "dlls/localui/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/localui/Makefile" ;; "dlls/lz32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/lz32/Makefile" ;; "dlls/lz32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/lz32/tests/Makefile" ;; "dlls/mapi32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/mapi32/Makefile" ;; diff --git a/configure.ac b/configure.ac index 921fdcf806ebdd5f343a8cd53c3d3a4058142617..f97fd3a6a9d457f59f34cadf87fd084078d8d6fc 100644 --- a/configure.ac +++ b/configure.ac @@ -1588,6 +1588,7 @@ AC_CONFIG_FILES([dlls/kernel32/Makefile]) AC_CONFIG_FILES([dlls/kernel32/tests/Makefile]) AC_CONFIG_FILES([dlls/localspl/Makefile]) AC_CONFIG_FILES([dlls/localspl/tests/Makefile]) +AC_CONFIG_FILES([dlls/localui/Makefile]) AC_CONFIG_FILES([dlls/lz32/Makefile]) AC_CONFIG_FILES([dlls/lz32/tests/Makefile]) AC_CONFIG_FILES([dlls/mapi32/Makefile]) diff --git a/dlls/Makefile.in b/dlls/Makefile.in index 0675a9cfe32fd6dc6bd030605a15581c4535082d..ea5c76c6de84f9e16822baf9cffd473798666e18 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -87,6 +87,7 @@ BASEDIRS = \ itss \ kernel32 \ localspl \ + localui \ lz32 \ mapi32 \ mciavi32 \ diff --git a/dlls/localui/Makefile.in b/dlls/localui/Makefile.in new file mode 100644 index 0000000000000000000000000000000000000000..7505c159fb261e3763a5cf6dd6d1a320b1ec2094 --- /dev/null +++ b/dlls/localui/Makefile.in @@ -0,0 +1,13 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = localui.dll +IMPORTS = kernel32 + +C_SRCS = \ + localui.c + +@MAKE_DLL_RULES@ + +@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/dlls/localui/localui.c b/dlls/localui/localui.c new file mode 100644 index 0000000000000000000000000000000000000000..ae512e0645324c76d501a45f0fde151ecbf332ae --- /dev/null +++ b/dlls/localui/localui.c @@ -0,0 +1,147 @@ +/* + * Implementation of the Local Printmonitor User Interface + * + * Copyright 2007 Detlef Riekenberg + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <stdarg.h> + +#define NONAMELESSUNION + +#include "windef.h" +#include "winbase.h" +#include "wingdi.h" +#include "winreg.h" + +#include "winspool.h" +#include "ddk/winsplp.h" + +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(localui); + +static HINSTANCE LOCALUI_hInstance; + +/***************************************************** + * localui_AddPortUI [exported through MONITORUI] + * + * Display a Dialog to add a local Port + * + * PARAMS + * pName [I] Servername or NULL (local Computer) + * hWnd [I] Handle to parent Window for the Dialog-Box or NULL + * pMonitorName[I] Name of the Monitor, that should be used to add a Port or NULL + * ppPortName [O] PTR to PTR of a buffer, that receive the Name of the new Port or NULL + * + * RETURNS + * Success: TRUE + * Failure: FALSE + * + */ +static BOOL WINAPI localui_AddPortUI(PCWSTR pName, HWND hWnd, PCWSTR pMonitorName, PWSTR *ppPortName) +{ + FIXME("(%s, %p, %s, %p) stub\n", debugstr_w(pName), hWnd, debugstr_w(pMonitorName), ppPortName); + return TRUE; +} + + +/***************************************************** + * localui_ConfigurePortUI [exported through MONITORUI] + * + * Display the Configuration-Dialog for a specific Port + * + * PARAMS + * pName [I] Servername or NULL (local Computer) + * hWnd [I] Handle to parent Window for the Dialog-Box or NULL + * pPortName [I] Name of the Port, that should be configured + * + * RETURNS + * Success: TRUE + * Failure: FALSE + * + */ +static BOOL WINAPI localui_ConfigurePortUI(PCWSTR pName, HWND hWnd, PCWSTR pPortName) +{ + FIXME("(%s, %p, %s) stub\n", debugstr_w(pName), hWnd, debugstr_w(pPortName)); + return TRUE; +} + +/***************************************************** + * localui_DeletePortUI [exported through MONITORUI] + * + * Delete a specific Port + * + * PARAMS + * pName [I] Servername or NULL (local Computer) + * hWnd [I] Handle to parent Window + * pPortName [I] Name of the Port, that should be deleted + * + * RETURNS + * Success: TRUE + * Failure: FALSE + * + */ +static BOOL WINAPI localui_DeletePortUI(PCWSTR pName, HWND hWnd, PCWSTR pPortName) +{ + FIXME("(%s, %p, %s) stub\n", debugstr_w(pName), hWnd, debugstr_w(pPortName)); + return TRUE; +} + +/***************************************************** + * InitializePrintMonitorUI (LOCALUI.@) + * + * Initialize the User-Interface for the Local Ports + * + * RETURNS + * Success: Pointer to a MONITORUI Structure + * Failure: NULL + * + */ + +PMONITORUI WINAPI InitializePrintMonitorUI(void) +{ + static MONITORUI mymonitorui = + { + sizeof(MONITORUI), + localui_AddPortUI, + localui_ConfigurePortUI, + localui_DeletePortUI + }; + + TRACE("=> %p\n", &mymonitorui); + return &mymonitorui; +} + +/***************************************************** + * DllMain + */ +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + TRACE("(%p, %d, %p)\n",hinstDLL, fdwReason, lpvReserved); + + switch(fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls( hinstDLL ); + LOCALUI_hInstance = hinstDLL; + break; + } + return TRUE; +} diff --git a/dlls/localui/localui.spec b/dlls/localui/localui.spec new file mode 100644 index 0000000000000000000000000000000000000000..dafed227144f6d7cc77e53f8ce44ad2b6828e400 --- /dev/null +++ b/dlls/localui/localui.spec @@ -0,0 +1 @@ +@ stdcall InitializePrintMonitorUI()