// wmsoapsvcmgr2.h : Declaration of the Cwmsoapsvcmgr2

#pragma once
#include "resource.h"       // main symbols

#include "wmsoapsvc.h"


// Cwmsoapsvcmgr2

class ATL_NO_VTABLE Cwmsoapsvcmgr2 : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<Cwmsoapsvcmgr2, &CLSID_wmsoapsvcmgr2>,
	public IDispatchImpl<Iwmsoapsvcmgr2, &IID_Iwmsoapsvcmgr2, &LIBID_wmsoapsvcLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
	Cwmsoapsvcmgr2()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_WMSOAPSVCMGR2)


BEGIN_COM_MAP(Cwmsoapsvcmgr2)
	COM_INTERFACE_ENTRY(Iwmsoapsvcmgr2)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()


	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct()
	{
		return S_OK;
	}
	
	void FinalRelease() 
	{
	}

public:

	STDMETHOD(SetLogSettings)(/*[in]*/ BSTR ServerLogPath, /*[in]*/ BSTR UserAgentLogPath, /*[in]*/ BSTR SOAPTraceLogPath, /*[in]*/ VARIANT_BOOL ServerLogEnabled, /*[in]*/ VARIANT_BOOL UserAgentLogEnabled, /*[in]*/ VARIANT_BOOL SOAPTraceLogEnabled, /*[out, retval]*/ VARIANT_BOOL *Result);
	STDMETHOD(GetLogSettings)(/*[out]*/ BSTR *ServerLogPath, /*[out]*/ BSTR *UserAgentLogPath, /*[out]*/ BSTR *SOAPTraceLogPath, /*out*/ VARIANT_BOOL *ServerLogEnabled, /*out*/ VARIANT_BOOL *UserAgentLogEnabled, /*out*/ VARIANT_BOOL *SOAPTraceLogEnabled, /*[out, retval]*/ VARIANT_BOOL *Result);
	STDMETHOD(SetHTTPSettings)(/*[in]*/ BSTR DocRootPath, /*[in]*/ BSTR DefaultFilePath, /*[in]*/ VARIANT MIMETypes, /*[out, retval]*/ VARIANT_BOOL *Result);
	STDMETHOD(GetHTTPSettings)(/*[out]*/ BSTR *DocRootPath, /*[out]*/ BSTR *DefaultFilePath, /*[out]*/ VARIANT *MIMETypes, /*[out, retval]*/ VARIANT_BOOL *Result);
	STDMETHOD(SetServiceInfo)(/*[in]*/ VARIANT SvcInfo, /*[out, retval]*/ VARIANT_BOOL *Result);
	STDMETHOD(GetServiceInfo)(/*[out]*/ VARIANT *SvcInfo, /*[out, retval]*/ VARIANT_BOOL *Result);
	STDMETHOD(GetServerParams)(/*[out]*/ long *ListenPort, /*[out]*/ long *NumWorkThreads, /*[out]*/ long *NumClientConn, /*[out]*/ long *ClientTimeout, /*[out]*/ long *WatchdogTimer, /*[out, retval]*/ VARIANT_BOOL *Result);
	STDMETHOD(GetServerStats)(/*[out]*/ long *NumConnects, /*[out]*/ long *NumBytesSent, /*[out]*/ long *NumHTTPErrors, /*[out]*/ long *NumNetErrors, /*[out]*/ long *NumIntErrors, /*[out, retval]*/ VARIANT_BOOL *Result);
};

OBJECT_ENTRY_AUTO(__uuidof(wmsoapsvcmgr2), Cwmsoapsvcmgr2)
