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