/*
 
 File: MigrationUtilities.h
 
 Abstract: Repository for the code shared between the two apps, this
 class takes care of basics like loading models, constructing CoreData
 stacks, validating paths, and metadata access.  
 
 Copyright © 2005 Apple Computer, Inc., All Rights Reserved
 
 */

#import <Cocoa/Cocoa.h>


@interface MigrationUtilities : NSObject {

}

+ (NSString *)pathForModelNamed:(NSString *)modelName;

+ (NSManagedObjectModel *)retainedOldManagedObjectModel;
+ (NSManagedObjectModel *)retainedNewManagedObjectModel;

+ (NSManagedObjectContext *)createRetainedCoreDataStackWithStorePath:(NSString *)storePath andModel:(NSManagedObjectModel *)storeModel;

+ (void)setMetadata:(NSString *)value forKey:(NSString *)key inStoreWithPath:(NSString *)path inContext:(NSManagedObjectContext *)context;
+ (NSString *)getMetadataForKey:(NSString *)key inStoreWithPath:(NSString *)path inContext:(NSManagedObjectContext *)context;

+ (BOOL)validatePathForNewStore:(NSString *) storePath;

+ (NSString *)contentDescriptionForStoreAtPath:(NSString *)storePath withModel:(NSManagedObjectModel *)model;


@end
