Mercurial > projects > dstep
view dstep/coredata/NSMigrationManager.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | |
children | b9de51448c6b |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Sep 25, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.coredata.NSMigrationManager; import dstep.coredata.NSEntityDescription; import dstep.coredata.NSEntityMapping; import dstep.coredata.NSManagedObject; import dstep.coredata.NSManagedObjectContext; import dstep.coredata.NSManagedObjectModel; import dstep.coredata.NSMappingModel; import dstep.foundation.NSArray; import dstep.foundation.NSDictionary; import dstep.foundation.NSError; import dstep.foundation.NSObject; import dstep.foundation.NSString; import dstep.foundation.NSURL; import dstep.objc.bridge.Bridge; import dstep.objc.objc; class NSMigrationManager : NSObject { mixin (ObjcWrap); NSMigrationManager initWithSourceModel (NSManagedObjectModel sourceModel, NSManagedObjectModel destinationModel) { id result = invokeObjcSelf!(id, "initWithSourceModel:destinationModel:", NSManagedObjectModel, NSManagedObjectModel)(sourceModel, destinationModel); return result is this.objcObject ? this : (result !is null ? new NSMigrationManager(result) : null); } this (NSManagedObjectModel sourceModel, NSManagedObjectModel destinationModel) { super(NSMigrationManager.alloc.initWithSourceModel(sourceModel, destinationModel).objcObject); } bool migrateStoreFromURL (NSURL sourceURL, NSString sStoreType, NSDictionary sOptions, NSMappingModel mappings, NSURL dURL, NSString dStoreType, NSDictionary dOptions, ref NSError error) { id __arg7; if (error) __arg7 = error.objcObject; bool result = invokeObjcSelf!(bool, "migrateStoreFromURL:type:options:withMappingModel:toDestinationURL:destinationType:destinationOptions:error:", NSURL, NSString, NSDictionary, NSMappingModel, NSURL, NSString, NSDictionary, id*)(sourceURL, sStoreType, sOptions, mappings, dURL, dStoreType, dOptions, &__arg7); if (__arg7) error = new NSError(__arg7); return result; } void reset () { return invokeObjcSelf!(void, "reset"); } NSMappingModel mappingModel () { return invokeObjcSelf!(NSMappingModel, "mappingModel"); } NSManagedObjectModel sourceModel () { return invokeObjcSelf!(NSManagedObjectModel, "sourceModel"); } NSManagedObjectModel destinationModel () { return invokeObjcSelf!(NSManagedObjectModel, "destinationModel"); } NSManagedObjectContext sourceContext () { return invokeObjcSelf!(NSManagedObjectContext, "sourceContext"); } NSManagedObjectContext destinationContext () { return invokeObjcSelf!(NSManagedObjectContext, "destinationContext"); } NSEntityDescription sourceEntityForEntityMapping (NSEntityMapping mEntity) { return invokeObjcSelf!(NSEntityDescription, "sourceEntityForEntityMapping:", NSEntityMapping)(mEntity); } NSEntityDescription destinationEntityForEntityMapping (NSEntityMapping mEntity) { return invokeObjcSelf!(NSEntityDescription, "destinationEntityForEntityMapping:", NSEntityMapping)(mEntity); } void associateSourceInstance (NSManagedObject sourceInstance, NSManagedObject destinationInstance, NSEntityMapping entityMapping) { return invokeObjcSelf!(void, "associateSourceInstance:withDestinationInstance:forEntityMapping:", NSManagedObject, NSManagedObject, NSEntityMapping)(sourceInstance, destinationInstance, entityMapping); } NSArray destinationInstancesForEntityMappingNamed (NSString mappingName, NSArray sourceInstances) { return invokeObjcSelf!(NSArray, "destinationInstancesForEntityMappingNamed:sourceInstances:", NSString, NSArray)(mappingName, sourceInstances); } NSArray sourceInstancesForEntityMappingNamed (NSString mappingName, NSArray destinationInstances) { return invokeObjcSelf!(NSArray, "sourceInstancesForEntityMappingNamed:destinationInstances:", NSString, NSArray)(mappingName, destinationInstances); } NSEntityMapping currentEntityMapping () { return invokeObjcSelf!(NSEntityMapping, "currentEntityMapping"); } float migrationProgress () { return invokeObjcSelf!(float, "migrationProgress"); } NSDictionary userInfo () { return invokeObjcSelf!(NSDictionary, "userInfo"); } void setUserInfo (NSDictionary dict) { return invokeObjcSelf!(void, "setUserInfo:", NSDictionary)(dict); } void cancelMigrationWithError (NSError error) { return invokeObjcSelf!(void, "cancelMigrationWithError:", NSError)(error); } }