1 /* 2 * OLECLI 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 <stdarg.h> 25 26 #include "windef.h" 27 #include "wine/windef16.h" 28 #include "winbase.h" 29 #include "wingdi.h" 30 #include "wownt32.h" 31 #include "objbase.h" 32 #include "olecli.h" 33 #include "wine/debug.h" 34 35 WINE_DEFAULT_DEBUG_CHANNEL(ole); 36 37 typedef struct _OLEOBJECTVTBL { 38 void * (CALLBACK *QueryProtocol)(_LPOLEOBJECT,LPCOLESTR16); 39 OLESTATUS (CALLBACK *Release)(_LPOLEOBJECT); 40 OLESTATUS (CALLBACK *Show)(_LPOLEOBJECT,BOOL16); 41 OLESTATUS (CALLBACK *DoVerb)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16); 42 OLESTATUS (CALLBACK *GetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *); 43 OLESTATUS (CALLBACK *SetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16); 44 OLESTATUS (CALLBACK *SetTargetDevice)(_LPOLEOBJECT,HGLOBAL16); 45 OLESTATUS (CALLBACK *SetBounds)(_LPOLEOBJECT,LPRECT16); 46 OLESTATUS (CALLBACK *EnumFormats)(_LPOLEOBJECT,OLECLIPFORMAT); 47 OLESTATUS (CALLBACK *SetColorScheme)(_LPOLEOBJECT,struct tagLOGPALETTE*); 48 OLESTATUS (CALLBACK *Delete)(_LPOLEOBJECT); 49 OLESTATUS (CALLBACK *SetHostNames)(_LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16); 50 OLESTATUS (CALLBACK *SaveToStream)(_LPOLEOBJECT,struct _OLESTREAM*); 51 OLESTATUS (CALLBACK *Clone)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *); 52 OLESTATUS (CALLBACK *CopyFromLink)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *); 53 OLESTATUS (CALLBACK *Equal)(_LPOLEOBJECT,_LPOLEOBJECT); 54 OLESTATUS (CALLBACK *CopyToClipBoard)(_LPOLEOBJECT); 55 OLESTATUS (CALLBACK *Draw)(_LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16); 56 OLESTATUS (CALLBACK *Activate)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16); 57 OLESTATUS (CALLBACK *Execute)(_LPOLEOBJECT,HGLOBAL16,UINT16); 58 OLESTATUS (CALLBACK *Close)(_LPOLEOBJECT); 59 OLESTATUS (CALLBACK *Update)(_LPOLEOBJECT); 60 OLESTATUS (CALLBACK *Reconnect)(_LPOLEOBJECT); 61 OLESTATUS (CALLBACK *ObjectConvert)(_LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT*); 62 OLESTATUS (CALLBACK *GetLinkUpdateOptions)(_LPOLEOBJECT,LPOLEOPT_UPDATE); 63 OLESTATUS (CALLBACK *SetLinkUpdateOptions)(_LPOLEOBJECT,OLEOPT_UPDATE); 64 OLESTATUS (CALLBACK *Rename)(_LPOLEOBJECT,LPCOLESTR16); 65 OLESTATUS (CALLBACK *QueryName)(_LPOLEOBJECT,LPSTR,LPUINT16); 66 OLESTATUS (CALLBACK *QueryType)(_LPOLEOBJECT,LPLONG); 67 OLESTATUS (CALLBACK *QueryBounds)(_LPOLEOBJECT,LPRECT16); 68 OLESTATUS (CALLBACK *QuerySize)(_LPOLEOBJECT,LPDWORD); 69 OLESTATUS (CALLBACK *QueryOpen)(_LPOLEOBJECT); 70 OLESTATUS (CALLBACK *QueryOutOfDate)(_LPOLEOBJECT); 71 OLESTATUS (CALLBACK *QueryReleaseStatus)(_LPOLEOBJECT); 72 OLESTATUS (CALLBACK *QueryReleaseError)(_LPOLEOBJECT); 73 OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(_LPOLEOBJECT); 74 OLESTATUS (CALLBACK *RequestData)(_LPOLEOBJECT,OLECLIPFORMAT); 75 OLESTATUS (CALLBACK *ObjectLong)(_LPOLEOBJECT,UINT16,LPLONG); 76 } OLEOBJECTVTBL; 77 typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL; 78 79 typedef struct _OLEOBJECT 80 { 81 const OLEOBJECTVTBL *lpvtbl; 82 } OLEOBJECT; 83 84 static LONG OLE_current_handle; 85 86 /****************************************************************************** 87 * OleSavedClientDoc [OLECLI32.45] 88 */ 89 OLESTATUS WINAPI OleSavedClientDoc(LHCLIENTDOC hDoc) 90 { 91 FIXME("(%d: stub\n", hDoc); 92 return OLE_OK; 93 } 94 95 /****************************************************************************** 96 * OleRegisterClientDoc [OLECLI32.41] 97 */ 98 OLESTATUS WINAPI OleRegisterClientDoc(LPCSTR classname, LPCSTR docname, 99 LONG reserved, LHCLIENTDOC *hRet ) 100 { 101 FIXME("(%s,%s,...): stub\n",classname,docname); 102 *hRet=++OLE_current_handle; 103 return OLE_OK; 104 } 105 106 /****************************************************************************** 107 * OleRenameClientDoc [OLECLI32.43] 108 */ 109 OLESTATUS WINAPI OleRenameClientDoc(LHCLIENTDOC hDoc, LPCSTR newName) 110 { 111 FIXME("(%d,%s,...): stub\n",hDoc, newName); 112 return OLE_OK; 113 } 114 115 /****************************************************************************** 116 * OleRevokeClientDoc [OLECLI32.42] 117 */ 118 OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC hServerDoc) 119 { 120 FIXME("(%d): stub\n",hServerDoc); 121 return OLE_OK; 122 } 123 124 /****************************************************************************** 125 * OleCreateLinkFromClip [OLECLI32.11] 126 */ 127 OLESTATUS WINAPI OleCreateLinkFromClip( 128 LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname, 129 _LPOLEOBJECT *lpoleob,OLEOPT_RENDER render,OLECLIPFORMAT clipformat 130 ) { 131 FIXME("(%s,%p,%08x,%s,%p,%d,%d): stub!\n", 132 name,olecli,hclientdoc,xname,lpoleob,render,clipformat); 133 return OLE_OK; 134 } 135 136 /****************************************************************************** 137 * OleQueryLinkFromClip [OLECLI32.9] 138 */ 139 OLESTATUS WINAPI OleQueryLinkFromClip(LPCSTR name,OLEOPT_RENDER render,OLECLIPFORMAT clipformat) { 140 FIXME("(%s,%d,%d): stub!\n",name,render,clipformat); 141 return OLE_OK; 142 } 143 144 /****************************************************************************** 145 * OleQueryCreateFromClip [OLECLI32.10] 146 */ 147 OLESTATUS WINAPI OleQueryCreateFromClip(LPCSTR name,OLEOPT_RENDER render,OLECLIPFORMAT clipformat) { 148 FIXME("(%s,%d,%d): stub!\n",name,render,clipformat); 149 return OLE_OK; 150 } 151 152 /****************************************************************************** 153 * OleIsDcMeta [OLECLI32.60] 154 */ 155 BOOL WINAPI OleIsDcMeta(HDC hdc) 156 { 157 TRACE("(%p)\n",hdc); 158 return GetObjectType( hdc ) == OBJ_METADC; 159 } 160 161 /****************************************************************************** 162 * OleSetHostNames [OLECLI32.15] 163 */ 164 OLESTATUS WINAPI OleSetHostNames(_LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) { 165 FIXME("(%p,%s,%s): stub\n",oleob,name1,name2); 166 return OLE_OK; 167 } 168 169 /****************************************************************************** 170 * OleQueryType [OLECLI32.14] 171 */ 172 OLESTATUS WINAPI OleQueryType(_LPOLEOBJECT oleob,LONG*xlong) { 173 FIXME("(%p,%p): stub!\n",oleob,xlong); 174 if (!oleob) 175 return 0x10; 176 TRACE("Calling OLEOBJECT.QueryType (%p) (%p,%p)\n", 177 oleob->lpvtbl->QueryType,oleob,xlong); 178 return oleob->lpvtbl->QueryType(oleob,xlong); 179 } 180 181 /****************************************************************************** 182 * OleCreateFromClip [OLECLI32.12] 183 */ 184 OLESTATUS WINAPI OleCreateFromClip( 185 LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname, 186 _LPOLEOBJECT *lpoleob,OLEOPT_RENDER render, OLECLIPFORMAT clipformat 187 ) { 188 FIXME("(%s,%p,%08x,%s,%p,%d,%d): stub!\n", 189 name,olecli,hclientdoc,xname,lpoleob,render,clipformat); 190 /* clipb type, object kreieren entsprechend etc. */ 191 return OLE_OK; 192 } 193