74 lines
1.8 KiB
C++
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();
|
|
}; |