Build bustage fix. Workaround arcane Platform SDK used by tinderboxen by redefining interface. We need to use a more modern SDK!

This commit is contained in:
locka%iol.ie 2004-09-05 20:03:06 +00:00
parent 02debee4e5
commit 1e4a7dfa5c
2 changed files with 126 additions and 3 deletions

View File

@ -46,9 +46,52 @@
class CIEHtmlElement;
// NOTE: Nasty hack in case arcane SDK does not define IHTMLButtonElement
#ifndef __IHTMLButtonElement_INTERFACE_DEFINED__
MIDL_INTERFACE("3050f2bb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLButtonElement : public IDispatch
{
public:
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_type(
/* [out][retval] */ BSTR *p) = 0;
virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_value(
/* [in] */ BSTR v) = 0;
virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_value(
/* [out][retval] */ BSTR *p) = 0;
virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_name(
/* [in] */ BSTR v) = 0;
virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_name(
/* [out][retval] */ BSTR *p) = 0;
virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_status(
/* [in] */ VARIANT v) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_status(
/* [out][retval] */ VARIANT *p) = 0;
virtual /* [bindable][displaybind][id][propput] */ HRESULT STDMETHODCALLTYPE put_disabled(
/* [in] */ VARIANT_BOOL v) = 0;
virtual /* [bindable][displaybind][id][propget] */ HRESULT STDMETHODCALLTYPE get_disabled(
/* [out][retval] */ VARIANT_BOOL *p) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_form(
/* [out][retval] */ IHTMLFormElement **p) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE createTextRange(
/* [out][retval] */ IHTMLTxtRange **range) = 0;
};
#endif
class CIEHtmlButtonElement :
public CNode,
public IDispatchImpl<IHTMLButtonElement, &IID_IHTMLButtonElement, &LIBID_MSHTML>
public IDispatchImpl<IHTMLButtonElement, &__uuidof(IHTMLButtonElement), &LIBID_MSHTML>
{
public:
CIEHtmlButtonElement() {

View File

@ -43,6 +43,86 @@
#include "nsCOMPtr.h"
#include "nsIDOMNode.h"
// NOTE: Nasty hack in case arcane SDK doesn't define IHTMLDOMNode
#ifndef __IHTMLDOMNode_INTERFACE_DEFINED__
#define __IHTMLDOMNode_INTERFACE_DEFINED__
MIDL_INTERFACE("3050f5da-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMNode : public IDispatch
{
public:
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeType(
/* [out][retval] */ long *p) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_parentNode(
/* [out][retval] */ IHTMLDOMNode **p) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE hasChildNodes(
/* [out][retval] */ VARIANT_BOOL *fChildren) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_childNodes(
/* [out][retval] */ IDispatch **p) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_attributes(
/* [out][retval] */ IDispatch **p) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE insertBefore(
/* [in] */ IHTMLDOMNode *newChild,
/* [in][optional] */ VARIANT refChild,
/* [out][retval] */ IHTMLDOMNode **node) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeChild(
/* [in] */ IHTMLDOMNode *oldChild,
/* [out][retval] */ IHTMLDOMNode **node) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceChild(
/* [in] */ IHTMLDOMNode *newChild,
/* [in] */ IHTMLDOMNode *oldChild,
/* [out][retval] */ IHTMLDOMNode **node) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE cloneNode(
/* [in] */ VARIANT_BOOL fDeep,
/* [out][retval] */ IHTMLDOMNode **clonedNode) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE removeNode(
/* [in][defaultvalue] */ VARIANT_BOOL fDeep,
/* [out][retval] */ IHTMLDOMNode **removed) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE swapNode(
/* [in] */ IHTMLDOMNode *otherNode,
/* [out][retval] */ IHTMLDOMNode **swappedNode) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE replaceNode(
/* [in] */ IHTMLDOMNode *replacement,
/* [out][retval] */ IHTMLDOMNode **replaced) = 0;
virtual /* [id] */ HRESULT STDMETHODCALLTYPE appendChild(
/* [in] */ IHTMLDOMNode *newChild,
/* [out][retval] */ IHTMLDOMNode **node) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeName(
/* [out][retval] */ BSTR *p) = 0;
virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_nodeValue(
/* [in] */ VARIANT v) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nodeValue(
/* [out][retval] */ VARIANT *p) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_firstChild(
/* [out][retval] */ IHTMLDOMNode **p) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_lastChild(
/* [out][retval] */ IHTMLDOMNode **p) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_previousSibling(
/* [out][retval] */ IHTMLDOMNode **p) = 0;
virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_nextSibling(
/* [out][retval] */ IHTMLDOMNode **p) = 0;
};
#endif
class CNode :
public CComObjectRootEx<CComMultiThreadModel>
{
@ -61,7 +141,7 @@ public:
class CIEHtmlDomNode :
public CNode,
public IDispatchImpl<IHTMLDOMNode, &IID_IHTMLDOMNode, &LIBID_MSHTML>
public IDispatchImpl<IHTMLDOMNode, &__uuidof(IHTMLDOMNode), &LIBID_MSHTML>
{
public:
DECLARE_AGGREGATABLE(CIEHtmlDomNode)
@ -111,4 +191,4 @@ END_COM_MAP()
typedef CComObject<CIEHtmlDomNode> CIEHtmlDomNodeInstance;
#endif
#endif