// WMWSDLParser.h: interface for the WMWSDLParser class.
//
//////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000 - 2002 Robert Cunnings. All rights reserved.
//
// You may copy, modify, distribute or publish this code free of charge.
//
// NO WARRANTY: This software is provided AS IS, without warranty of any kind.
//
//////////////////////////////////////////////////////////////////////
//
// WMWSDLParser class - implementation of WSDL parser
//  
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_WMWSDLPARSER_H__2DB636D1_6E31_4B12_9309_EDF61FEB4419__INCLUDED_)
#define AFX_WMWSDLPARSER_H__2DB636D1_6E31_4B12_9309_EDF61FEB4419__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "wsdlelements.h"

class WMSOAPWSDLDesc;

class WMWSDLParser  
{
public:
	WMWSDLParser();
	virtual ~WMWSDLParser();

	bool LoadAndParseWSDLFile(const string& strWSDLDescFile);

	bool GetAndParseWSDLFile(const string& strHost,
							   const string& strWSDLDescURI,
							   const string& strUserAgent,
							   const string& strOtherHeaders,
							   int nPort,
							   DWORD dwTimeout);

	WMSOAPWSDLDesc *GetWSDLDesc() { return m_pWSDLDesc; };
	const string& GetDocBase() { return m_strDocBase; }
	void SetDocBase(const string& strBase) { m_strDocBase = strBase; }

protected:
	WMSOAPWSDLDesc *m_pWSDLDesc;
	string			m_strDocBase;
};

#endif // !defined(AFX_WMWSDLPARSER_H__2DB636D1_6E31_4B12_9309_EDF61FEB4419__INCLUDED_)
