Changeset 507


Ignore:
Timestamp:
Apr 24, 2010, 7:41:46 PM (15 years ago)
Author:
gumby
Message:

Stuff?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • AE/Installer/trunk/source/installer.cpp

    r506 r507  
    10051005                                }
    10061006                        }
     1007                        else
     1008                        {
     1009                                file.close();
     1010                                continue;
     1011                        }
     1012                        file.close();
     1013                                               
     1014                        file.open( ("packages" + install_iter->path().filename() + "/Mod_Info.cfg").c_str());
     1015                        if (!file.fail())
     1016                        {
     1017                                ModPackage installedPackage = fileToModPackage(file, install_iter->path().filename());
     1018                        }
     1019                        else
     1020                        {
     1021                                file.close();
     1022                                return UPDATE_THIRD_PARTY;
     1023                        }
     1024                        file.close();
     1025                        if(((string)INSTALLER_VERSION).compare(updatePackage.installerVersion) < 1 && updatePackage.modStringVersion > installedPackage.modStringVersion) {
     1026                                return UPDATE_THIRD_PARTY;
     1027                        }
    10071028                }
    10081029        }
     
    12661287}
    12671288
     1289
     1290void CrawlPackages(string pathToUpdate, string strPathToPackages) {
     1291        try{
     1292                directory_iterator end;
     1293                for ( directory_iterator update_iter( pathToUpdate );
     1294                        update_iter != end;
     1295                        ++update_iter )
     1296                {
     1297
     1298                        ModPackage installedPackage, updatePackage;
     1299                        string updateStr = update_iter->path().string() + "/Mod_Info.cfg";
     1300                        if ( !boost::iequals(update_iter->path().filename(),"Edition")
     1301                                && !boost::iequals(update_iter->path().filename(),"Edition-patch")
     1302                                && is_directory( update_iter->path() )
     1303                                && exists( update_iter->path().string() + "/Mod_Info.cfg" ) )
     1304                        {
     1305                                bool update = 0;
     1306                                fstream file;
     1307                                file.open( (update_iter->path().string() + "/Mod_Info.cfg").c_str());   
     1308                                if (!file.fail())
     1309                                {
     1310                                        updatePackage = fileToModPackage(file, update_iter->path().filename());
     1311                                }
     1312                                else
     1313                                {
     1314                                        file.close();
     1315                                        continue;
     1316                                }
     1317                                file.close();
     1318                                file.clear();
     1319                                if(exists(strPathToPackages + "/" + update_iter->path().filename() + "/Mod_Info.cfg"))
     1320                                {
     1321                                file.open((strPathToPackages + "/" + update_iter->path().filename() + "/Mod_Info.cfg").c_str());
     1322                                if (!file.fail())
     1323                                {
     1324                                        installedPackage = fileToModPackage(file, update_iter->path().filename());
     1325                                        file.close();
     1326                                        if(updatePackage.modStringVersion > installedPackage.modStringVersion) {
     1327                                                update = 1;
     1328                                        }
     1329                                }
     1330                                else
     1331                                {
     1332                                        file.close();
     1333                                        update = 1;
     1334                                }
     1335                                file.close();
     1336                                }
     1337                                else update = 1;
     1338                                if(update) {
     1339                                        if(exists((path)(strPathToPackages +  "/" + updatePackage.modStringName)))
     1340                                                remove_all((path)(strPathToPackages +  "/" + updatePackage.modStringName));                     
     1341                                        rename((path)(pathToUpdate + "/" + updatePackage.modStringName), (path)(strPathToPackages + "/" + updatePackage.modStringName));
     1342
     1343                                }
     1344                        }
     1345                }
     1346        }
     1347        catch (exception & ex) {
     1348                //      ex.what();
     1349                setStatusArea("Warning, handled exception: " + (string)ex.what());
     1350        }
     1351}
     1352
     1353
     1354bool ProcessThirdPartyUpdates() {
     1355CrawlPackages( "../updates",  "./packages");
     1356return true;
     1357        //      globalPackages = getPackages();
     1358//      refreshMods(globalInstalledMods);
     1359}
     1360
     1361
    12681362bool ProcessAEUpdate(Install_info_cfg *currentAE, Install_info_cfg *updateAE, bool *installerJustUpdated)
    12691363{
Note: See TracChangeset for help on using the changeset viewer.