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

#if !defined(AFX_IMm7MMSServiceEx_H__73679174_AFA0_4F0B_B3ED_7612302799F8__INCLUDED_)
#define AFX_IMm7MMSServiceEx_H__73679174_AFA0_4F0B_B3ED_7612302799F8__INCLUDED_

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

#include "..\MMS_mm7\IMm7MMSmm7SoapBindingService.h"

namespace IMm7MMS {

class IMm7MMSServiceEx : public mm7SoapBindingService  
{
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 strProvider);
	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	IMm7MMSServiceEx *copy2();
	IMm7MMSServiceEx();
	virtual ~IMm7MMSServiceEx();
	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);


	virtual	int submitReq(ns1__submitReqType *ns1__SubmitReq, ns1__submitRspType *ns1__SubmitRsp);
	virtual	int deliverReq(ns1__deliverReqType *ns1__DeliverReq, ns1__deliverRspType *ns1__DeliverRsp);
	virtual	int deliveryReportReq(ns1__deliveryReportReqType *ns1__DeliveryReportReq, ns1__genericResponseType *ns1__DeliveryReportRsp);

	BOOL InsertMms(FZ_Send & mms,RecvSms_MmsAttach & mmsAttach,soap_multipart::iterator attachment);

};

};
#endif // !defined(AFX_IMm7MMSServiceEx_H__73679174_AFA0_4F0B_B3ED_7612302799F8__INCLUDED_)