Faster serial speed cases for non Linux systems.
[wine] / dlls / urlmon / urlmon_main.c
1 /*
2  * UrlMon
3  *
4  * Copyright (c) 2000 Patrik Stridvall
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
21 #include "windef.h"
22 #include "winerror.h"
23 #include "wtypes.h"
24 #include "ole2.h"
25 #include "urlmon.h"
26
27 #include "comimpl.h"
28
29 #include "wine/debug.h"
30
31 WINE_DEFAULT_DEBUG_CHANNEL(urlmon);
32
33
34 const COMIMPL_CLASSENTRY COMIMPL_ClassList[] =
35 {
36   /* list of exported classes */
37   { NULL, NULL }
38 };
39
40
41 /***********************************************************************
42  *              DllInstall (URLMON.@)
43  */
44 HRESULT WINAPI URLMON_DllInstall(BOOL bInstall, LPCWSTR cmdline)
45 {
46   FIXME("(%s, %s): stub\n", bInstall?"TRUE":"FALSE", 
47         debugstr_w(cmdline));
48
49   return S_OK;
50 }
51
52 /***********************************************************************
53  *              DllRegisterServer (URLMON.@)
54  */
55 HRESULT WINAPI URLMON_DllRegisterServer(void)
56 {
57     FIXME("(void): stub\n");
58
59     return S_OK;
60 }
61
62 /***********************************************************************
63  *              DllRegisterServerEx (URLMON.@)
64  */
65 HRESULT WINAPI URLMON_DllRegisterServerEx(void)
66 {
67     FIXME("(void): stub\n");
68
69     return E_FAIL;
70 }
71
72 /***********************************************************************
73  *              DllUnregisterServer (URLMON.@)
74  */
75 HRESULT WINAPI URLMON_DllUnregisterServer(void)
76 {
77     FIXME("(void): stub\n");
78
79     return S_OK;
80 }
81
82 /**************************************************************************
83  *                 UrlMkSetSessionOption (URLMON.@)
84  */
85  HRESULT WINAPI UrlMkSetSessionOption(long lost, LPVOID *splat, long time,
86                                         long nosee)
87 {
88     FIXME("(%#lx, %p, %#lx, %#lx): stub\n", lost, splat, time, nosee);
89     
90     return S_OK;
91 }
92
93 /**************************************************************************
94  *                 CoInternetGetSession (URLMON.@)
95  */
96 HRESULT WINAPI CoInternetGetSession(DWORD dwSessionMode,
97                                     LPVOID /* IInternetSession ** */ ppIInternetSession,
98                                     DWORD dwReserved)
99 {
100     FIXME("(%ld, %p, %ld): stub\n", dwSessionMode, ppIInternetSession,
101           dwReserved);
102
103     if(dwSessionMode) {
104       ERR("dwSessionMode: %ld, must be zero\n", dwSessionMode);
105     }
106
107     if(dwReserved) {
108       ERR("dwReserved: %ld, must be zero\n", dwReserved);
109     }
110
111     return E_NOTIMPL;
112 }
113
114
115 /**************************************************************************
116  *                 ObtainUserAgentString (URLMON.@)
117  */
118 HRESULT WINAPI ObtainUserAgentString(DWORD dwOption, LPCSTR pcszUAOut, DWORD *cbSize)
119 {
120     FIXME("(%ld, %p, %p): stub\n", dwOption, pcszUAOut, cbSize);
121
122     if(dwOption) {
123       ERR("dwOption: %ld, must be zero\n", dwOption);
124     }
125
126     return E_NOTIMPL;
127 }
128
129 /*****************************************************************************
130  * stubs
131  */
132
133 typedef struct
134 {
135         DWORD           dwStructSize;
136         LPSTR           lpszLoggedUrlName;
137         SYSTEMTIME      StartTime;
138         SYSTEMTIME      EndTime;
139         LPSTR           lpszExtendedInfo;
140 } HIT_LOGGING_INFO;
141
142
143 typedef struct
144 {
145         ULONG   cbSize;
146         DWORD   dwFlags;
147         DWORD   dwAdState;
148         LPWSTR  szTitle;
149         LPWSTR  szAbstract;
150         LPWSTR  szHREF;
151         DWORD   dwInstalledVersionMS;
152         DWORD   dwInstalledVersionLS;
153         DWORD   dwUpdateVersionMS;
154         DWORD   dwUpdateVersionLS;
155         DWORD   dwAdvertisedVersionMS;
156         DWORD   dwAdvertisedVersionLS;
157         DWORD   dwReserved;
158 } SOFTDISTINFO;
159
160
161 HRESULT WINAPI CreateFormatEnumerator(UINT cFormatEtcs,FORMATETC* pFormatEtcs,IEnumFORMATETC** ppenum)
162 {
163         FIXME("() stub\n");
164         return E_NOTIMPL;
165 }
166
167 HRESULT WINAPI FindMediaType(LPCSTR pszTypes,CLIPFORMAT* pcfTypes)
168 {
169         FIXME("() stub\n");
170         return E_NOTIMPL;
171 }
172
173 HRESULT WINAPI FindMediaTypeClass(IBindCtx* pbc,LPCSTR pszType,CLSID* pclsid,DWORD dwReserved)
174 {
175         FIXME("() stub\n");
176         return E_NOTIMPL;
177 }
178
179 HRESULT WINAPI FindMimeFromData(IBindCtx* pbc,LPCWSTR pwszURL,void* pbuf,DWORD cb,LPCWSTR pwszMimeProposed,DWORD dwMimeFlags,LPWSTR* ppwszMimeOut,DWORD dwReserved)
180 {
181         FIXME("() stub\n");
182         return E_NOTIMPL;
183 }
184
185 HRESULT WINAPI GetClassFileOrMime(IBindCtx* pbc,LPCWSTR pwszFilename,void* pbuf,DWORD cb,LPCWSTR pwszMime,DWORD dwReserved,CLSID* pclsid)
186 {
187         FIXME("() stub\n");
188         return E_NOTIMPL;
189 }
190
191 HRESULT WINAPI GetClassURL(LPCWSTR pwszURL,CLSID* pclsid)
192 {
193         FIXME("() stub\n");
194         return E_NOTIMPL;
195 }
196
197 HRESULT WINAPI GetSoftwareUpdateInfo(LPCWSTR pwszDistUnit,SOFTDISTINFO* psdi)
198 {
199         FIXME("() stub\n");
200         return E_NOTIMPL;
201 }
202
203 HRESULT WINAPI HlinkGoBack(IUnknown* punk)
204 {
205         FIXME("() stub\n");
206         return E_NOTIMPL;
207 }
208
209 HRESULT WINAPI HlinkGoForward(IUnknown* punk)
210 {
211         FIXME("() stub\n");
212         return E_NOTIMPL;
213 }
214
215 HRESULT WINAPI HlinkNavigateMoniker(IUnknown* punk,IMoniker* pmonTarget)
216 {
217         FIXME("() stub\n");
218         return E_NOTIMPL;
219 }
220
221 HRESULT WINAPI HlinkNavigateString(IUnknown* punk,LPCWSTR szTarget)
222 {
223         FIXME("() stub\n");
224         return E_NOTIMPL;
225 }
226
227 HRESULT WINAPI HlinkSimpleNavigateToMoniker(
228         IMoniker* pmonTarget,LPCWSTR pwszLocation,LPCWSTR pwszTargetFrame,
229         IUnknown* punk,IBindCtx* pbc,IBindStatusCallback* pbscb,
230         DWORD dwHLNF,DWORD dwReserved)
231 {
232         FIXME("() stub\n");
233         return E_NOTIMPL;
234 }
235
236 HRESULT WINAPI HlinkSimpleNavigateToString(
237         LPCWSTR pwszTarget,LPCWSTR pwszLocation,LPCWSTR pwszTargetFrame,
238         IUnknown* punk,IBindCtx* pbc,IBindStatusCallback* pbscb,
239         DWORD dwHLNF,DWORD dwReserved)
240 {
241         FIXME("() stub\n");
242         return E_NOTIMPL;
243 }
244
245 HRESULT WINAPI IsAsyncMoniker(IMoniker* pmon)
246 {
247         FIXME("() stub\n");
248         return E_NOTIMPL;
249 }
250
251 BOOL WINAPI IsLoggingEnabledA(LPCSTR pszURL)
252 {
253         FIXME("() stub\n");
254         return FALSE;
255 }
256
257 BOOL WINAPI IsLoggingEnabledW(LPCWSTR pwszURL)
258 {
259         FIXME("() stub\n");
260         return FALSE;
261 }
262
263 HRESULT WINAPI IsValidURL(IBindCtx* pbc,LPCWSTR pwszURL,DWORD dwReserved)
264 {
265         FIXME("() stub\n");
266         return E_NOTIMPL;
267 }
268
269 HRESULT WINAPI MkParseDisplayNameEx(IBindCtx* pbc,LPCWSTR pwszDisplayName,ULONG* pulCharEaten,IMoniker** ppmon)
270 {
271         FIXME("() stub\n");
272         return E_NOTIMPL;
273 }
274
275 HRESULT WINAPI RegisterFormatEnumerator(IBindCtx* pbc,IEnumFORMATETC* penum,DWORD dwReserved)
276 {
277         FIXME("() stub\n");
278         return E_NOTIMPL;
279 }
280
281 HRESULT WINAPI RegisterMediaTypeClass(IBindCtx* pbc,UINT cTypes,const LPCSTR* pszTypes,CLSID* pclsid,DWORD dwReserved)
282 {
283         FIXME("() stub\n");
284         return E_NOTIMPL;
285 }
286
287 HRESULT WINAPI RegisterMediaTypes(UINT cTypes,const LPCSTR* pszTypes,CLIPFORMAT* pcfTypes)
288 {
289         FIXME("() stub\n");
290         return E_NOTIMPL;
291 }
292
293 void WINAPI ReleaseBindInfo(BINDINFO* pbi)
294 {
295         FIXME("() stub\n");
296 }
297
298 HRESULT WINAPI RevokeFormatEnumerator(IBindCtx* pbc,IEnumFORMATETC* penum)
299 {
300         FIXME("() stub\n");
301         return E_NOTIMPL;
302 }
303
304 HRESULT WINAPI SetSoftwareUpdateAdvertisementState(LPCWSTR pwszDistUnit,DWORD dwAdvState,DWORD dwAdvVerMS,DWORD dwAdvVerLS)
305 {
306         FIXME("() stub\n");
307         return E_NOTIMPL;
308 }
309
310 HRESULT WINAPI URLDownloadToCacheFileA(IUnknown* punk,LPCSTR pszURL,LPSTR pszNameBuf,DWORD dwNameBufLen,DWORD dwReserved,IBindStatusCallback* pbscb)
311 {
312         FIXME("() stub\n");
313         return E_NOTIMPL;
314 }
315
316 HRESULT WINAPI URLDownloadToCacheFileW(IUnknown* punk,LPCWSTR pwszURL,LPWSTR pwszNameBuf,DWORD dwNameBufLen,DWORD dwReserved,IBindStatusCallback* pbscb)
317 {
318         FIXME("() stub\n");
319         return E_NOTIMPL;
320 }
321
322 HRESULT WINAPI URLDownloadToFileA(IUnknown* punk,LPCSTR pszURL,LPCSTR pszFileName,DWORD dwReserved,IBindStatusCallback* pbscb)
323 {
324         FIXME("() stub\n");
325         return E_NOTIMPL;
326 }
327
328 HRESULT WINAPI URLDownloadToFileW(IUnknown* punk,LPCWSTR pwszURL,LPCWSTR pwszFileName,DWORD dwReserved,IBindStatusCallback* pbscb)
329 {
330         FIXME("() stub\n");
331         return E_NOTIMPL;
332 }
333
334 HRESULT WINAPI URLOpenBlockingStreamA(IUnknown* punk,LPCSTR pszURL,IStream** ppstream,DWORD dwReserved,IBindStatusCallback* pbscb)
335 {
336         FIXME("() stub\n");
337         return E_NOTIMPL;
338 }
339
340 HRESULT WINAPI URLOpenBlockingStreamW(IUnknown* punk,LPCWSTR pwszURL,IStream** ppstream,DWORD dwReserved,IBindStatusCallback* pbscb)
341 {
342         FIXME("() stub\n");
343         return E_NOTIMPL;
344 }
345
346 HRESULT WINAPI URLOpenPullStreamA(IUnknown* punk,LPCSTR pszURL,DWORD dwReserved,IBindStatusCallback* pbscb)
347 {
348         FIXME("() stub\n");
349         return E_NOTIMPL;
350 }
351
352 HRESULT WINAPI URLOpenPullStreamW(IUnknown* punk,LPCWSTR pwszURL,DWORD dwReserved,IBindStatusCallback* pbscb)
353 {
354         FIXME("() stub\n");
355         return E_NOTIMPL;
356 }
357
358 HRESULT WINAPI URLOpenStreamA(IUnknown* punk,LPCSTR pszURL,DWORD dwReserved,IBindStatusCallback* pbscb)
359 {
360         FIXME("() stub\n");
361         return E_NOTIMPL;
362 }
363
364 HRESULT WINAPI URLOpenStreamW(IUnknown* punk,LPCWSTR pwszURL,DWORD dwReserved,IBindStatusCallback* pbscb)
365 {
366         FIXME("() stub\n");
367         return E_NOTIMPL;
368 }
369
370 HRESULT WINAPI UrlMkGetSessionOption(DWORD dwOpt,void* pvBuf,DWORD dwBufLen,DWORD* pdwLen,DWORD dwReserved)
371 {
372         FIXME("() stub\n");
373         return E_NOTIMPL;
374 }
375
376 BOOL WINAPI WriteHitLogging(HIT_LOGGING_INFO* pli)
377 {
378         FIXME("() stub\n");
379         return FALSE;
380 }
381
382