Changeset 478

Show
Ignore:
Timestamp:
02/02/08 11:12:43 (1 year ago)
Author:
gbooker
Message:

Implement more of the parser

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Software Loader/SLoadApplianceController.h

    r463 r478  
    2121#import <SapphireCompatClasses/SapphireMediaMenuController.h> 
    2222 
    23 @class SLoadInstallServer
     23@class SLoadInstallServer, SLoadChannelParser
    2424 
    2525@interface SLoadApplianceController : SapphireMediaMenuController 
    2626{ 
    27         NSArray                         *names
     27        NSArray                         *software
    2828        NSString                        *error; 
    2929        NSFileManager           *filemanager; 
    3030        SLoadInstallServer      *installServer; 
     31        SLoadChannelParser      *parser; 
    3132} 
    3233@end 
  • trunk/Software Loader/SLoadApplianceController.m

    r463 r478  
    2424#import "SLoadInstallClient.h" 
    2525#import "SLoadInstallProgress.h" 
     26#import <SLoadUtilities/SLoadChannelParser.h> 
     27#import <SLoadUtilities/SLoadInstallerProtocol.h> 
    2628 
    2729@implementation SLoadApplianceController 
     
    3537        installServer = [[SLoadInstallServer alloc] init]; 
    3638         
    37         names = [[NSArray alloc] initWithObjects:@"Install Perian", nil]; 
     39        parser = [[SLoadInstaller alloc] init]; 
     40        software = [[parser softwareList] retain]; 
     41         
    3842        [[self list] setDatasource:self]; 
    3943         
     
    4347- (void) dealloc 
    4448{ 
    45         [names release]; 
     49        [software release]; 
    4650        [installServer release]; 
     51        [parser release]; 
    4752        [super dealloc]; 
    4853} 
     
    5055- (long) itemCount 
    5156{ 
    52         return [names count]; 
     57        return [software count]; 
    5358} 
    5459 
     
    5661{ 
    5762        BRAdornedMenuItemLayer *ret = [BRAdornedMenuItemLayer adornedMenuItemWithScene:[self scene]]; 
    58         [[ret textItem] setTitle:[names objectAtIndex:row]]; 
     63        [[ret textItem] setTitle:[[software objectAtIndex:row] objectForKey:INSTALL_DISPLAY_NAME_KEY]]; 
    5964} 
    6065 
     
    6267{ 
    6368         
    64         if ( row > [ names count] ) return ( nil ); 
     69        if ( row > [ software count] ) return ( nil ); 
    6570         
    66         NSString *result = [ names objectAtIndex: row]
     71        NSString *result = [[software objectAtIndex:row] objectForKey:INSTALL_DISPLAY_NAME_KEY]
    6772        return ( result ) ; 
    6873} 
  • trunk/Software Loader/SLoadChannelParser.h

    r463 r478  
    2424        NSMutableDictionary             *installers; 
    2525} 
     26- (void)reloadList; 
    2627- (NSArray *)softwareList; 
    2728- (NSDictionary *)installers; 
  • trunk/Software Loader/SLoadChannelParser.m

    r463 r478  
    132132        if(xmlDoc == nil) 
    133133                [self loadXML]; 
    134         if(softwareList == nil || installers == nil
     134        if([softwareList count] == 0 || [installers count] == 0
    135135                [self parseXML]; 
     136} 
     137 
     138- (void)reloadList 
     139{ 
     140        [xmlDoc release]; 
     141        xmlDoc = nil; 
     142        [softwareList removeAllObjects]; 
     143        [installers removeAllObjects]; 
     144        [self loadAndParseXML]; 
    136145} 
    137146 
  • trunk/Software Loader/SLoadFrappInstaller.m

    r463 r478  
    8787        if(success) 
    8888                success = [fileUtils move:[tmpPath stringByAppendingPathComponent:[installDict objectForKey:INSTALL_NAME_KEY]] toDir:installPath withReplacement:YES]; 
     89        [fileUtils remountReadOnly]; 
    8990        FrapStageSet(FRAP_INSTALL_STAGE_STAGES); 
    90         [fileUtils remountReadOnly]; 
    9191} 
    9292 
  • trunk/Software Loader/Software Loader.xcodeproj/project.pbxproj

    r463 r478  
    224224                F5F314C50D1D952800B3EF25 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 
    225225                F5F314C80D1D953900B3EF25 /* BackRow.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BackRow.framework; path = /System/Library/PrivateFrameworks/BackRow.framework; sourceTree = "<absolute>"; }; 
    226                 F5F314E20D1D977200B3EF25 /* BackRowUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BackRowUtils.h; sourceTree = "<group>"; }; 
    227226                F5F314E40D1D979300B3EF25 /* SLoadApplianceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SLoadApplianceController.h; sourceTree = "<group>"; }; 
    228227                F5F314E50D1D979300B3EF25 /* SLoadApplianceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SLoadApplianceController.m; sourceTree = "<group>"; }; 
     
    434433                        isa = PBXGroup; 
    435434                        children = ( 
    436                                 F5F314E20D1D977200B3EF25 /* BackRowUtils.h */, 
    437435                                F5F314C20D1D950000B3EF25 /* SLoader_Prefix.pch */, 
    438436                        ); 
     
    964962                                COPY_PHASE_STRIP = NO; 
    965963                                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 
     964                                GCC_PREPROCESSOR_DEFINITIONS = DEBUG_BUILD; 
    966965                                SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; 
    967966                                SYMROOT = ../build;