// IagwMmsServiceEx.h: interface for the IagwMmsServiceEx class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IagwMmsServiceEx_H__73679174_AFA0_4F0B_B3ED_7612302799F8__INCLUDED_)
#define AFX_IagwMmsServiceEx_H__73679174_AFA0_4F0B_B3ED_7612302799F8__INCLUDED_

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

#include "..\BJDX_iagw_Mms\IAGWMMScapServiceSoapBindingService.h"

namespace IAGWMMS {

class IagwMmsServiceEx : public capServiceSoapBindingService  
{
public:
typedef struct _SQL_Pool
{
	BOOL            bUse;
	long            lRandID;
	CAdoConnection  adoConnection;
	//CComPtr<IXMLDOMDocument2> spDoc;
	DWORD           dwBeginUse;
	DWORD           dwEndUse;
}SQL_Pool;

public:
	HANDLE m_hThread;
	BOOL   m_bStart;
	BOOL   m_bCopy;  //ÊÇ·ñ¸´ÖƵÄÒ»²¿·Ö

	CDialog * m_pDlg;
	CString m_strSQL_IP;
	CString m_strSQL_User;
	CString m_strSQL_Passwd;
	CString m_strSQL_DB;
	CString m_strSQL_Provider;

	SQL_Pool * m_pSQL;
	long       m_lSQLCount;
	CRITICAL_SECTION * m_Critical;


public:
	long Web_Exit();
	void SetSQLParam(CDialog * pDlg,CString strIP,CString strUser,CString strPasswd,CString strDB,CString m_strSQL_Provider);
	BOOL ConnectSQLServer(SQL_Pool * pSql);
	SQL_Pool * GetBankSQL();
	static DWORD WINAPI Process_Req(LPVOID lpParam);
	static UINT Process_AcceptT(LPVOID sParam);
	long Web_Init(TCHAR * strIP,long lPort);
	virtual	IagwMmsServiceEx *copy2();
	IagwMmsServiceEx();
	virtual ~IagwMmsServiceEx();
	static int Web_Get(struct soap* soap);
	static int Web_post(struct soap *soap, const char *endpoint, const char *host, int port,const char *path, const char *action, size_t count);
	static void GetCurrentPath(TCHAR *pPath);

	/// Web service operation 'ExecuteInvoke' (returns error code or SOAP_OK)
	virtual	int ExecuteInvoke(std::wstring ns1__requsetXml, std::wstring &ns1__ExecuteInvokeReturn);

	/// Web service operation 'EncodeString' (returns error code or SOAP_OK)
	virtual	int EncodeString(std::wstring ns1__decode, std::wstring &ns1__EncodeStringReturn);


};

};
#endif // !defined(AFX_IagwMmsServiceEx_H__73679174_AFA0_4F0B_B3ED_7612302799F8__INCLUDED_)