// ServiceBase.h: interface for the CServiceBase class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SERVICEBASE_H__0AFD1073_3578_11D2_8521_0040052F0B6E__INCLUDED_)
#define AFX_SERVICEBASE_H__0AFD1073_3578_11D2_8521_0040052F0B6E__INCLUDED_

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

#include "Service.h"
#include "WizPVCCfg.h"
class SERVICE_EXPORTED_CLASS CServiceBase : public CService  
{
	DECLARE_DYNAMIC(CServiceBase)
public:
	CServiceBase(HKEY const hKeyRoot, CString const strRegPath, CConfigObject const * const pParent);
	virtual ~CServiceBase();
	virtual BOOL GetParameters(void);
	virtual BOOL SetParameters(void);
	virtual BOOL RemoveParameters(BOOL fRemoveKey = FALSE);
	virtual BOOL AddWizardPages(CConfigWizSheet * const pSheet);
	virtual BOOL NextWizardPage(int const nState);
	virtual BOOL DoProperties(void);
    virtual BOOL DeleteChild(CConfigObject const * const pChild);

	virtual BOOL AddChild(void) = 0;			// make this an abstract class

	DWORD GetSnid() const {return m_dwSnid;};
protected:
	enum {WP_WIZPVCCFG};
	CWizPVCCfg* m_pWizPvc;

};

#endif // !defined(AFX_SERVICEBASE_H__0AFD1073_3578_11D2_8521_0040052F0B6E__INCLUDED_)
