blob: aaa4eaec6d18fd22211fc78757eb845416f8a2c4 [file] [log] [blame]
Eric Pouechdff8de62004-12-13 21:06:46 +00001/*
2 * Help Viewer - DLL callback into WineHelp
3 *
4 * Copyright 2004 Eric Pouech
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
Mike McCormack002e1432006-01-18 14:23:11 +010021#define WIN32_LEAN_AND_MEAN
22
Eric Pouechdff8de62004-12-13 21:06:46 +000023#include <stdio.h>
24
25#include "windows.h"
26#include "winhelp.h"
27
28#include "wine/debug.h"
29
30WINE_DEFAULT_DEBUG_CHANNEL(winhelp);
31
32static WORD CALLBACK WHD_GetFSError(void)
33{
34 WINE_FIXME("()\n");
35 return 0;
36}
37
38static HANDLE CALLBACK WHD_Open(LPSTR name, BYTE flags)
39{
40 unsigned mode = 0;
41
42 WINE_FIXME("(%s %x)\n", wine_dbgstr_a(name), flags);
43 switch (flags)
44 {
45 case 0: mode = GENERIC_READ | GENERIC_WRITE; break;
46 case 2: mode = GENERIC_READ; break;
47 default: WINE_FIXME("Undocumented flags %x\n", flags);
48 }
49 return CreateFile(name, mode, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
50 OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
51}
52
53static WORD CALLBACK WHD_Close(HANDLE fs)
54{
55 WINE_FIXME("(%p)\n", fs);
56 CloseHandle(fs);
57 return 0;
58}
59
60static HANDLE CALLBACK WHD_OpenBag(HANDLE fs, LPSTR name, BYTE flags)
61{
62 WINE_FIXME("(%p %s %x)\n", fs, name, flags);
63 return NULL;
64}
65
66static HANDLE CALLBACK WHD_CloseBag(HANDLE bag)
67{
68 WINE_FIXME("()\n");
69 return NULL;
70}
71
72static LONG CALLBACK WHD_ReadBag(HANDLE bag, BYTE* ptr, LONG len)
73{
74 WINE_FIXME("()\n");
75 return 0;
76}
77
78static LONG CALLBACK WHD_TellBag(HANDLE bag)
79{
80 WINE_FIXME("()\n");
81 return 0;
82}
83
84static LONG CALLBACK WHD_SeekBag(HANDLE bag, LONG offset, WORD whence)
85{
86 WINE_FIXME("()\n");
87 return 0;
88}
89
90static BOOL CALLBACK WHD_IsEofBag(HANDLE bag)
91{
92 WINE_FIXME("()\n");
93 return FALSE;
94}
95
96static LONG CALLBACK WHD_SizeBag(HANDLE bag)
97{
98 WINE_FIXME("()\n");
99 return 0;
100}
101
102static BOOL CALLBACK WHD_Access(HANDLE fs, LPSTR name, BYTE flags)
103{
104 WINE_FIXME("()\n");
105 return FALSE;
106}
107
108static WORD CALLBACK WHD_LLInfoFromBag(HANDLE bag, WORD opt, LPWORD p1, LPLONG p2, LPLONG p3)
109{
110 WINE_FIXME("()\n");
111 return 0;
112}
113
114static WORD CALLBACK WHD_LLInfoFromFile(HANDLE fs, LPSTR name, WORD opt, LPWORD p1, LPLONG p2, LPLONG p3)
115{
116 WINE_FIXME("()\n");
117 return 0;
118}
119
120static void CALLBACK WHD_Error(int err)
121{
122 WINE_FIXME("()\n");
123}
124
125static void CALLBACK WHD_ErrorString(LPSTR err)
126{
127 WINE_FIXME("()\n");
128}
129
130static LONG CALLBACK WHD_GetInfo(WORD what, HWND hnd)
131{
132 LONG ret = 0;
133
134 WINE_TRACE("(%x %p)\n", what, hnd);
135 switch (what)
136 {
137 case 0: break;
138 case 1: /* instance */ ret = (LONG)Globals.hInstance; break;
139 case 3: /* current window */ ret = (LONG)Globals.active_win->hMainWnd; break;
140 case 2: /* main window */
141 case 4: /* handle to opened file */
142 case 5: /* foreground color */
143 case 6: /* background color */
144 case 7: /* topic number */
145 case 8: /* current opened file name */
146 WINE_FIXME("NIY %u\n", what);
147 break;
148 default:
149 WINE_FIXME("Undocumented %u\n", what);
150 break;
151 }
152 return ret;
153}
154
155static LONG CALLBACK WHD_API(LPSTR x, WORD xx, DWORD xxx)
156{
157 WINE_FIXME("()\n");
158 return 0;
159}
160
161FARPROC Callbacks[] =
162{
163 (FARPROC)WHD_GetFSError,
164 (FARPROC)WHD_Open,
165 (FARPROC)WHD_Close,
166 (FARPROC)WHD_OpenBag,
167 (FARPROC)WHD_CloseBag,
168 (FARPROC)WHD_ReadBag,
169 (FARPROC)WHD_TellBag,
170 (FARPROC)WHD_SeekBag,
171 (FARPROC)WHD_IsEofBag,
172 (FARPROC)WHD_SizeBag,
173 (FARPROC)WHD_Access,
174 (FARPROC)WHD_LLInfoFromBag,
175 (FARPROC)WHD_LLInfoFromFile,
176 (FARPROC)WHD_Error,
177 (FARPROC)WHD_ErrorString,
178 (FARPROC)WHD_GetInfo,
179 (FARPROC)WHD_API
180};