[DEVMGR] Hackfix CORE-5643
[reactos.git] / dll / win32 / olesvr32 / olesvr_main.c
1 /*
2 * OLESVR library
3 *
4 * Copyright 1995 Martin von Loewis
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21 /* At the moment, these are only empty stubs.
22 */
23
24 #include "config.h"
25
26 #include <stdarg.h>
27
28 #include "windef.h"
29 #include "winbase.h"
30 #include "objbase.h"
31 #include "wine/debug.h"
32
33 WINE_DEFAULT_DEBUG_CHANNEL(ole);
34
35 typedef enum
36 {
37 OLE_OK,
38 OLE_WAIT_FOR_RELEASE,
39 OLE_BUSY,
40 OLE_ERROR_PROTECT_ONLY,
41 OLE_ERROR_MEMORY,
42 OLE_ERROR_STREAM,
43 OLE_ERROR_STATIC,
44 OLE_ERROR_BLANK,
45 OLE_ERROR_DRAW,
46 OLE_ERROR_METAFILE,
47 OLE_ERROR_ABORT,
48 OLE_ERROR_CLIPBOARD,
49 OLE_ERROR_FORMAT,
50 OLE_ERROR_OBJECT,
51 OLE_ERROR_OPTION,
52 OLE_ERROR_PROTOCOL,
53 OLE_ERROR_ADDRESS,
54 OLE_ERROR_NOT_EQUAL,
55 OLE_ERROR_HANDLE,
56 OLE_ERROR_GENERIC,
57 OLE_ERROR_CLASS,
58 OLE_ERROR_SYNTAX,
59 OLE_ERROR_DATATYPE,
60 OLE_ERROR_PALETTE,
61 OLE_ERROR_NOT_LINK,
62 OLE_ERROR_NOT_EMPTY,
63 OLE_ERROR_SIZE,
64 OLE_ERROR_DRIVE,
65 OLE_ERROR_NETWORK,
66 OLE_ERROR_NAME,
67 OLE_ERROR_TEMPLATE,
68 OLE_ERROR_NEW,
69 OLE_ERROR_EDIT,
70 OLE_ERROR_OPEN,
71 OLE_ERROR_NOT_OPEN,
72 OLE_ERROR_LAUNCH,
73 OLE_ERROR_COMM,
74 OLE_ERROR_TERMINATE,
75 OLE_ERROR_COMMAND,
76 OLE_ERROR_SHOW,
77 OLE_ERROR_DOVERB,
78 OLE_ERROR_ADVISE_NATIVE,
79 OLE_ERROR_ADVISE_PICT,
80 OLE_ERROR_ADVISE_RENAME,
81 OLE_ERROR_POKE_NATIVE,
82 OLE_ERROR_REQUEST_NATIVE,
83 OLE_ERROR_REQUEST_PICT,
84 OLE_ERROR_SERVER_BLOCKED,
85 OLE_ERROR_REGISTRATION,
86 OLE_ERROR_ALREADY_REGISTERED,
87 OLE_ERROR_TASK,
88 OLE_ERROR_OUTOFDATE,
89 OLE_ERROR_CANT_UPDATE_CLIENT,
90 OLE_ERROR_UPDATE,
91 OLE_ERROR_SETDATA_FORMAT,
92 OLE_ERROR_STATIC_FROM_OTHER_OS,
93 OLE_WARN_DELETE_DATA = 1000
94 } OLESTATUS;
95
96 typedef enum {
97 OLE_SERVER_MULTI,
98 OLE_SERVER_SINGLE
99 } OLE_SERVER_USE;
100
101 typedef LONG LHSERVER;
102 typedef LONG LHSERVERDOC;
103 typedef LPCSTR LPCOLESTR16;
104
105 typedef struct _OLESERVERDOC *LPOLESERVERDOC;
106
107 struct _OLESERVERDOCVTBL;
108 typedef struct _OLESERVERDOC
109 {
110 const struct _OLESERVERDOCVTBL *lpvtbl;
111 /* server provided state info */
112 } OLESERVERDOC;
113
114 typedef struct _OLESERVER *LPOLESERVER;
115 typedef struct _OLESERVERVTBL
116 {
117 OLESTATUS (CALLBACK *Open)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPOLESERVERDOC *);
118 OLESTATUS (CALLBACK *Create)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC*);
119 OLESTATUS (CALLBACK *CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
120 OLESTATUS (CALLBACK *Edit)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
121 OLESTATUS (CALLBACK *Exit)(LPOLESERVER);
122 OLESTATUS (CALLBACK *Release)(LPOLESERVER);
123 OLESTATUS (CALLBACK *Execute)(LPOLESERVER);
124 } OLESERVERVTBL, *LPOLESERVERVTBL;
125
126 typedef struct _OLESERVER
127 {
128 const OLESERVERVTBL *lpvtbl;
129 /* server specific data */
130 } OLESERVER;
131
132 static LONG OLE_current_handle;
133
134 /******************************************************************************
135 * OleBlockServer [OLESVR32.4]
136 */
137 OLESTATUS WINAPI OleBlockServer(LHSERVER hServer)
138 {
139 FIXME("(%d): stub\n",hServer);
140 return OLE_OK;
141 }
142
143 /******************************************************************************
144 * OleUnblockServer [OLESVR32.5]
145 */
146 OLESTATUS WINAPI OleUnblockServer(LHSERVER hServer, BOOL *block)
147 {
148 FIXME("(%d): stub\n",hServer);
149 /* no more blocked messages :) */
150 *block=FALSE;
151 return OLE_OK;
152 }
153
154 /******************************************************************************
155 * OleRevokeServerDoc [OLESVR32.7]
156 */
157 OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC hServerDoc)
158 {
159 FIXME("(%d): stub\n",hServerDoc);
160 return OLE_OK;
161 }
162
163 /******************************************************************************
164 * OleRegisterServer [OLESVR32.2]
165 */
166 OLESTATUS WINAPI OleRegisterServer(LPCSTR svrname,LPOLESERVER olesvr,LHSERVER* hRet,HINSTANCE hinst,OLE_SERVER_USE osu) {
167 FIXME("(%s,%p,%p,%p,%d): stub!\n",svrname,olesvr,hRet,hinst,osu);
168 *hRet=++OLE_current_handle;
169 return OLE_OK;
170 }
171
172 /******************************************************************************
173 * OleRegisterServerDoc [OLESVR32.6]
174 */
175 OLESTATUS WINAPI OleRegisterServerDoc( LHSERVER hServer, LPCSTR docname,
176 LPOLESERVERDOC document,
177 LHSERVERDOC *hRet)
178 {
179 FIXME("(%d,%s): stub\n", hServer, docname);
180 *hRet=++OLE_current_handle;
181 return OLE_OK;
182 }
183
184 /******************************************************************************
185 * OleRenameServerDoc [OLESVR32.8]
186 *
187 */
188 OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC hDoc, LPCSTR newName)
189 {
190 FIXME("(%d,%s): stub.\n",hDoc, newName);
191 return OLE_OK;
192 }
193
194 /******************************************************************************
195 * OleRevertServerDoc [OLESVR32.9]
196 *
197 */
198 OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC hDoc)
199 {
200 FIXME("(%d): stub.\n", hDoc);
201 return OLE_OK;
202 }
203
204 /******************************************************************************
205 * OleSavedServerDoc [OLESVR32.10]
206 *
207 */
208 OLESTATUS WINAPI OleSavedServerDoc(LHSERVERDOC hDoc)
209 {
210 FIXME("(%d): stub.\n", hDoc);
211 return OLE_OK;
212 }
213
214 /******************************************************************************
215 * OleRevokeServer [OLESVR32.3]
216 *
217 */
218 OLESTATUS WINAPI OleRevokeServer(LHSERVER hServer)
219 {
220 FIXME("(%d): stub.\n", hServer);
221 return OLE_OK;
222 }