Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
0c8e5838
Commit
0c8e5838
authored
Apr 12, 2005
by
Jacek Caban
Committed by
Alexandre Julliard
Apr 12, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Stub implementation of IOleObject and IOleDocument.
parent
b16e32a3
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
342 additions
and
0 deletions
+342
-0
Makefile.in
dlls/mshtml/Makefile.in
+1
-0
htmldoc.c
dlls/mshtml/htmldoc.c
+8
-0
main.c
dlls/mshtml/main.c
+1
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+7
-0
oleobj.c
dlls/mshtml/oleobj.c
+324
-0
persist.c
dlls/mshtml/persist.c
+1
-0
No files found.
dlls/mshtml/Makefile.in
View file @
0c8e5838
...
...
@@ -10,6 +10,7 @@ EXTRADEFS = -DCOM_NO_WINDOWS_H
C_SRCS
=
\
htmldoc.c
\
main.c
\
oleobj.c
\
persist.c
@MAKE_DLL_RULES@
...
...
dlls/mshtml/htmldoc.c
View file @
0c8e5838
...
...
@@ -27,6 +27,7 @@
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "docobj.h"
#include "mshtml.h"
#include "mshtmdid.h"
...
...
@@ -66,6 +67,12 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID
}
else
if
(
IsEqualGUID
(
&
IID_IMonikerProp
,
riid
))
{
TRACE
(
"(%p)->(IID_IMonikerProp, %p)
\n
"
,
This
,
ppvObject
);
*
ppvObject
=
MONPROP
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IOleObject
,
riid
))
{
TRACE
(
"(%p)->(IID_IOleObject, %p)
\n
"
,
This
,
ppvObject
);
*
ppvObject
=
OLEOBJ
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IOleDocument
,
riid
))
{
TRACE
(
"(%p)->(IID_IOleDocument, %p)
\n
"
,
This
,
ppvObject
);
*
ppvObject
=
OLEDOC
(
This
);
}
if
(
*
ppvObject
)
{
...
...
@@ -931,6 +938,7 @@ HRESULT HTMLDocument_Create(IUnknown *pUnkOuter, REFIID riid, void** ppvObject)
HeapFree
(
GetProcessHeap
(),
0
,
ret
);
HTMLDocument_Persist_Init
(
ret
);
HTMLDocument_OleObj_Init
(
ret
);
return
hres
;
}
dlls/mshtml/main.c
View file @
0c8e5838
...
...
@@ -33,6 +33,7 @@
#include "winnls.h"
#include "winreg.h"
#include "ole2.h"
#include "docobj.h"
#include "mshtml.h"
#include "mshtml_private.h"
...
...
dlls/mshtml/mshtml_private.h
View file @
0c8e5838
...
...
@@ -21,8 +21,12 @@ typedef struct {
IPersistMonikerVtbl
*
lpPersistMonikerVtbl
;
IPersistFileVtbl
*
lpPersistFileVtbl
;
IMonikerPropVtbl
*
lpMonikerPropVtbl
;
IOleObjectVtbl
*
lpOleObjectVtbl
;
IOleDocumentVtbl
*
lpOleDocumentVtbl
;
ULONG
ref
;
IOleClientSite
*
client
;
}
HTMLDocument
;
#define HTMLDOC(x) ((IHTMLDocument2*) &(x)->lpHTMLDocument2Vtbl)
...
...
@@ -30,7 +34,10 @@ typedef struct {
#define PERSISTMON(x) ((IPersistMoniker*) &(x)->lpPersistMonikerVtbl)
#define PERSISTFILE(x) ((IPersistFile*) &(x)->lpPersistFileVtbl)
#define MONPROP(x) ((IMonikerProp*) &(x)->lpMonikerPropVtbl)
#define OLEOBJ(x) ((IOleObject*) &(x)->lpOleObjectVtbl)
#define OLEDOC(x) ((IOleDocument*) &(x)->lpOleDocumentVtbl)
HRESULT
HTMLDocument_Create
(
IUnknown
*
,
REFIID
,
void
**
);
void
HTMLDocument_Persist_Init
(
HTMLDocument
*
);
void
HTMLDocument_OleObj_Init
(
HTMLDocument
*
);
dlls/mshtml/oleobj.c
0 → 100644
View file @
0c8e5838
/*
* Copyright 2005 Jacek Caban
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include <stdarg.h>
#include <stdio.h>
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "docobj.h"
#include "mshtml.h"
#include "wine/debug.h"
#include "mshtml_private.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
mshtml
);
/**********************************************************
* IOleObject implementation
*/
#define OLEOBJ_THIS \
HTMLDocument* const This=(HTMLDocument*)((char*)(iface)-offsetof(HTMLDocument,lpOleObjectVtbl));
static
HRESULT
WINAPI
OleObject_QueryInterface
(
IOleObject
*
iface
,
REFIID
riid
,
void
**
ppvObject
)
{
OLEOBJ_THIS
return
IHTMLDocument2_QueryInterface
(
HTMLDOC
(
This
),
riid
,
ppvObject
);
}
static
ULONG
WINAPI
OleObject_AddRef
(
IOleObject
*
iface
)
{
OLEOBJ_THIS
return
IHTMLDocument2_AddRef
(
HTMLDOC
(
This
));
}
static
ULONG
WINAPI
OleObject_Release
(
IOleObject
*
iface
)
{
OLEOBJ_THIS
return
IHTMLDocument2_Release
(
HTMLDOC
(
This
));
}
static
HRESULT
WINAPI
OleObject_SetClientSite
(
IOleObject
*
iface
,
IOleClientSite
*
pClientSite
)
{
OLEOBJ_THIS
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
pClientSite
);
if
(
This
->
client
)
IOleClientSite_Release
(
This
->
client
);
if
(
pClientSite
)
IOleClientSite_AddRef
(
pClientSite
);
This
->
client
=
pClientSite
;
return
S_OK
;
}
static
HRESULT
WINAPI
OleObject_GetClientSite
(
IOleObject
*
iface
,
IOleClientSite
**
ppClientSite
)
{
OLEOBJ_THIS
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
ppClientSite
);
if
(
!
ppClientSite
)
return
E_INVALIDARG
;
if
(
This
->
client
)
IOleClientSite_AddRef
(
This
->
client
);
*
ppClientSite
=
This
->
client
;
return
S_OK
;
}
static
HRESULT
WINAPI
OleObject_SetHostNames
(
IOleObject
*
iface
,
LPCOLESTR
szContainerApp
,
LPCOLESTR
szContainerObj
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%s %s)
\n
"
,
This
,
debugstr_w
(
szContainerApp
),
debugstr_w
(
szContainerObj
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_Close
(
IOleObject
*
iface
,
DWORD
dwSaveOption
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%08lx)
\n
"
,
This
,
dwSaveOption
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_SetMoniker
(
IOleObject
*
iface
,
DWORD
dwWhichMoniker
,
IMoniker
*
pmk
)
{
OLEOBJ_THIS
FIXME
(
"(%p %ld %p)->()
\n
"
,
This
,
dwWhichMoniker
,
pmk
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_GetMoniker
(
IOleObject
*
iface
,
DWORD
dwAssign
,
DWORD
dwWhichMoniker
,
IMoniker
**
ppmk
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld %ld %p)
\n
"
,
This
,
dwAssign
,
dwWhichMoniker
,
ppmk
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_InitFromData
(
IOleObject
*
iface
,
IDataObject
*
pDataObject
,
BOOL
fCreation
,
DWORD
dwReserved
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%p %x %ld)
\n
"
,
This
,
pDataObject
,
fCreation
,
dwReserved
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_GetClipboardData
(
IOleObject
*
iface
,
DWORD
dwReserved
,
IDataObject
**
ppDataObject
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld %p)
\n
"
,
This
,
dwReserved
,
ppDataObject
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_DoVerb
(
IOleObject
*
iface
,
LONG
iVerb
,
LPMSG
lpmsg
,
IOleClientSite
*
pActiveSite
,
LONG
lindex
,
HWND
hwndParent
,
LPCRECT
lprcPosRect
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld %p %p %ld %p %p)
\n
"
,
This
,
iVerb
,
lpmsg
,
pActiveSite
,
lindex
,
hwndParent
,
lprcPosRect
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_EnumVerbs
(
IOleObject
*
iface
,
IEnumOLEVERB
**
ppEnumOleVerb
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
ppEnumOleVerb
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_Update
(
IOleObject
*
iface
)
{
OLEOBJ_THIS
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_IsUpToDate
(
IOleObject
*
iface
)
{
OLEOBJ_THIS
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_GetUserClassID
(
IOleObject
*
iface
,
CLSID
*
pClsid
)
{
OLEOBJ_THIS
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
pClsid
);
if
(
!
pClsid
)
return
E_INVALIDARG
;
memcpy
(
pClsid
,
&
CLSID_HTMLDocument
,
sizeof
(
GUID
));
return
S_OK
;
}
static
HRESULT
WINAPI
OleObject_GetUserType
(
IOleObject
*
iface
,
DWORD
dwFormOfType
,
LPOLESTR
*
pszUserType
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld %p)
\n
"
,
This
,
dwFormOfType
,
pszUserType
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_SetExtent
(
IOleObject
*
iface
,
DWORD
dwDrawAspect
,
SIZEL
*
psizel
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld %p)
\n
"
,
This
,
dwDrawAspect
,
psizel
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_GetExtent
(
IOleObject
*
iface
,
DWORD
dwDrawAspect
,
SIZEL
*
psizel
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld %p)
\n
"
,
This
,
dwDrawAspect
,
psizel
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_Advise
(
IOleObject
*
iface
,
IAdviseSink
*
pAdvSink
,
DWORD
*
pdwConnection
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pAdvSink
,
pdwConnection
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_Unadvise
(
IOleObject
*
iface
,
DWORD
dwConnection
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld)
\n
"
,
This
,
dwConnection
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_EnumAdvise
(
IOleObject
*
iface
,
IEnumSTATDATA
**
ppenumAdvise
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
ppenumAdvise
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_GetMiscStatus
(
IOleObject
*
iface
,
DWORD
dwAspect
,
DWORD
*
pdwStatus
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%ld %p)
\n
"
,
This
,
dwAspect
,
pdwStatus
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleObject_SetColorScheme
(
IOleObject
*
iface
,
LOGPALETTE
*
pLogpal
)
{
OLEOBJ_THIS
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
pLogpal
);
return
E_NOTIMPL
;
}
static
IOleObjectVtbl
OleObjectVtbl
=
{
OleObject_QueryInterface
,
OleObject_AddRef
,
OleObject_Release
,
OleObject_SetClientSite
,
OleObject_GetClientSite
,
OleObject_SetHostNames
,
OleObject_Close
,
OleObject_SetMoniker
,
OleObject_GetMoniker
,
OleObject_InitFromData
,
OleObject_GetClipboardData
,
OleObject_DoVerb
,
OleObject_EnumVerbs
,
OleObject_Update
,
OleObject_IsUpToDate
,
OleObject_GetUserClassID
,
OleObject_GetUserType
,
OleObject_SetExtent
,
OleObject_GetExtent
,
OleObject_Advise
,
OleObject_Unadvise
,
OleObject_EnumAdvise
,
OleObject_GetMiscStatus
,
OleObject_SetColorScheme
};
/**********************************************************
* IOleDocument implementation
*/
#define OLEDOC_THIS \
HTMLDocument* const This=(HTMLDocument*)((char*)(iface)-offsetof(HTMLDocument,lpOleDocumentVtbl));
static
HRESULT
WINAPI
OleDocument_QueryInterface
(
IOleDocument
*
iface
,
REFIID
riid
,
void
**
ppvObject
)
{
OLEDOC_THIS
return
IHTMLDocument2_QueryInterface
(
HTMLDOC
(
This
),
riid
,
ppvObject
);
}
static
ULONG
WINAPI
OleDocument_AddRef
(
IOleDocument
*
iface
)
{
OLEDOC_THIS
return
IHTMLDocument2_AddRef
(
HTMLDOC
(
This
));
}
static
ULONG
WINAPI
OleDocument_Release
(
IOleDocument
*
iface
)
{
OLEDOC_THIS
return
IHTMLDocument2_Release
(
HTMLDOC
(
This
));
}
static
HRESULT
WINAPI
OleDocument_CreateView
(
IOleDocument
*
iface
,
IOleInPlaceSite
*
pIPSite
,
IStream
*
pstm
,
DWORD
dwReserved
,
IOleDocumentView
**
ppView
)
{
OLEDOC_THIS
FIXME
(
"(%p)->(%p %p %ld %p)
\n
"
,
This
,
pIPSite
,
pstm
,
dwReserved
,
ppView
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleDocument_GetDocMiscStatus
(
IOleDocument
*
iface
,
DWORD
*
pdwStatus
)
{
OLEDOC_THIS
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
pdwStatus
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleDocument_EnumViews
(
IOleDocument
*
iface
,
IEnumOleDocumentViews
**
ppEnum
,
IOleDocumentView
**
ppView
)
{
OLEDOC_THIS
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
ppEnum
,
ppView
);
return
E_NOTIMPL
;
}
static
IOleDocumentVtbl
OleDocumentVtbl
=
{
OleDocument_QueryInterface
,
OleDocument_AddRef
,
OleDocument_Release
,
OleDocument_CreateView
,
OleDocument_GetDocMiscStatus
,
OleDocument_EnumViews
};
void
HTMLDocument_OleObj_Init
(
HTMLDocument
*
This
)
{
This
->
lpOleObjectVtbl
=
&
OleObjectVtbl
;
This
->
lpOleDocumentVtbl
=
&
OleDocumentVtbl
;
This
->
client
=
NULL
;
}
dlls/mshtml/persist.c
View file @
0c8e5838
...
...
@@ -27,6 +27,7 @@
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "docobj.h"
#include "mshtml.h"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment