Mercurial > projects > dstep
view dstep/coredata/NSManagedObjectContext.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.NSManagedObjectContext; import dstep.coredata.CoreDataDefines; import dstep.coredata.NSFetchRequest; import dstep.coredata.NSManagedObject; import dstep.coredata.NSManagedObjectID; import dstep.coredata.NSPersistentStore; import dstep.coredata.NSPersistentStoreCoordinator; import dstep.corefoundation.CFArray; import dstep.corefoundation.CFDictionary; import dstep.foundation.NSArray; import dstep.foundation.NSCoder; import dstep.foundation.NSDictionary; import dstep.foundation.NSDate; import dstep.foundation.NSError; import dstep.foundation.NSLock; import dstep.foundation.NSNotification; import dstep.foundation.NSObjCRuntime; import dstep.foundation.NSObject; import dstep.foundation.NSUndoManager; import dstep.foundation.NSSet; import dstep.foundation.NSString; import dstep.objc.bridge.Bridge; import dstep.objc.objc; import bindings = dstep.coredata.NSManagedObjectContext_bindings; private { NSString NSManagedObjectContextDidSaveNotification_; NSString NSManagedObjectContextObjectsDidChangeNotification_; NSString NSInsertedObjectsKey_; NSString NSUpdatedObjectsKey_; NSString NSDeletedObjectsKey_; NSString NSRefreshedObjectsKey_; NSString NSInvalidatedObjectsKey_; NSString NSInvalidatedAllObjectsKey_; NSObject NSErrorMergePolicy_; NSObject NSMergeByPropertyStoreTrumpMergePolicy_; NSObject NSMergeByPropertyObjectTrumpMergePolicy_; NSObject NSOverwriteMergePolicy_; NSObject NSRollbackMergePolicy_; } NSString NSManagedObjectContextDidSaveNotification () { if (NSManagedObjectContextDidSaveNotification_) return NSManagedObjectContextDidSaveNotification_; return NSManagedObjectContextDidSaveNotification_ = new NSString(bindings.NSManagedObjectContextDidSaveNotification); } NSString NSManagedObjectContextObjectsDidChangeNotification () { if (NSManagedObjectContextObjectsDidChangeNotification_) return NSManagedObjectContextObjectsDidChangeNotification_; return NSManagedObjectContextObjectsDidChangeNotification_ = new NSString(bindings.NSManagedObjectContextObjectsDidChangeNotification); } NSString NSInsertedObjectsKey () { if (NSInsertedObjectsKey_) return NSInsertedObjectsKey_; return NSInsertedObjectsKey_ = new NSString(bindings.NSInsertedObjectsKey); } NSString NSUpdatedObjectsKey () { if (NSUpdatedObjectsKey_) return NSUpdatedObjectsKey_; return NSUpdatedObjectsKey_ = new NSString(bindings.NSUpdatedObjectsKey); } NSString NSDeletedObjectsKey () { if (NSDeletedObjectsKey_) return NSDeletedObjectsKey_; return NSDeletedObjectsKey_ = new NSString(bindings.NSDeletedObjectsKey); } NSString NSRefreshedObjectsKey () { if (NSRefreshedObjectsKey_) return NSRefreshedObjectsKey_; return NSRefreshedObjectsKey_ = new NSString(bindings.NSRefreshedObjectsKey); } NSString NSInvalidatedObjectsKey () { if (NSInvalidatedObjectsKey_) return NSInvalidatedObjectsKey_; return NSInvalidatedObjectsKey_ = new NSString(bindings.NSInvalidatedObjectsKey); } NSString NSInvalidatedAllObjectsKey () { if (NSInvalidatedAllObjectsKey_) return NSInvalidatedAllObjectsKey_; return NSInvalidatedAllObjectsKey_ = new NSString(bindings.NSInvalidatedAllObjectsKey); } NSObject NSErrorMergePolicy () { if (NSErrorMergePolicy_) return NSErrorMergePolicy_; return NSErrorMergePolicy_ = new NSObject(bindings.NSErrorMergePolicy); } NSObject NSMergeByPropertyStoreTrumpMergePolicy () { if (NSMergeByPropertyStoreTrumpMergePolicy_) return NSMergeByPropertyStoreTrumpMergePolicy_; return NSMergeByPropertyStoreTrumpMergePolicy_ = new NSObject(bindings.NSMergeByPropertyStoreTrumpMergePolicy); } NSObject NSMergeByPropertyObjectTrumpMergePolicy () { if (NSMergeByPropertyObjectTrumpMergePolicy_) return NSMergeByPropertyObjectTrumpMergePolicy_; return NSMergeByPropertyObjectTrumpMergePolicy_ = new NSObject(bindings.NSMergeByPropertyObjectTrumpMergePolicy); } NSObject NSOverwriteMergePolicy () { if (NSOverwriteMergePolicy_) return NSOverwriteMergePolicy_; return NSOverwriteMergePolicy_ = new NSObject(bindings.NSOverwriteMergePolicy); } NSObject NSRollbackMergePolicy () { if (NSRollbackMergePolicy_) return NSRollbackMergePolicy_; return NSRollbackMergePolicy_ = new NSObject(bindings.NSRollbackMergePolicy); } class NSManagedObjectContext : NSObject, INSCoding, INSLocking { mixin (ObjcWrap); void setPersistentStoreCoordinator (NSPersistentStoreCoordinator coordinator) { return invokeObjcSelf!(void, "setPersistentStoreCoordinator:", NSPersistentStoreCoordinator)(coordinator); } NSPersistentStoreCoordinator persistentStoreCoordinator () { return invokeObjcSelf!(NSPersistentStoreCoordinator, "persistentStoreCoordinator"); } void setUndoManager (NSUndoManager undoManager) { return invokeObjcSelf!(void, "setUndoManager:", NSUndoManager)(undoManager); } NSUndoManager undoManager () { return invokeObjcSelf!(NSUndoManager, "undoManager"); } bool hasChanges () { return invokeObjcSelf!(bool, "hasChanges"); } NSManagedObject objectRegisteredForID (NSManagedObjectID objectID) { return invokeObjcSelf!(NSManagedObject, "objectRegisteredForID:", NSManagedObjectID)(objectID); } NSManagedObject objectWithID (NSManagedObjectID objectID) { return invokeObjcSelf!(NSManagedObject, "objectWithID:", NSManagedObjectID)(objectID); } NSArray executeFetchRequest (NSFetchRequest request, ref NSError error) { id __arg1; if (error) __arg1 = error.objcObject; NSArray result = invokeObjcSelf!(NSArray, "executeFetchRequest:error:", NSFetchRequest, id*)(request, &__arg1); if (__arg1) error = new NSError(__arg1); return result; } NSUInteger countForFetchRequest (NSFetchRequest request, ref NSError error) { id __arg1; if (error) __arg1 = error.objcObject; NSUInteger result = invokeObjcSelf!(NSUInteger, "countForFetchRequest:error:", NSFetchRequest, id*)(request, &__arg1); if (__arg1) error = new NSError(__arg1); return result; } void insertObject (NSManagedObject object) { return invokeObjcSelf!(void, "insertObject:", NSManagedObject)(object); } void deleteObject (NSManagedObject object) { return invokeObjcSelf!(void, "deleteObject:", NSManagedObject)(object); } void refreshObject (NSManagedObject object, bool flag) { return invokeObjcSelf!(void, "refreshObject:mergeChanges:", NSManagedObject, bool)(object, flag); } void detectConflictsForObject (NSManagedObject object) { return invokeObjcSelf!(void, "detectConflictsForObject:", NSManagedObject)(object); } void observeValueForKeyPath (NSString keyPath, Object object, NSDictionary change, void* context) { return invokeObjcSelf!(void, "observeValueForKeyPath:ofObject:change:context:", NSString, Object, NSDictionary, void*)(keyPath, object, change, context); } void processPendingChanges () { return invokeObjcSelf!(void, "processPendingChanges"); } void assignObject (Object object, NSPersistentStore store) { return invokeObjcSelf!(void, "assignObject:toPersistentStore:", Object, NSPersistentStore)(object, store); } NSSet insertedObjects () { return invokeObjcSelf!(NSSet, "insertedObjects"); } NSSet updatedObjects () { return invokeObjcSelf!(NSSet, "updatedObjects"); } NSSet deletedObjects () { return invokeObjcSelf!(NSSet, "deletedObjects"); } NSSet registeredObjects () { return invokeObjcSelf!(NSSet, "registeredObjects"); } void undo () { return invokeObjcSelf!(void, "undo"); } void redo () { return invokeObjcSelf!(void, "redo"); } void reset () { return invokeObjcSelf!(void, "reset"); } void rollback () { return invokeObjcSelf!(void, "rollback"); } 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; } void lock () { return invokeObjcSelf!(void, "lock"); } void unlock () { return invokeObjcSelf!(void, "unlock"); } bool tryLock () { return invokeObjcSelf!(bool, "tryLock"); } bool propagatesDeletesAtEndOfEvent () { return invokeObjcSelf!(bool, "propagatesDeletesAtEndOfEvent"); } void setPropagatesDeletesAtEndOfEvent (bool flag) { return invokeObjcSelf!(void, "setPropagatesDeletesAtEndOfEvent:", bool)(flag); } bool retainsRegisteredObjects () { return invokeObjcSelf!(bool, "retainsRegisteredObjects"); } void setRetainsRegisteredObjects (bool flag) { return invokeObjcSelf!(void, "setRetainsRegisteredObjects:", bool)(flag); } double stalenessInterval () { return invokeObjcSelf!(double, "stalenessInterval"); } void setStalenessInterval (double expiration) { return invokeObjcSelf!(void, "setStalenessInterval:", double)(expiration); } void setMergePolicy (Object mergePolicy) { return invokeObjcSelf!(void, "setMergePolicy:", Object)(mergePolicy); } Object mergePolicy () { return invokeObjcSelf!(Object, "mergePolicy"); } bool obtainPermanentIDsForObjects (NSArray objects, ref NSError error) { id __arg1; if (error) __arg1 = error.objcObject; bool result = invokeObjcSelf!(bool, "obtainPermanentIDsForObjects:error:", NSArray, id*)(objects, &__arg1); if (__arg1) error = new NSError(__arg1); return result; } void mergeChangesFromContextDidSaveNotification (NSNotification notification) { return invokeObjcSelf!(void, "mergeChangesFromContextDidSaveNotification:", NSNotification)(notification); } void encodeWithCoder (NSCoder aCoder) { return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); } typeof(this) initWithCoder (NSCoder aDecoder) { return invokeObjcSelf!(typeof(this), "initWithCoder:", NSCoder)(aDecoder); } }