#include "StdAfx.h" #include ".\versionchecker.h" #include #include namespace VersionEx { using namespace std::rel_ops; VersionChecker::VersionChecker(void) : m_bLoad( FALSE) { m_VerList.clear(); m_VerList.reserve( 50); } VersionChecker::~VersionChecker(void) { m_VerList.clear(); } BOOL VersionChecker::Init( const TCHAR *pszFile) { if( !pszFile ) return FALSE; return m_Parser.SetFile( pszFile); } BOOL VersionChecker::Load() { if( IsLoad() ) return FALSE; UDTToken Token; VersionInfoEx ver; while( TRUE) { Token = m_Parser.GetToken(); if( Token == END ) break; if( Token == NAME ) { ver.SetVersion( m_Parser.GetTokenString() ); m_VerList.push_back( ver); } } _Sort(); return ( m_bLoad = TRUE); } VersionInfoEx VersionChecker::GetLastVer() const { if( m_VerList.empty() ) return VersionInfoEx(); return m_VerList.back(); } VersionInfoEx VersionChecker::GetFirstVer() const { if( m_VerList.empty() ) return VersionInfoEx(); return m_VerList.front(); } //VersionInfoEx //VersionChecker::GetCurrentVer() const //{ //} VOID VersionChecker::_Sort() { if( m_VerList.empty() ) return; sort( m_VerList.begin(), m_VerList.end()); } }