/****************************************************************************** Copyright (c) 1999-2000 Microsoft Corporation Module Name: MPC_html.h Abstract: This file contains the declaration of various functions and classes designed to help the handling of HTML elements. Revision History: Davide Massarenti (Dmassare) 07/11/2000 created ******************************************************************************/ #if !defined(__INCLUDED___MPC___HTML_H___) #define __INCLUDED___MPC___HTML_H___ #include #include #include #include #include #include #include #include ///////////////////////////////////////////////////////////////////////// namespace MPC { namespace HTML { typedef std::list< IHTMLElement* > IHTMLElementList; typedef IHTMLElementList::iterator IHTMLElementIter; typedef IHTMLElementList::const_iterator IHTMLElementIterConst; //////////////////////////////////////////////////////////////////////////////// void QuoteEscape( /*[out]*/ MPC::wstring& strAppendTo, /*[in]*/ LPCWSTR szToEscape, /*[in]*/ WCHAR chQuote ); void UrlUnescape( /*[out]*/ MPC::wstring& strAppendTo, /*[in]*/ LPCWSTR szToEscape, /*[in]*/ bool fAsQueryString = false ); void UrlEscape ( /*[out]*/ MPC::wstring& strAppendTo, /*[in]*/ LPCWSTR szToEscape, /*[in]*/ bool fAsQueryString = false ); void HTMLEscape ( /*[out]*/ MPC::wstring& strAppendTo, /*[in]*/ LPCWSTR szToEscape ); //////////////////////////////////////////////////////////////////////////////// HRESULT ConstructFullTag( /*[out]*/ MPC::wstring& strHTML , /*[in] */ LPCWSTR szTag , /*[in] */ bool fCloseTag , /*[in] */ const MPC::WStringLookup* pmapAttributes , /*[in] */ LPCWSTR szExtraAttributes , /*[in] */ LPCWSTR szBody , /*[in] */ bool fEscapeBody ); void ParseHREF( /*[in ]*/ LPCWSTR szURL, /*[out]*/ MPC::wstring& strBaseURL, /*[out]*/ MPC::WStringLookup& mapQuery ); void BuildHREF( /*[out]*/ MPC::wstring& strURL, /*[in ]*/ LPCWSTR szBaseURL, /*[in ]*/ const MPC::WStringLookup& mapQuery ); void vBuildHREF( /*[out]*/ MPC::wstring& strURL, /*[in ]*/ LPCWSTR szBaseURL, /*[in ]*/ ... ); //////////////////////////////////////////////////////////////////////////////// HRESULT IDispatch_To_IHTMLDocument2( /*[out]*/ CComPtr& doc, /*[in]*/ IDispatch* pDisp ); //////////////////////////////////////////////////////////////////////////////// HRESULT GetFramePath( /*[out]*/ CComBSTR& bstrFrame, /*[in]*/ IDispatch* pDisp ); HRESULT AreAllTheFramesInTheCompleteState( /*[out]*/ bool& fDone, /*[in]*/ IDispatch* pDisp ); HRESULT LocateFrame( /*[out]*/ CComPtr& win, /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szName ); //////////////////////////////////////////////////////////////////////////////// HRESULT GetEventObject( /*[out]*/ CComPtr& ev, /*[in]*/ IHTMLElement* pObj ); HRESULT GetUniqueID( /*[out]*/ CComBSTR& bstrID, /*[in]*/ IHTMLElement* pObj ); HRESULT FindFirstParentWithThisTag( /*[out]*/ CComPtr& elem, /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szTag ); HRESULT FindFirstParentWithThisID ( /*[out]*/ CComPtr& elem, /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szID = NULL ); HRESULT FindElementInCollection( /*[out]*/ CComPtr& elem , /*[in] */ IHTMLElementCollection* coll , /*[in] */ LPCWSTR szID , /*[in] */ int iPos = 0 ); HRESULT FindElement( /*[out]*/ CComPtr& elem, /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szID , /*[in]*/ int iPos = 0 ); HRESULT FindChild ( /*[out]*/ CComPtr& elem, /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szID , /*[in]*/ int iPos = 0 ); HRESULT EnumerateCollection( /*[out]*/ IHTMLElementList& lst, /*[in]*/ IHTMLElementCollection* pColl, /*[in]*/ LPCWSTR szFilterID = NULL ); HRESULT EnumerateElements ( /*[out]*/ IHTMLElementList& lst, /*[in]*/ IHTMLElement* pObj , /*[in]*/ LPCWSTR szFilterID = NULL ); HRESULT EnumerateChildren ( /*[out]*/ IHTMLElementList& lst, /*[in]*/ IHTMLElement* pObj , /*[in]*/ LPCWSTR szFilterID = NULL ); HRESULT FindStyle( /*[out]*/ CComPtr& style, /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szName ); //////////////////////////////////////////////////////////////////////////////// HRESULT GetAttribute( /*[out]*/ CComPtr& attr , /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szName ); HRESULT GetAttribute( /*[out]*/ CComBSTR& value, /*[in]*/ IHTMLElement* pObj, /*[in]*/ LPCWSTR szName ); //////////////////////////////////////////////////////////////////////////////// bool ConvertColor( /*[in]*/ VARIANT& v, /*[out]*/ COLORREF& color, /*[out]*/ bool& fSystem ); }; // namespace HTML }; // namespace MPC ///////////////////////////////////////////////////////////////////////// #endif // !defined(__INCLUDED___MPC___HTML_H___)