/*****************************************************************************
* 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
*
*****************************************************************************/


// Version.h: interface for the CVersion class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VERSION_H__65B82974_797E_11D2_9472_00105A97F0C8__INCLUDED_)
#define AFX_VERSION_H__65B82974_797E_11D2_9472_00105A97F0C8__INCLUDED_

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

class CVersion : public CObject  
{
public:
	CVersion();
	CVersion(int const nMajor, int const nMinor, int const nBuild);
   CVersion(CString const & str);

	virtual ~CVersion();

   int m_nMajor;
   int m_nMinor;
   int m_nBuild;
   CString m_strVersion;

	const CVersion& operator=(CString const & str);
	const CVersion& operator=(TCHAR const * const psz);

	operator LPCTSTR() const { return (LPCTSTR)m_strVersion; }

   int Compare(CVersion const & verCompareTo) const;
};

inline bool operator==(CVersion const & lhs, CVersion const & rhs) { return (lhs.Compare(rhs) == 0); }
inline bool operator<(CVersion const & lhs, CVersion const & rhs)  { return (lhs.Compare(rhs) < 0);  }
inline bool operator<=(CVersion const & lhs, CVersion const & rhs) { return (lhs.Compare(rhs) <= 0); }
inline bool operator>(CVersion const & lhs, CVersion const & rhs)  { return (lhs.Compare(rhs) > 0);  }
inline bool operator>=(CVersion const & lhs, CVersion const & rhs) { return (lhs.Compare(rhs) >= 0); }

#endif // !defined(AFX_VERSION_H__65B82974_797E_11D2_9472_00105A97F0C8__INCLUDED_)
