msi: Refactor the Installer.RegistryValue method into InstallerImpl_RegistryValue.
[wine] / dlls / olesvr.dll16 / olesvr.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 "wine/windef16.h"
31 #include "objbase.h"
32 #include "wine/debug.h"
33
34 WINE_DEFAULT_DEBUG_CHANNEL(ole);
35
36 typedef enum
37 {
38     OLE_OK,
39     OLE_WAIT_FOR_RELEASE,
40     OLE_BUSY,
41     OLE_ERROR_PROTECT_ONLY,
42     OLE_ERROR_MEMORY,
43     OLE_ERROR_STREAM,
44     OLE_ERROR_STATIC,
45     OLE_ERROR_BLANK,
46     OLE_ERROR_DRAW,
47     OLE_ERROR_METAFILE,
48     OLE_ERROR_ABORT,
49     OLE_ERROR_CLIPBOARD,
50     OLE_ERROR_FORMAT,
51     OLE_ERROR_OBJECT,
52     OLE_ERROR_OPTION,
53     OLE_ERROR_PROTOCOL,
54     OLE_ERROR_ADDRESS,
55     OLE_ERROR_NOT_EQUAL,
56     OLE_ERROR_HANDLE,
57     OLE_ERROR_GENERIC,
58     OLE_ERROR_CLASS,
59     OLE_ERROR_SYNTAX,
60     OLE_ERROR_DATATYPE,
61     OLE_ERROR_PALETTE,
62     OLE_ERROR_NOT_LINK,
63     OLE_ERROR_NOT_EMPTY,
64     OLE_ERROR_SIZE,
65     OLE_ERROR_DRIVE,
66     OLE_ERROR_NETWORK,
67     OLE_ERROR_NAME,
68     OLE_ERROR_TEMPLATE,
69     OLE_ERROR_NEW,
70     OLE_ERROR_EDIT,
71     OLE_ERROR_OPEN,
72     OLE_ERROR_NOT_OPEN,
73     OLE_ERROR_LAUNCH,
74     OLE_ERROR_COMM,
75     OLE_ERROR_TERMINATE,
76     OLE_ERROR_COMMAND,
77     OLE_ERROR_SHOW,
78     OLE_ERROR_DOVERB,
79     OLE_ERROR_ADVISE_NATIVE,
80     OLE_ERROR_ADVISE_PICT,
81     OLE_ERROR_ADVISE_RENAME,
82     OLE_ERROR_POKE_NATIVE,
83     OLE_ERROR_REQUEST_NATIVE,
84     OLE_ERROR_REQUEST_PICT,
85     OLE_ERROR_SERVER_BLOCKED,
86     OLE_ERROR_REGISTRATION,
87     OLE_ERROR_ALREADY_REGISTERED,
88     OLE_ERROR_TASK,
89     OLE_ERROR_OUTOFDATE,
90     OLE_ERROR_CANT_UPDATE_CLIENT,
91     OLE_ERROR_UPDATE,
92     OLE_ERROR_SETDATA_FORMAT,
93     OLE_ERROR_STATIC_FROM_OTHER_OS,
94     OLE_WARN_DELETE_DATA = 1000
95 } OLESTATUS;
96
97 typedef enum {
98     OLE_SERVER_MULTI,
99     OLE_SERVER_SINGLE
100 } OLE_SERVER_USE;
101
102 typedef LONG LHSERVER;
103 typedef LONG LHSERVERDOC;
104 typedef LPCSTR LPCOLESTR16;
105
106 typedef struct _OLESERVERDOC *LPOLESERVERDOC;
107
108 struct _OLESERVERDOCVTBL;
109 typedef struct _OLESERVERDOC
110 {
111     const struct _OLESERVERDOCVTBL *lpvtbl;
112     /* server provided state info */
113 } OLESERVERDOC;
114
115 typedef struct _OLESERVER *LPOLESERVER;
116 typedef struct _OLESERVERVTBL
117 {
118     OLESTATUS (CALLBACK *Open)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPOLESERVERDOC *);
119     OLESTATUS (CALLBACK *Create)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC*);
120     OLESTATUS (CALLBACK *CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
121     OLESTATUS (CALLBACK *Edit)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
122     OLESTATUS (CALLBACK *Exit)(LPOLESERVER);
123     OLESTATUS (CALLBACK *Release)(LPOLESERVER);
124     OLESTATUS (CALLBACK *Execute)(LPOLESERVER);
125 } OLESERVERVTBL, *LPOLESERVERVTBL;
126
127 typedef struct _OLESERVER
128 {
129     const OLESERVERVTBL *lpvtbl;
130     /* server specific data */
131 } OLESERVER;
132
133 static LONG OLE_current_handle;
134
135 /******************************************************************************
136  *              OleRegisterServer       [OLESVR.2]
137  */
138 OLESTATUS WINAPI OleRegisterServer16( LPCSTR name, LPOLESERVER serverStruct,
139                                       LHSERVER *hRet, HINSTANCE16 hServer,
140                                       OLE_SERVER_USE use )
141 {
142     FIXME("(%s,...): stub\n",name);
143     *hRet=++OLE_current_handle;
144     /* return OLE_ERROR_MEMORY, OLE_ERROR_PROTECT_ONLY if you want it fail*/
145     return OLE_OK;
146 }
147
148 /******************************************************************************
149  *              OleRevokeServer [OLESVR.3]
150  */
151 OLESTATUS WINAPI OleRevokeServer16(LHSERVER hServer)
152 {
153     FIXME("%d - stub\n",hServer);
154     return OLE_OK;
155 }
156
157 /******************************************************************************
158  *              OleBlockServer  [OLESVR.4]
159  */
160 OLESTATUS WINAPI OleBlockServer16(LHSERVER hServer)
161 {
162     FIXME("(%d): stub\n",hServer);
163     return OLE_OK;
164 }
165
166 /******************************************************************************
167  *              OleUnblockServer        [OLESVR.5]
168  */
169 OLESTATUS WINAPI OleUnblockServer16(LHSERVER hServer, BOOL16 *block)
170 {
171     FIXME("(%d): stub\n",hServer);
172     /* no more blocked messages :) */
173     *block=FALSE;
174     return OLE_OK;
175 }
176
177 /***********************************************************************
178  *              OleRegisterServerDoc    [OLESVR.6]
179  */
180 OLESTATUS WINAPI OleRegisterServerDoc16( LHSERVER hServer, LPCSTR docname,
181                                          LPOLESERVERDOC document,
182                                          LHSERVERDOC *hRet)
183 {
184     FIXME("(%d,%s): stub\n",hServer, docname);
185     *hRet=++OLE_current_handle;
186     return OLE_OK;
187 }
188
189 /******************************************************************************
190  *              OleRevokeServerDoc      [OLESVR.7]
191  */
192 OLESTATUS WINAPI OleRevokeServerDoc16(LHSERVERDOC hServerDoc)
193 {
194     FIXME("%d  - stub\n",hServerDoc);
195     return OLE_OK;
196 }
197
198 /******************************************************************************
199  *              OleRenameServerDoc      [OLESVR.8]
200  *
201  */
202 OLESTATUS WINAPI OleRenameServerDoc16(LHSERVERDOC hDoc, LPCSTR newName)
203 {
204     FIXME("(%d,%s): stub.\n", hDoc, newName);
205     return OLE_OK;
206 }
207
208 /******************************************************************************
209  *              OleRevertServerDoc      [OLESVR.9]
210  *
211  */
212 OLESTATUS WINAPI OleRevertServerDoc16(LHSERVERDOC hDoc)
213 {
214     FIXME("(%d): stub.\n", hDoc);
215     return OLE_OK;
216 }
217
218 /******************************************************************************
219  *              OleSavedServerDoc       [OLESVR.10]
220  *
221  */
222 OLESTATUS WINAPI OleSavedServerDoc16(LHSERVERDOC hDoc)
223 {
224     FIXME("(%d): stub.\n", hDoc);
225     return OLE_OK;
226 }