/*****************************************************************************
* Copyright (c) 1990-98 Digi International Inc., All Rights Reserved
* 
* This software contains proprietary and confidential information of Digi
* International Inc.  By accepting transfer of this copy, Recipient agrees
* to retain this software in confidence, to prevent disclosure to others,
* and to make no use of this software other than that for which it was
* delivered.  This is an unpublished copyrighted work of Digi International
* Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
* prohibited.
* 
* Restricted Rights Legend
*
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7031 or
* subparagraphs (c)(1) and (2) of the Commercial Computer Software -
* Restricted Rights at 48 CFR 52.227-19, as applicable.
*
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
*
*****************************************************************************/
// ProtocolFR.h: interface for the CProtocolFR class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PROTOCOLFR_H__AB40806E_10FA_11D2_84F5_0040052F0B6E__INCLUDED_)
#define AFX_PROTOCOLFR_H__AB40806E_10FA_11D2_84F5_0040052F0B6E__INCLUDED_

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

#include "protocol.h"
#include "defs.h"
#include "utils.h"
#include "WizPageComboBox.h"

class SERVICE_EXPORTED_CLASS CProtocolFR : public CProtocol  
{
	DECLARE_DYNAMIC(CProtocolFR)
// operations
public:
	CProtocolFR(HKEY const hKeyRoot, CString const strRegPath, CConfigObject const * const pParent);
	virtual ~CProtocolFR();
	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 AddChild(void){ASSERT(FALSE);return FALSE;}
	virtual BOOL DoProperties(void);
	virtual CString GetInformationText(void);
	virtual void ParentUpdate(void);

	virtual void ObjectToTrash(void);

	BOOL AllocPVC();
	void DeAllocPVC();
	DWORD GetLineSpeed() const;

private:
   void SetFRConfig(void);
   void GetFRConfig(void);
	BOOL ReadWriteFrameRelayParams(REGMODE emode);
// attributes
private:
	FRAMERELAY m_FR;
	FRAMERELAY m_WorkingFR;
	static INT_PTR PVCCount;
	DWORD m_dwLineSpeed;
	CWizPageComboBox* m_pwpLmiPage;
	enum
	{WP_LMIREVISION};
    CConfigWizSheet * m_pwsSheet;

};

#endif // !defined(AFX_PROTOCOLFR_H__AB40806E_10FA_11D2_84F5_0040052F0B6E__INCLUDED_)
