~urbanape/ubuntuone-ios-client/2.0-13-prerelease

« back to all changes in this revision

Viewing changes to musicstreaming/models/MOC.m

  • Committer: Jason Foreman
  • Date: 2011-06-16 18:33:42 UTC
  • mfrom: (191.1.60 master)
  • Revision ID: jason.foreman@canonical.com-20110616183342-vl7a4804xsf0s1b5
Merging branches for v 2.0.

lp:~threeve/ubuntuone-ios-client/master
lp:~urbanape/ubuntuone-ios-client/downloader

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
        }
53
53
}
54
54
 
55
 
NSURL* ApplicationDocumentsDirectory( void ) 
56
 
{
57
 
        return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
58
 
}
59
 
 
60
55
NSPersistentStoreCoordinator * GetPersistentStoreCoordinator( void )
61
56
{
62
57
        if (persistentStoreCoordinator_ != nil)
64
59
                return persistentStoreCoordinator_;
65
60
        }
66
61
        
67
 
        NSURL *storeURL = [ApplicationDocumentsDirectory() URLByAppendingPathComponent:@"music.sqlite"];
 
62
        NSURL *storeURL = DatabaseFile();
68
63
        
69
64
        NSError *error = nil;
70
 
        persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:GetManagedObjectModel()];
71
 
        if (![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType
72
 
                                                                                                   configuration:nil
73
 
                                                                                                                         URL:storeURL
74
 
                                                                                                                 options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil]
75
 
                                                                                                                   error:&error])
 
65
        NSInteger retries = 1;
 
66
        
 
67
        do {
 
68
                persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:GetManagedObjectModel()];
 
69
                if (![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType
 
70
                                                                                                           configuration:nil
 
71
                                                                                                                                 URL:storeURL
 
72
                                                                                                                         options:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil]
 
73
                                                                                                                           error:&error])
 
74
                {
 
75
                        [persistentStoreCoordinator_ release], persistentStoreCoordinator_ = nil;
 
76
                        // delete store
 
77
                        NSFileManager *fileManager = [[NSFileManager alloc] init];
 
78
                        [fileManager removeItemAtURL:storeURL error:NULL];
 
79
                        [fileManager release];
 
80
                }
 
81
        } while (retries-- > 0);
 
82
        
 
83
        if (!persistentStoreCoordinator_)
76
84
        {
77
85
                /*
78
86
                 Replace this implementation with code to handle the error appropriately.