Mercurial > projects > dstep
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/coredata/NSMigrationManager.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,134 @@ +/** + * 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); + } +} +