4 * Copyright 1995 Martin von Loewis
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.
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.
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
21 /* At the moment, these are only empty stubs.
29 #include "wine/windef16.h"
34 #include "wine/debug.h"
36 WINE_DEFAULT_DEBUG_CHANNEL(ole
);
43 OLE_ERROR_PROTECT_ONLY
,
81 OLE_ERROR_ADVISE_NATIVE
,
82 OLE_ERROR_ADVISE_PICT
,
83 OLE_ERROR_ADVISE_RENAME
,
84 OLE_ERROR_POKE_NATIVE
,
85 OLE_ERROR_REQUEST_NATIVE
,
86 OLE_ERROR_REQUEST_PICT
,
87 OLE_ERROR_SERVER_BLOCKED
,
88 OLE_ERROR_REGISTRATION
,
89 OLE_ERROR_ALREADY_REGISTERED
,
92 OLE_ERROR_CANT_UPDATE_CLIENT
,
94 OLE_ERROR_SETDATA_FORMAT
,
95 OLE_ERROR_STATIC_FROM_OTHER_OS
,
96 OLE_WARN_DELETE_DATA
= 1000
116 OLE_DELETE
, /* delete object */
117 OLE_LNKPASTE
, /* link paste */
118 OLE_EMBPASTE
, /* paste(and update) */
125 OLE_SETUPDATEOPTIONS
,
126 OLE_SERVERRUNLAUNCH
, /* unlaunch (terminate?) server */
127 OLE_LOADFROMSTREAM
, /* (auto reconnect) */
128 OLE_SETDATA
, /* OleSetData */
129 OLE_REQUESTDATA
, /* OleRequestData */
132 OLE_CREATEFROMTEMPLATE
,
133 OLE_CREATELINKFROMFILE
,
137 } OLE_RELEASE_METHOD
;
139 typedef LONG LHCLIENTDOC
;
140 typedef struct _OLEOBJECT
*LPOLEOBJECT
;
141 typedef struct _OLECLIENT
*LPOLECLIENT
;
142 typedef LONG OLECLIPFORMAT
;/* dunno about this type, please change/add */
143 typedef OLEOPT_UPDATE
*LPOLEOPT_UPDATE
;
147 typedef struct _OLEOBJECTVTBL
{
148 void CALLBACK
*(*QueryProtocol
)(LPOLEOBJECT
,LPCOLESTR16
);
149 OLESTATUS (CALLBACK
*Release
)(LPOLEOBJECT
);
150 OLESTATUS (CALLBACK
*Show
)(LPOLEOBJECT
,BOOL16
);
151 OLESTATUS (CALLBACK
*DoVerb
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
);
152 OLESTATUS (CALLBACK
*GetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
*);
153 OLESTATUS (CALLBACK
*SetData
)(LPOLEOBJECT
,OLECLIPFORMAT
,HANDLE16
);
154 OLESTATUS (CALLBACK
*SetTargetDevice
)(LPOLEOBJECT
,HGLOBAL16
);
155 OLESTATUS (CALLBACK
*SetBounds
)(LPOLEOBJECT
,LPRECT16
);
156 OLESTATUS (CALLBACK
*EnumFormats
)(LPOLEOBJECT
,OLECLIPFORMAT
);
157 OLESTATUS (CALLBACK
*SetColorScheme
)(LPOLEOBJECT
,struct tagLOGPALETTE
*);
158 OLESTATUS (CALLBACK
*Delete
)(LPOLEOBJECT
);
159 OLESTATUS (CALLBACK
*SetHostNames
)(LPOLEOBJECT
,LPCOLESTR16
,LPCOLESTR16
);
160 OLESTATUS (CALLBACK
*SaveToStream
)(LPOLEOBJECT
,struct _OLESTREAM
*);
161 OLESTATUS (CALLBACK
*Clone
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
162 OLESTATUS (CALLBACK
*CopyFromLink
)(LPOLEOBJECT
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
163 OLESTATUS (CALLBACK
*Equal
)(LPOLEOBJECT
,LPOLEOBJECT
);
164 OLESTATUS (CALLBACK
*CopyToClipBoard
)(LPOLEOBJECT
);
165 OLESTATUS (CALLBACK
*Draw
)(LPOLEOBJECT
,HDC16
,LPRECT16
,LPRECT16
,HDC16
);
166 OLESTATUS (CALLBACK
*Activate
)(LPOLEOBJECT
,UINT16
,BOOL16
,BOOL16
,HWND16
,LPRECT16
);
167 OLESTATUS (CALLBACK
*Execute
)(LPOLEOBJECT
,HGLOBAL16
,UINT16
);
168 OLESTATUS (CALLBACK
*Close
)(LPOLEOBJECT
);
169 OLESTATUS (CALLBACK
*Update
)(LPOLEOBJECT
);
170 OLESTATUS (CALLBACK
*Reconnect
)(LPOLEOBJECT
);
171 OLESTATUS (CALLBACK
*ObjectConvert
)(LPOLEOBJECT
,LPCOLESTR16
,LPOLECLIENT
,LHCLIENTDOC
,LPCOLESTR16
,LPOLEOBJECT
*);
172 OLESTATUS (CALLBACK
*GetLinkUpdateOptions
)(LPOLEOBJECT
,LPOLEOPT_UPDATE
);
173 OLESTATUS (CALLBACK
*SetLinkUpdateOptions
)(LPOLEOBJECT
,OLEOPT_UPDATE
);
174 OLESTATUS (CALLBACK
*Rename
)(LPOLEOBJECT
,LPCOLESTR16
);
175 OLESTATUS (CALLBACK
*QueryName
)(LPOLEOBJECT
,LPSTR
,LPUINT16
);
176 OLESTATUS (CALLBACK
*QueryType
)(LPOLEOBJECT
,LPLONG
);
177 OLESTATUS (CALLBACK
*QueryBounds
)(LPOLEOBJECT
,LPRECT16
);
178 OLESTATUS (CALLBACK
*QuerySize
)(LPOLEOBJECT
,LPDWORD
);
179 OLESTATUS (CALLBACK
*QueryOpen
)(LPOLEOBJECT
);
180 OLESTATUS (CALLBACK
*QueryOutOfDate
)(LPOLEOBJECT
);
181 OLESTATUS (CALLBACK
*QueryReleaseStatus
)(LPOLEOBJECT
);
182 OLESTATUS (CALLBACK
*QueryReleaseError
)(LPOLEOBJECT
);
183 OLE_RELEASE_METHOD (CALLBACK
*QueryReleaseMethod
)(LPOLEOBJECT
);
184 OLESTATUS (CALLBACK
*RequestData
)(LPOLEOBJECT
,OLECLIPFORMAT
);
185 OLESTATUS (CALLBACK
*ObjectLong
)(LPOLEOBJECT
,UINT16
,LPLONG
);
187 typedef OLEOBJECTVTBL
*LPOLEOBJECTVTBL
;
189 typedef struct _OLEOBJECT
191 LPOLEOBJECTVTBL lpvtbl
;
194 static LONG OLE_current_handle
;
196 /******************************************************************************
197 * OleSavedClientDoc [OLECLI.45]
199 OLESTATUS WINAPI
OleSavedClientDoc16(LHCLIENTDOC hDoc
)
201 FIXME("(%ld: stub\n", hDoc
);
205 /******************************************************************************
206 * OleRegisterClientDoc [OLECLI.41]
208 OLESTATUS WINAPI
OleRegisterClientDoc16(LPCSTR classname
, LPCSTR docname
,
209 LONG reserved
, LHCLIENTDOC
*hRet
)
211 FIXME("(%s,%s,...): stub\n",classname
,docname
);
212 *hRet
=++OLE_current_handle
;
216 /******************************************************************************
217 * OleRenameClientDoc [OLECLI.43]
219 OLESTATUS WINAPI
OleRenameClientDoc16(LHCLIENTDOC hDoc
, LPCSTR newName
)
221 FIXME("(%ld,%s,...): stub\n",hDoc
, newName
);
225 /******************************************************************************
226 * OleRevokeClientDoc [OLECLI.42]
228 OLESTATUS WINAPI
OleRevokeClientDoc16(LHCLIENTDOC hServerDoc
)
230 FIXME("(%ld): stub\n",hServerDoc
);
234 /******************************************************************************
235 * OleRevertClientDoc [OLECLI.44]
237 OLESTATUS WINAPI
OleRevertClientDoc16(LHCLIENTDOC hServerDoc
)
239 FIXME("(%ld): stub\n", hServerDoc
);
243 /******************************************************************************
244 * OleEnumObjects [OLECLI.47]
246 OLESTATUS WINAPI
OleEnumObjects16(LHCLIENTDOC hServerDoc
, SEGPTR data
)
248 FIXME("(%ld, %04x:%04x): stub\n", hServerDoc
, HIWORD(data
),
253 /******************************************************************************
254 * OleCreateLinkFromClip [OLECLI.11]
256 OLESTATUS WINAPI
OleCreateLinkFromClip16( LPCSTR name
, SEGPTR olecli
, LHCLIENTDOC hclientdoc
,
257 LPCSTR xname
, SEGPTR lpoleob
, UINT16 render
,
260 FIXME("(%s, %04x:%04x, %ld, %s, %04x:%04x, %d, %d): stub!\n",
261 name
, HIWORD(olecli
), LOWORD(olecli
), hclientdoc
, xname
, HIWORD(lpoleob
),
262 LOWORD(lpoleob
), render
, clipformat
);
266 /******************************************************************************
267 * OleQueryLinkFromClip [OLECLI.9]
269 OLESTATUS WINAPI
OleQueryLinkFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
)
271 FIXME("(%s, %d, %d): stub!\n", name
, render
, clipformat
);
275 /******************************************************************************
276 * OleQueryCreateFromClip [OLECLI.10]
278 OLESTATUS WINAPI
OleQueryCreateFromClip16(LPCSTR name
, UINT16 render
, UINT16 clipformat
)
280 FIXME("(%s, %d, %d): stub!\n", name
, render
, clipformat
);
284 /******************************************************************************
285 * OleIsDcMeta [OLECLI.60]
287 BOOL16 WINAPI
OleIsDcMeta16(HDC16 hdc
)
289 return GetObjectType( HDC_32(hdc
) ) == OBJ_METADC
;
292 /******************************************************************************
293 * OleQueryType [OLECLI.14]
295 OLESTATUS WINAPI
OleQueryType16(LPOLEOBJECT oleob
, SEGPTR xlong
) {
296 FIXME("(%p, %p): stub!\n", oleob
, MapSL(xlong
));
300 /******************************************************************************
301 * OleCreateFromClip [OLECLI.12]
303 OLESTATUS WINAPI
OleCreateFromClip16( LPCSTR name
, SEGPTR olecli
, LHCLIENTDOC hclientdoc
,
304 LPCSTR xname
, SEGPTR lpoleob
,
305 UINT16 render
, UINT16 clipformat
)
307 FIXME("(%s, %04x:%04x, %ld, %s, %04x:%04x, %d, %d): stub!\n",
308 name
, HIWORD(olecli
), LOWORD(olecli
), hclientdoc
, xname
, HIWORD(lpoleob
),
309 LOWORD(lpoleob
), render
, clipformat
);