#ifndef _APPWIZ_H #define _APPWIZ_H #include #include #include #define WIN32_NO_STATUS #define _INC_WINDOWS #define COM_NO_WINDOWS_H #define COBJMACROS #include #include #include #include #include #include #include #include WINE_DEFAULT_DEBUG_CHANNEL(appwiz); #include "resource.h" typedef struct { WCHAR szTarget[2 * MAX_PATH]; WCHAR szWorkingDirectory[MAX_PATH]; WCHAR szDescription[MAX_PATH]; WCHAR szArguments[2 * MAX_PATH]; WCHAR szOrigin[MAX_PATH]; WCHAR szOldFile[MAX_PATH]; WCHAR szLinkName[MAX_PATH]; } CREATE_LINK_CONTEXT, *PCREATE_LINK_CONTEXT; extern HINSTANCE hApplet; /* createlink.c */ INT_PTR CALLBACK WelcomeDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK FinishDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); LONG CALLBACK NewLinkHere(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2); /* removestartmenuitems.c */ LONG CALLBACK ConfigStartMenu(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2); void ShowLastWin32Error(HWND hWndOwner); typedef enum { ADDON_GECKO, ADDON_MONO } addon_t; BOOL install_addon(addon_t, HWND hwnd_parent) DECLSPEC_HIDDEN; extern HINSTANCE hInst DECLSPEC_HIDDEN; static inline void *heap_alloc(size_t len) { return HeapAlloc(GetProcessHeap(), 0, len); } static inline void *heap_realloc(void *mem, size_t len) { return HeapReAlloc(GetProcessHeap(), 0, mem, len); } static inline BOOL heap_free(void *mem) { return HeapFree(GetProcessHeap(), 0, mem); } static inline WCHAR *heap_strdupAtoW(const char *str) { WCHAR *ret = NULL; if(str) { size_t len; len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0); ret = heap_alloc(len*sizeof(WCHAR)); if(ret) MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len); } return ret; } #endif /* _APPWIZ_H */