Mercurial > projects > dstep
view dstep/coredata/NSAtomicStore.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.NSAtomicStore; import dstep.coredata.NSAtomicStoreCacheNode; import dstep.coredata.NSEntityDescription; import dstep.coredata.NSManagedObject; import dstep.coredata.NSManagedObjectID; import dstep.coredata.NSPersistentStore; import dstep.coredata.NSPersistentStoreCoordinator; import dstep.foundation.Foundation; import dstep.objc.bridge.Bridge; import dstep.objc.objc; class NSAtomicStore : NSPersistentStore { mixin (ObjcWrap); NSAtomicStore initWithPersistentStoreCoordinator (NSPersistentStoreCoordinator coordinator, NSString configurationName, NSURL url, NSDictionary options) { id result = invokeObjcSelf!(id, "initWithPersistentStoreCoordinator:configurationName:URL:options:", NSPersistentStoreCoordinator, NSString, NSURL, NSDictionary)(coordinator, configurationName, url, options); return result is this.objcObject ? this : (result !is null ? new NSAtomicStore(result) : null); } this (NSPersistentStoreCoordinator coordinator, NSString configurationName, NSURL url, NSDictionary options) { super(NSAtomicStore.alloc.initWithPersistentStoreCoordinator(coordinator, configurationName, url, options).objcObject); } bool load (ref NSError error) { id __arg0; if (error) __arg0 = error.objcObject; bool result = invokeObjcSelf!(bool, "load:", id*)(&__arg0); if (__arg0) error = new NSError(__arg0); return result; } bool save (ref NSError error) { id __arg0; if (error) __arg0 = error.objcObject; bool result = invokeObjcSelf!(bool, "save:", id*)(&__arg0); if (__arg0) error = new NSError(__arg0); return result; } NSAtomicStoreCacheNode newCacheNodeForManagedObject (NSManagedObject managedObject) { return invokeObjcSelf!(NSAtomicStoreCacheNode, "newCacheNodeForManagedObject:", NSManagedObject)(managedObject); } void updateCacheNode (NSAtomicStoreCacheNode node, NSManagedObject managedObject) { return invokeObjcSelf!(void, "updateCacheNode:fromManagedObject:", NSAtomicStoreCacheNode, NSManagedObject)(node, managedObject); } NSSet cacheNodes () { return invokeObjcSelf!(NSSet, "cacheNodes"); } void addCacheNodes (NSSet cacheNodes) { return invokeObjcSelf!(void, "addCacheNodes:", NSSet)(cacheNodes); } void willRemoveCacheNodes (NSSet cacheNodes) { return invokeObjcSelf!(void, "willRemoveCacheNodes:", NSSet)(cacheNodes); } NSAtomicStoreCacheNode cacheNodeForObjectID (NSManagedObjectID objectID) { return invokeObjcSelf!(NSAtomicStoreCacheNode, "cacheNodeForObjectID:", NSManagedObjectID)(objectID); } NSManagedObjectID objectIDForEntity (NSEntityDescription entity, Object data) { return invokeObjcSelf!(NSManagedObjectID, "objectIDForEntity:referenceObject:", NSEntityDescription, Object)(entity, data); } Object newReferenceObjectForManagedObject (NSManagedObject managedObject) { return invokeObjcSelf!(Object, "newReferenceObjectForManagedObject:", NSManagedObject)(managedObject); } Object referenceObjectForObjectID (NSManagedObjectID objectID) { return invokeObjcSelf!(Object, "referenceObjectForObjectID:", NSManagedObjectID)(objectID); } }