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 [OLECLI32.45]
199 OLESTATUS WINAPI
OleSavedClientDoc(LHCLIENTDOC hDoc
)
201 FIXME("(%ld: stub\n", hDoc
);
205 /******************************************************************************
206 * OleRegisterClientDoc [OLECLI32.41]
208 OLESTATUS WINAPI
OleRegisterClientDoc(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 [OLECLI32.43]
219 OLESTATUS WINAPI
OleRenameClientDoc(LHCLIENTDOC hDoc
, LPCSTR newName
)
221 FIXME("(%ld,%s,...): stub\n",hDoc
, newName
);
225 /******************************************************************************
226 * OleRevokeClientDoc [OLECLI32.42]
228 OLESTATUS WINAPI
OleRevokeClientDoc(LHCLIENTDOC hServerDoc
)
230 FIXME("(%ld): stub\n",hServerDoc
);
234 /******************************************************************************
235 * OleCreateLinkFromClip [OLECLI32.11]
237 OLESTATUS WINAPI
OleCreateLinkFromClip(
238 LPCSTR name
,LPOLECLIENT olecli
,LHCLIENTDOC hclientdoc
,LPCSTR xname
,
239 LPOLEOBJECT
*lpoleob
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
241 FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
242 name
,olecli
,hclientdoc
,xname
,lpoleob
,render
,clipformat
);
246 /******************************************************************************
247 * OleQueryLinkFromClip [OLECLI32.9]
249 OLESTATUS WINAPI
OleQueryLinkFromClip(LPCSTR name
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
) {
250 FIXME("(%s,%d,%ld): stub!\n",name
,render
,clipformat
);
254 /******************************************************************************
255 * OleQueryCreateFromClip [OLECLI32.10]
257 OLESTATUS WINAPI
OleQueryCreateFromClip(LPCSTR name
,OLEOPT_RENDER render
,OLECLIPFORMAT clipformat
) {
258 FIXME("(%s,%d,%ld): stub!\n",name
,render
,clipformat
);
262 /******************************************************************************
263 * OleIsDcMeta [OLECLI32.60]
265 BOOL WINAPI
OleIsDcMeta(HDC hdc
)
268 return GetObjectType( hdc
) == OBJ_METADC
;
271 /******************************************************************************
272 * OleSetHostNames [OLECLI32.15]
274 OLESTATUS WINAPI
OleSetHostNames(LPOLEOBJECT oleob
,LPCSTR name1
,LPCSTR name2
) {
275 FIXME("(%p,%s,%s): stub\n",oleob
,name1
,name2
);
279 /******************************************************************************
280 * OleQueryType [OLECLI32.14]
282 OLESTATUS WINAPI
OleQueryType(LPOLEOBJECT oleob
,LONG
*xlong
) {
283 FIXME("(%p,%p): stub!\n",oleob
,xlong
);
286 TRACE("Calling OLEOBJECT.QueryType (%p) (%p,%p)\n",
287 oleob
->lpvtbl
->QueryType
,oleob
,xlong
);
288 return oleob
->lpvtbl
->QueryType(oleob
,xlong
);
291 /******************************************************************************
292 * OleCreateFromClip [OLECLI32.12]
294 OLESTATUS WINAPI
OleCreateFromClip(
295 LPCSTR name
,LPOLECLIENT olecli
,LHCLIENTDOC hclientdoc
,LPCSTR xname
,
296 LPOLEOBJECT
*lpoleob
,OLEOPT_RENDER render
, OLECLIPFORMAT clipformat
298 FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
299 name
,olecli
,hclientdoc
,xname
,lpoleob
,render
,clipformat
);
300 /* clipb type, object kreieren entsprechend etc. */