Files
Slnkdwf/ATL90/source/SProxy/WSDLBindingParser.h
Jos Groot Lipman 0e37d774d2 Merge SLNKDWF64 branch
svn path=/Slnkdwf/trunk/; revision=23911
2015-01-21 12:09:31 +00:00

77 lines
1.9 KiB
C++

//
// WSDLBindingParser.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
#pragma once
#include "stdafx.h"
#include "Parser.h"
class CWSDLBinding;
class CWSDLBindingParser : public CParserBase
{
private:
CWSDLBinding *m_pBinding;
public:
inline CWSDLBindingParser(ISAXXMLReader *pReader, CParserBase *pParent, DWORD dwLevel, CWSDLBinding *pBinding = NULL)
:CParserBase(pReader, pParent, dwLevel), m_pBinding(pBinding)
{
}
BEGIN_XMLTAG_MAP()
XMLTAG_ENTRY_EX("binding", SOAP_NAMESPACEA, OnSoapBinding)
XMLTAG_ENTRY_EX("operation", WSDL_NAMESPACEA, OnOperation)
XMLTAG_ENTRY_EX("binding", HTTP_NAMESPACEA, OnHttpBinding)
XMLTAG_ENTRY_EX("documentation", WSDL_NAMESPACEA, OnDocumentation)
// extensibility elements
// XMLTAG_ENTRY_EX("class", SUDS_NAMESPACEA, OnSudsClass)
// XMLTAG_ENTRY_EX("binding", STK_PREFERREDENCODING_NAMESPACEA, OnStkPreferredBinding)
END_XMLTAG_MAP()
BEGIN_XMLATTR_MAP()
XMLATTR_ENTRY("name", OnName)
XMLATTR_ENTRY("type", OnType)
END_XMLATTR_MAP()
TAG_METHOD_DECL(OnDocumentation);
TAG_METHOD_DECL(OnOperation);
TAG_METHOD_DECL(OnSoapBinding);
TAG_METHOD_DECL(OnHttpBinding);
// TAG_METHOD_DECL(OnSudsClass);
// TAG_METHOD_DECL(OnStkPreferredBinding);
ATTR_METHOD_DECL(OnName);
ATTR_METHOD_DECL(OnType);
inline CWSDLBinding * GetBinding()
{
return m_pBinding;
}
inline void SetBinding(CWSDLBinding * pBinding)
{
ATLASSERT( pBinding != NULL );
m_pBinding = pBinding;
}
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();
};