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

74 lines
1.8 KiB
C++

//
// WSDLOperationParser.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
#pragma once
#include "stdafx.h"
#include "Parser.h"
#include "WSDLPortTypeIO.h"
class CWSDLPortTypeOperation;
class CWSDLOperationParser : public CParserBase
{
private:
CWSDLPortTypeOperation *m_pOperation;
public:
inline CWSDLOperationParser(ISAXXMLReader *pReader, CParserBase *pParent, DWORD dwLevel, CWSDLPortTypeOperation *pOperation = NULL)
:CParserBase(pReader, pParent, dwLevel), m_pOperation(pOperation)
{
}
BEGIN_XMLTAG_MAP()
XMLTAG_ENTRY_EX("input", WSDL_NAMESPACEA, OnInput)
XMLTAG_ENTRY_EX("output", WSDL_NAMESPACEA, OnOutput)
XMLTAG_ENTRY_EX("fault", WSDL_NAMESPACEA, OnFault)
XMLTAG_ENTRY_EX("operation", SOAP_NAMESPACEA, OnSoapOperation)
XMLTAG_ENTRY_EX("operation", HTTP_NAMESPACEA, OnHttpOperation)
XMLTAG_ENTRY_EX("documentation", WSDL_NAMESPACEA, OnDocumentation)
END_XMLTAG_MAP()
BEGIN_XMLATTR_MAP()
XMLATTR_ENTRY("name", OnName)
END_XMLATTR_MAP()
TAG_METHOD_DECL(OnDocumentation);
TAG_METHOD_DECL(OnInput);
TAG_METHOD_DECL(OnOutput);
TAG_METHOD_DECL(OnFault);
TAG_METHOD_DECL(OnSoapOperation);
TAG_METHOD_DECL(OnHttpOperation);
ATTR_METHOD_DECL(OnName);
inline CWSDLPortTypeOperation * GetOperation()
{
return m_pOperation;
}
inline void SetOperation(CWSDLPortTypeOperation *pOperation)
{
ATLASSERT( pOperation != NULL );
m_pOperation = pOperation;
}
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();
};