66 lines
1.4 KiB
C++
66 lines
1.4 KiB
C++
//
|
|
// WSDLServicePortParser.h
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
#include "Parser.h"
|
|
|
|
class CWSDLPort;
|
|
|
|
class CWSDLServicePortParser : public CParserBase
|
|
{
|
|
private:
|
|
|
|
CWSDLPort *m_pPort;
|
|
|
|
public:
|
|
|
|
inline CWSDLServicePortParser(ISAXXMLReader *pReader, CParserBase *pParent, DWORD dwLevel, CWSDLPort *pPort = NULL)
|
|
:CParserBase(pReader, pParent, dwLevel), m_pPort(pPort)
|
|
{
|
|
}
|
|
|
|
BEGIN_XMLTAG_MAP()
|
|
XMLTAG_ENTRY_EX("address", SOAP_NAMESPACEA, OnSoapAddress)
|
|
XMLTAG_ENTRY_EX("address", HTTP_NAMESPACEA, OnHttpAddress)
|
|
END_XMLTAG_MAP()
|
|
|
|
BEGIN_XMLATTR_MAP()
|
|
XMLATTR_ENTRY("name", OnName)
|
|
XMLATTR_ENTRY("binding", OnBinding)
|
|
END_XMLATTR_MAP()
|
|
|
|
TAG_METHOD_DECL(OnSoapAddress);
|
|
TAG_METHOD_DECL(OnHttpAddress);
|
|
|
|
ATTR_METHOD_DECL(OnName);
|
|
ATTR_METHOD_DECL(OnBinding);
|
|
|
|
inline CWSDLPort * GetPort()
|
|
{
|
|
return m_pPort;
|
|
}
|
|
|
|
inline void SetPort(CWSDLPort *pPort)
|
|
{
|
|
ATLASSERT( pPort != NULL );
|
|
|
|
m_pPort = pPort;
|
|
}
|
|
|
|
HRESULT __stdcall startPrefixMapping(
|
|
const wchar_t *wszPrefix,
|
|
int cchPrefix,
|
|
const wchar_t *wszUri,
|
|
int cchUri);
|
|
|
|
HRESULT OnUnrecognizedTag(
|
|
const wchar_t *wszNamespaceUri, int cchNamespaceUri,
|
|
const wchar_t *wszLocalName, int cchLocalName,
|
|
const wchar_t *wszQName, int cchQName,
|
|
ISAXAttributes *pAttributes) throw();
|
|
}; |