dataversioncheck.cpp

Go to the documentation of this file.
00001 /*
00002      This file is part of Advanced Strategic Command; http://www.asc-hq.org
00003      Copyright (C) 1994-2010  Martin Bickel
00004  
00005      This program is free software; you can redistribute it and/or modify
00006      it under the terms of the GNU General Public License as published by
00007      the Free Software Foundation; either version 2 of the License, or
00008      (at your option) any later version.
00009  
00010      This program is distributed in the hope that it will be useful,
00011      but WITHOUT ANY WARRANTY; without even the implied warranty of
00012      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013      GNU General Public License for more details.
00014  
00015      You should have received a copy of the GNU General Public License
00016      along with this program; see the file COPYING. If not, write to the 
00017      Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
00018      Boston, MA  02111-1307  USA
00019 */
00020 
00021 #include "dataversioncheck.h"
00022 
00023 #include "package.h"
00024 #include "packagerepository.h"
00025             
00026 void checkDataFileVersion()
00027 {
00028    const Package* main = packageRepository.getPackage("ASCdata");
00029    if ( !main )
00030       throw ASCmsgException("No package description found for ASCdata");
00031    
00032    VersionIdentifier mainRequired("2.4.102.0");
00033    if( main->version < mainRequired )
00034       throw ASCmsgException("Package ASCmain is outdated.\nYou need at least version " + mainRequired.toString() + "\n" + main->location + "\n\n" + main->description) ;
00035       
00036    const Package* pbp = packageRepository.getPackage("pbp");
00037    ASCString pbpversion = "102";
00038    if ( pbp && pbp->version < VersionIdentifier(pbpversion) )
00039       throw ASCmsgException("Package PBP is outdated. You need at least version " +  pbpversion + "\n" + main->location +  "\n\n" + pbp->description) ;
00040    
00041 }
00042             
00043             
00044 void checkDataVersion()
00045 {
00046    PackageRepository::packgeDescriptionLoaded.connect( SigC::slot( &checkDataFileVersion ));
00047 }
00048             
00049 

Generated on Mon May 21 01:26:30 2012 for Advanced Strategic Command by  doxygen 1.5.1