PageRenderTime 46ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/src/coredata.cs

https://github.com/kjpou1/maccore
C# | 1175 lines | 803 code | 349 blank | 23 comment | 0 complexity | b744083b4bd4e71df0964278313fe082 MD5 | raw file
Possible License(s): Apache-2.0
  1. // This file describes the API that the generator will produce
  2. //
  3. // Authors:
  4. // MonoMac community
  5. // Miguel de Icaza
  6. //
  7. // Copyright 2009, 2011, MonoMac community
  8. // Copyright 2011, Xamarin, Inc.
  9. //
  10. using System;
  11. using MonoMac.Foundation;
  12. using MonoMac.ObjCRuntime;
  13. namespace MonoMac.CoreData
  14. {
  15. [BaseType (typeof (NSPersistentStore))]
  16. // Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: NSMappedObjectStore must be initialized with initWithPersistentStoreCoordinator:configurationName:URL:options
  17. [DisableDefaultCtor]
  18. public interface NSAtomicStore {
  19. [Export ("initWithPersistentStoreCoordinator:configurationName:URL:options:")]
  20. IntPtr Constructor (NSPersistentStoreCoordinator coordinator, string configurationName, NSUrl url, [NullAllowed] NSDictionary options);
  21. [Export ("load:")]
  22. bool Load (out NSError error);
  23. [Export ("save:")]
  24. bool Save (out NSError error);
  25. [Export ("newCacheNodeForManagedObject:")]
  26. NSAtomicStoreCacheNode NewCacheNodeForManagedObject (NSManagedObject managedObject);
  27. [Export ("updateCacheNode:fromManagedObject:")]
  28. void UpdateCacheNode (NSAtomicStoreCacheNode node, NSManagedObject managedObject);
  29. [Export ("cacheNodes")]
  30. NSSet CacheNodes { get; }
  31. [Export ("addCacheNodes:")]
  32. void AddCacheNodes (NSSet cacheNodes);
  33. [Export ("willRemoveCacheNodes:")]
  34. void WillRemoveCacheNodes (NSSet cacheNodes);
  35. [Export ("cacheNodeForObjectID:")]
  36. NSAtomicStoreCacheNode CacheNodeForObjectID (NSManagedObjectID objectID);
  37. [Export ("objectIDForEntity:referenceObject:")]
  38. NSManagedObjectID ObjectIDForEntity (NSEntityDescription entity, NSObject data);
  39. [Export ("newReferenceObjectForManagedObject:")]
  40. NSAtomicStore NewReferenceObjectForManagedObject (NSManagedObject managedObject);
  41. [Export ("referenceObjectForObjectID:")]
  42. NSAtomicStore ReferenceObjectForObjectID (NSManagedObjectID objectID);
  43. }
  44. [BaseType (typeof (NSObject))]
  45. // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: NSAtomicStoreCacheNodes must be initialized using initWithObjectID:(NSManagedObjectID *)
  46. [DisableDefaultCtor]
  47. public interface NSAtomicStoreCacheNode {
  48. [Export ("initWithObjectID:")]
  49. IntPtr Constructor (NSManagedObjectID moid);
  50. [Export ("objectID")]
  51. NSManagedObjectID ObjectID { get; }
  52. [Export ("propertyCache")]
  53. NSDictionary PropertyCache { get; set; }
  54. [Export ("valueForKey:")]
  55. NSAtomicStoreCacheNode ValueForKey (string key);
  56. [Export ("setValue:forKey:")]
  57. void SetValue (NSObject value, string key);
  58. }
  59. [BaseType (typeof (NSPropertyDescription))]
  60. public interface NSAttributeDescription {
  61. [Export ("attributeType")]
  62. NSAttributeType AttributeType { get; set; }
  63. [Export ("attributeValueClassName")]
  64. string AttributeValueClassName { get; set; }
  65. [Export ("defaultValue")]
  66. NSObject DefaultValue { get; set; }
  67. [Export ("versionHash")]
  68. NSData VersionHash { get; }
  69. [Export ("valueTransformerName")]
  70. string ValueTransformerName { get; set; }
  71. [Since(5,0)]
  72. [Export ("allowsExternalBinaryDataStorage")]
  73. bool AllowsExternalBinaryDataStorage { get; set; }
  74. }
  75. [BaseType (typeof (NSObject))]
  76. public interface NSEntityDescription {
  77. [Static, Export ("entityForName:inManagedObjectContext:")]
  78. NSEntityDescription EntityForName (string entityName, NSManagedObjectContext context);
  79. [Static, Export ("insertNewObjectForEntityForName:inManagedObjectContext:")]
  80. NSObject InsertNewObjectForEntityForName (string entityName, NSManagedObjectContext context);
  81. [Export ("managedObjectModel")]
  82. NSManagedObjectModel ManagedObjectModel { get; }
  83. [Export ("managedObjectClassName")]
  84. string ManagedObjectClassName { get; set; }
  85. [Export ("name")]
  86. string Name { get; set; }
  87. [Export ("Abstract")]
  88. bool Abstract { [Bind("isAbstract")] get; set; }
  89. [Export ("subentitiesByName")]
  90. NSDictionary SubentitiesByName { get; }
  91. [Export ("subentities")]
  92. NSEntityDescription[] Subentities { get; set; }
  93. [Export ("superentity")]
  94. NSEntityDescription Superentity { get; }
  95. [Export ("propertiesByName")]
  96. NSDictionary PropertiesByName { get; }
  97. [Export ("properties")]
  98. NSPropertyDescription[] Properties { get; set; }
  99. [Export ("userInfo")]
  100. NSDictionary UserInfo { get; set; }
  101. [Export ("attributesByName")]
  102. NSDictionary AttributesByName { get; }
  103. [Export ("relationshipsByName")]
  104. NSDictionary RelationshipsByName { get; }
  105. [Export ("relationshipsWithDestinationEntity:")]
  106. NSRelationshipDescription[] RelationshipsWithDestinationEntity (NSEntityDescription entity);
  107. [Export ("isKindOfEntity:")]
  108. bool IsKindOfEntity (NSEntityDescription entity);
  109. [Export ("versionHash")]
  110. NSData VersionHash { get; }
  111. [Export ("versionHashModifier")]
  112. string VersionHashModifier { get; set; }
  113. [Since(5,0)]
  114. [Export ("compoundIndexes")]
  115. NSPropertyDescription [] CompoundIndexes { get; set; }
  116. }
  117. [BaseType (typeof (NSObject))]
  118. public interface NSEntityMapping {
  119. [Export ("name")]
  120. string Name { get; set; }
  121. [Export ("mappingType")]
  122. NSEntityMappingType MappingType { get; set; }
  123. [Export ("sourceEntityName")]
  124. string SourceEntityName { get; set; }
  125. [Export ("sourceEntityVersionHash")]
  126. NSData SourceEntityVersionHash { get; set; }
  127. [Export ("destinationEntityName")]
  128. string DestinationEntityName { get; set; }
  129. [Export ("destinationEntityVersionHash")]
  130. NSData DestinationEntityVersionHash { get; set; }
  131. [Export ("attributeMappings")]
  132. NSPropertyMapping[] AttributeMappings { get; set; }
  133. [Export ("relationshipMappings")]
  134. NSPropertyMapping[] RelationshipMappings { get; set; }
  135. [Export ("sourceExpression")]
  136. NSExpression SourceExpression { get; set; }
  137. [Export ("userInfo")]
  138. NSDictionary UserInfo { get; set; }
  139. [Export ("entityMigrationPolicyClassName")]
  140. string EntityMigrationPolicyClassName { get; set; }
  141. }
  142. [BaseType (typeof (NSObject))]
  143. public interface NSEntityMigrationPolicy {
  144. [Export ("beginEntityMapping:manager:error:")]
  145. bool BeginEntityMapping (NSEntityMapping mapping, NSMigrationManager manager, out NSError error);
  146. [Export ("createDestinationInstancesForSourceInstance:entityMapping:manager:error:")]
  147. bool CreateDestinationInstancesForSourceInstance (NSManagedObject sInstance, NSEntityMapping mapping, NSMigrationManager manager, out NSError error);
  148. [Export ("endInstanceCreationForEntityMapping:manager:error:")]
  149. bool EndInstanceCreationForEntityMapping (NSEntityMapping mapping, NSMigrationManager manager, out NSError error);
  150. [Export ("createRelationshipsForDestinationInstance:entityMapping:manager:error:")]
  151. bool CreateRelationshipsForDestinationInstance (NSManagedObject dInstance, NSEntityMapping mapping, NSMigrationManager manager, out NSError error);
  152. [Export ("endRelationshipCreationForEntityMapping:manager:error:")]
  153. bool EndRelationshipCreationForEntityMapping (NSEntityMapping mapping, NSMigrationManager manager, out NSError error);
  154. [Export ("performCustomValidationForEntityMapping:manager:error:")]
  155. bool PerformCustomValidationForEntityMapping (NSEntityMapping mapping, NSMigrationManager manager, out NSError error);
  156. [Export ("endEntityMapping:manager:error:")]
  157. bool EndEntityMapping (NSEntityMapping mapping, NSMigrationManager manager, out NSError error);
  158. }
  159. [BaseType (typeof (NSPropertyDescription))]
  160. public interface NSFetchedPropertyDescription {
  161. [Export ("fetchRequest")]
  162. NSFetchRequest FetchRequest { get; set; }
  163. }
  164. [BaseType (typeof (NSPersistentStoreRequest))]
  165. public interface NSFetchRequest {
  166. [Export ("entity")]
  167. NSEntityDescription Entity { get; set; }
  168. [Export ("predicate")]
  169. NSPredicate Predicate { get; set; }
  170. [Export ("sortDescriptors")]
  171. NSSortDescriptor[] SortDescriptors { get; set; }
  172. [Export ("fetchLimit")]
  173. uint FetchLimit { get; set; }
  174. [Export ("affectedStores")]
  175. NSPersistentStore[] AffectedStores { get; set; }
  176. [Export ("resultType")]
  177. NSFetchRequestResultType ResultType { get; set; }
  178. [Export ("includesSubentities")]
  179. bool IncludesSubentities { get; set; }
  180. [Export ("includesPropertyValues")]
  181. bool IncludesPropertyValues { get; set; }
  182. [Export ("returnsObjectsAsFaults")]
  183. bool ReturnsObjectsAsFaults { get; set; }
  184. [Export ("relationshipKeyPathsForPrefetching")]
  185. string[] RelationshipKeyPathsForPrefetching { get; set; }
  186. [Since(5,0)]
  187. [Static]
  188. [Export ("fetchRequestWithEntityName:")]
  189. NSFetchRequest FromEntityName (string entityName);
  190. [Since(5,0)]
  191. [Export ("initWithEntityName:")]
  192. IntPtr Constructor (string entityName);
  193. [Since(5,0)]
  194. [Export ("entityName")]
  195. string EntityName { get; }
  196. [Since(5,0)]
  197. [Export ("fetchBatchSize")]
  198. int FetchBatchSize { get; set; }
  199. [Since(5,0)]
  200. [Export ("shouldRefreshRefetchedObjects")]
  201. bool ShouldRefreshRefetchedObjects { get; set; }
  202. [Since(5,0)]
  203. [Export ("havingPredicate")]
  204. NSPredicate HavingPredicate { get; set; }
  205. [Since(5,0)]
  206. [Export ("propertiesToGroupBy")]
  207. NSPropertyDescription [] PropertiesToGroupBy { get; set; }
  208. }
  209. #if !MONOMAC
  210. [BaseType (typeof (NSObject), Delegates = new string [] { "WeakDelegate" })]
  211. interface NSFetchedResultsController {
  212. [Export ("initWithFetchRequest:managedObjectContext:sectionNameKeyPath:cacheName:")]
  213. IntPtr Constructor (NSFetchRequest fetchRequest, NSManagedObjectContext context, [NullAllowed] string sectionNameKeyPath, [NullAllowed] string name);
  214. [Wrap ("WeakDelegate")]
  215. NSFetchedResultsControllerDelegate Delegate { get; set; }
  216. [Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
  217. NSObject WeakDelegate { get; set; }
  218. [Export ("cacheName")]
  219. string CacheName { get; }
  220. [Export ("fetchedObjects")]
  221. NSObject[] FetchedObjects { get; }
  222. [Export ("fetchRequest")]
  223. NSFetchRequest FetchRequest { get; }
  224. [Export ("managedObjectContext")]
  225. NSManagedObjectContext ManagedObjectContext { get; }
  226. [Export ("sectionNameKeyPath")]
  227. string SectionNameKeyPath { get; }
  228. [Export ("sections")]
  229. NSFetchedResultsSectionInfo[] Sections { get; }
  230. [Export ("performFetch:")]
  231. bool PerformFetch (out NSError error);
  232. [Export ("indexPathForObject:")]
  233. NSIndexPath FromObject (NSObject obj);
  234. [Export ("objectAtIndexPath:")]
  235. NSObject ObjectAt (NSIndexPath path);
  236. [Export ("sectionForSectionIndexTitle:atIndex:")]
  237. // name like UITableViewSource's similar (and linked) selector
  238. int SectionFor (string title, int atIndex);
  239. [Export ("sectionIndexTitleForSectionName:")]
  240. // again named like UITableViewSource
  241. string SectionIndexTitles (string sectionName);
  242. [Static]
  243. [Export ("deleteCacheWithName:")]
  244. void DeleteCache ([NullAllowed] string name);
  245. }
  246. [BaseType (typeof (NSObject))]
  247. [Model]
  248. [Protocol]
  249. interface NSFetchedResultsControllerDelegate {
  250. [Export ("controllerWillChangeContent:")]
  251. void WillChangeContent (NSFetchedResultsController controller);
  252. [Export ("controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:")]
  253. void DidChangeObject (NSFetchedResultsController controller, NSObject anObject, NSIndexPath indexPath, NSFetchedResultsChangeType type, NSIndexPath newIndexPath);
  254. [Export ("controller:didChangeSection:atIndex:forChangeType:")]
  255. void DidChangeSection (NSFetchedResultsController controller, NSFetchedResultsSectionInfo sectionInfo, uint sectionIndex, NSFetchedResultsChangeType type);
  256. [Export ("controllerDidChangeContent:")]
  257. void DidChangeContent (NSFetchedResultsController controller);
  258. [Export ("controller:sectionIndexTitleForSectionName:")]
  259. string SectionFor (NSFetchedResultsController controller, string sectionName);
  260. }
  261. [BaseType (typeof (NSObject))]
  262. [Model]
  263. [Protocol]
  264. interface NSFetchedResultsSectionInfo {
  265. [Export ("numberOfObjects")]
  266. int Count { get; }
  267. [Export ("objects")]
  268. NSObject[] Objects { get; }
  269. [Export ("name")]
  270. string Name { get; }
  271. [Export ("indexTitle")]
  272. string IndexTitle { get; }
  273. }
  274. #endif
  275. [Since(5,0)]
  276. [BaseType (typeof (NSPersistentStore))]
  277. interface NSIncrementalStore {
  278. [Export ("loadMetadata:")]
  279. bool LoadMetadata (out NSError error);
  280. [Export ("executeRequest:withContext:error:")]
  281. NSObject ExecuteRequest (NSPersistentStoreRequest request, NSManagedObjectContext context, out NSError error);
  282. [Export ("newValuesForObjectWithID:withContext:error:")]
  283. NSIncrementalStoreNode NewValues (NSManagedObjectID forObjectId, NSManagedObjectContext context, out NSError error);
  284. [Export ("newValueForRelationship:forObjectWithID:withContext:error:")]
  285. NSObject NewValue (NSRelationshipDescription forRelationship, NSManagedObjectID forObjectI, NSManagedObjectContext context, out NSError error);
  286. [Static]
  287. [Export ("identifierForNewStoreAtURL:")]
  288. NSObject IdentifierForNewStoreAtURL (NSUrl storeURL);
  289. [Export ("obtainPermanentIDsForObjects:error:")]
  290. NSObject [] ObtainPermanentIds (NSObject [] array, out NSError error);
  291. [Export ("managedObjectContextDidRegisterObjectsWithIDs:")]
  292. void ManagedObjectContextDidRegisterObjectsWithIds (NSObject [] objectIds);
  293. [Export ("managedObjectContextDidUnregisterObjectsWithIDs:")]
  294. void ManagedObjectContextDidUnregisterObjectsWithIds (NSObject [] objectIds);
  295. [Export ("newObjectIDForEntity:referenceObject:")]
  296. NSManagedObjectID NewObjectIdFor (NSEntityDescription forEntity, NSObject referenceObject);
  297. [Export ("referenceObjectForObjectID:")]
  298. NSObject ReferenceObjectForObject (NSManagedObjectID objectId);
  299. }
  300. [Since(5,0)]
  301. [BaseType (typeof (NSObject))]
  302. interface NSIncrementalStoreNode {
  303. [Export ("initWithObjectID:withValues:version:")]
  304. IntPtr Constructor (NSManagedObjectID objectId, NSDictionary values, ulong version);
  305. [Export ("updateWithValues:version:")]
  306. void Update (NSDictionary values, ulong version);
  307. [Export ("objectID")]
  308. NSManagedObjectID ObjectId { get; }
  309. [Export ("version")]
  310. long Version { get; }
  311. [Export ("valueForPropertyDescription:")]
  312. NSObject ValueForPropertyDescription (NSPropertyDescription prop);
  313. }
  314. [BaseType (typeof (NSObject))]
  315. // 'init' issues a warning: CoreData: error: Failed to call designated initializer on NSManagedObject class 'NSManagedObject'
  316. // then crash while disposing the instance
  317. [DisableDefaultCtor]
  318. public interface NSManagedObject {
  319. [Export ("initWithEntity:insertIntoManagedObjectContext:")]
  320. IntPtr Constructor (NSEntityDescription entity, NSManagedObjectContext context);
  321. [Export ("managedObjectContext")]
  322. NSManagedObjectContext ManagedObjectContext { get; }
  323. [Export ("entity")]
  324. NSEntityDescription Entity { get; }
  325. [Export ("objectID")]
  326. NSManagedObjectID ObjectID { get; }
  327. [Export ("isInserted")]
  328. bool IsInserted { get; }
  329. [Export ("isUpdated")]
  330. bool IsUpdated { get; }
  331. [Export ("isDeleted")]
  332. bool IsDeleted { get; }
  333. [Export ("isFault")]
  334. bool IsFault { get; }
  335. [Export ("hasFaultForRelationshipNamed:")]
  336. bool HasFaultForRelationshipNamed (string key);
  337. [Export ("willAccessValueForKey:")]
  338. void WillAccessValueForKey (string key);
  339. [Export ("didAccessValueForKey:")]
  340. void DidAccessValueForKey (string key);
  341. [Export ("willChangeValueForKey:")]
  342. void WillChangeValueForKey (string key);
  343. [Export ("didChangeValueForKey:")]
  344. void DidChangeValueForKey (string key);
  345. [Export ("willChangeValueForKey:withSetMutation:usingObjects:")]
  346. void WillChangeValueForKey (string inKey, NSKeyValueSetMutationKind inMutationKind, NSSet inObjects);
  347. [Export ("didChangeValueForKey:withSetMutation:usingObjects:")]
  348. void DidChangeValueForKey (string inKey, NSKeyValueSetMutationKind inMutationKind, NSSet inObjects);
  349. [Export ("observationInfo")]
  350. IntPtr ObservationInfo { get; set; }
  351. [Export ("awakeFromFetch")]
  352. void AwakeFromFetch ();
  353. [Export ("awakeFromInsert")]
  354. void AwakeFromInsert ();
  355. [Export ("willSave")]
  356. void WillSave ();
  357. [Export ("didSave")]
  358. void DidSave ();
  359. [Export ("willTurnIntoFault")]
  360. void WillTurnIntoFault ();
  361. [Export ("didTurnIntoFault")]
  362. void DidTurnIntoFault ();
  363. [Export ("valueForKey:")]
  364. IntPtr ValueForKey (string key);
  365. [Export ("setValue:forKey:")]
  366. void SetValue (IntPtr value, string key);
  367. [Export ("primitiveValueForKey:")]
  368. IntPtr PrimitiveValueForKey (string key);
  369. [Export ("setPrimitiveValue:forKey:")]
  370. void SetPrimitiveValue (IntPtr value, string key);
  371. [Export ("committedValuesForKeys:")]
  372. NSDictionary CommittedValuesForKeys (string[] keys);
  373. [Export ("changedValues")]
  374. NSDictionary ChangedValues { get; }
  375. [Export ("validateValue:forKey:error:")]
  376. bool ValidateValue (NSObject value, string key, out NSError error);
  377. [Export ("validateForDelete:")]
  378. bool ValidateForDelete (out NSError error);
  379. [Export ("validateForInsert:")]
  380. bool ValidateForInsert (out NSError error);
  381. [Export ("validateForUpdate:")]
  382. bool ValidateForUpdate (out NSError error);
  383. [Since(5,0)]
  384. [Export ("hasChanges")]
  385. bool HasChanges { get; }
  386. [Export ("changedValuesForCurrentEvent")]
  387. NSDictionary ChangedValuesForCurrentEvent { get; }
  388. }
  389. [BaseType (typeof (NSObject))]
  390. public interface NSManagedObjectContext {
  391. [Export ("persistentStoreCoordinator")]
  392. NSPersistentStoreCoordinator PersistentStoreCoordinator { get; set; }
  393. [Export ("undoManager")]
  394. NSUndoManager UndoManager { get; set; }
  395. [Export ("hasChanges")]
  396. bool HasChanges { get; }
  397. [Export ("objectRegisteredForID:")]
  398. NSManagedObject ObjectRegisteredForID (NSManagedObjectID objectID);
  399. [Export ("objectWithID:")]
  400. NSManagedObject ObjectWithID (NSManagedObjectID objectID);
  401. [Export ("executeFetchRequest:error:")]
  402. NSObject[] ExecuteFetchRequest (NSFetchRequest request, out NSError error);
  403. [Export ("countForFetchRequest:error:")]
  404. uint CountForFetchRequest (NSFetchRequest request, out NSError error);
  405. [Export ("insertObject:")]
  406. void InsertObject (NSManagedObject object1);
  407. [Export ("deleteObject:")]
  408. void DeleteObject (NSManagedObject object1);
  409. [Export ("refreshObject:mergeChanges:")]
  410. void RefreshObject (NSManagedObject object1, bool flag);
  411. [Export ("detectConflictsForObject:")]
  412. void DetectConflictsForObject (NSManagedObject object1);
  413. [Export ("observeValueForKeyPath:ofObject:change:context:")]
  414. void ObserveValueForKeyPath (string keyPath, IntPtr object1, NSDictionary change, IntPtr context);
  415. [Export ("processPendingChanges")]
  416. void ProcessPendingChanges ();
  417. [Export ("assignObject:toPersistentStore:")]
  418. void AssignObject (IntPtr object1, NSPersistentStore store);
  419. [Export ("insertedObjects")]
  420. NSSet InsertedObjects { get; }
  421. [Export ("updatedObjects")]
  422. NSSet UpdatedObjects { get; }
  423. [Export ("deletedObjects")]
  424. NSSet DeletedObjects { get; }
  425. [Export ("registeredObjects")]
  426. NSSet RegisteredObjects { get; }
  427. [Export ("undo")]
  428. void Undo ();
  429. [Export ("redo")]
  430. void Redo ();
  431. [Export ("reset")]
  432. void Reset ();
  433. [Export ("rollback")]
  434. void Rollback ();
  435. [Export ("save:")]
  436. bool Save (out NSError error);
  437. [Export ("lock")]
  438. void Lock ();
  439. [Export ("unlock")]
  440. void Unlock ();
  441. [Export ("tryLock")]
  442. bool TryLock { get; }
  443. [Export ("propagatesDeletesAtEndOfEvent")]
  444. bool PropagatesDeletesAtEndOfEvent { get; set; }
  445. [Export ("retainsRegisteredObjects")]
  446. bool RetainsRegisteredObjects { get; set; }
  447. [Export ("stalenessInterval")]
  448. double StalenessInterval { get; set; }
  449. [Export ("mergePolicy")]
  450. IntPtr MergePolicy { get; set; }
  451. [Export ("obtainPermanentIDsForObjects:error:")]
  452. bool ObtainPermanentIDsForObjects (NSManagedObject[] objects, out NSError error);
  453. [Export ("mergeChangesFromContextDidSaveNotification:")]
  454. void MergeChangesFromContextDidSaveNotification (NSNotification notification);
  455. // 5.0
  456. [Export ("initWithConcurrencyType:")]
  457. IntPtr Constructor (NSManagedObjectContextConcurrencyType ct);
  458. [Export ("performBlock:")]
  459. void Perform (/* non null */ NSAction action);
  460. [Export ("performBlockAndWait:")]
  461. void PerformAndWait (/* non null */ NSAction action);
  462. [Export ("userInfo")]
  463. NSMutableDictionary UserInfo { get; }
  464. [Export ("concurrencyType")]
  465. NSManagedObjectContextConcurrencyType ConcurrencyType { get; }
  466. //Detected properties
  467. [Export ("parentContext")]
  468. NSManagedObjectContext ParentContext { get; set; }
  469. }
  470. [BaseType (typeof (NSObject))]
  471. // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -URIRepresentation cannot be sent to an abstract object of class NSManagedObjectID: Create a concrete instance!
  472. [DisableDefaultCtor]
  473. public interface NSManagedObjectID {
  474. [Export ("entity")]
  475. NSEntityDescription Entity { get; }
  476. [Export ("persistentStore")]
  477. NSPersistentStore PersistentStore { get; }
  478. [Export ("isTemporaryID")]
  479. bool IsTemporaryID { get; }
  480. [Export ("URIRepresentation")]
  481. NSUrl URIRepresentation { get; }
  482. }
  483. [BaseType (typeof (NSObject))]
  484. public interface NSManagedObjectModel {
  485. [Static, Export ("mergedModelFromBundles:")]
  486. NSManagedObjectModel MergedModelFromBundles (NSBundle[] bundles);
  487. [Static, Export ("modelByMergingModels:")]
  488. NSManagedObjectModel ModelByMergingModels (NSManagedObjectModel[] models);
  489. [Export ("initWithContentsOfURL:")]
  490. IntPtr Constructor (NSUrl url);
  491. [Export ("entitiesByName")]
  492. NSDictionary EntitiesByName { get; }
  493. [Export ("entities")]
  494. NSEntityDescription[] Entities { get; set; }
  495. [Export ("configurations")]
  496. string[] Configurations { get; }
  497. [Export ("entitiesForConfiguration:")]
  498. string[] EntitiesForConfiguration (string configuration);
  499. [Export ("setEntities:forConfiguration:")]
  500. void SetEntities (NSEntityDescription[] entities, string configuration);
  501. [Export ("setFetchRequestTemplate:forName:")]
  502. void SetFetchRequestTemplate (NSFetchRequest fetchRequestTemplate, string name);
  503. [Export ("fetchRequestTemplateForName:")]
  504. NSFetchRequest FetchRequestTemplateForName (string name);
  505. [Export ("fetchRequestFromTemplateWithName:substitutionVariables:")]
  506. NSFetchRequest FetchRequestFromTemplateWithName (string name, NSDictionary variables);
  507. [Export ("localizationDictionary")]
  508. NSDictionary LocalizationDictionary { get; set; }
  509. [Static, Export ("mergedModelFromBundles:forStoreMetadata:")]
  510. NSManagedObjectModel MergedModelFromBundles (NSBundle[] bundles, NSDictionary metadata);
  511. [Static, Export ("modelByMergingModels:forStoreMetadata:")]
  512. NSManagedObjectModel ModelByMergingModels (NSManagedObjectModel[] models, NSDictionary metadata);
  513. [Export ("fetchRequestTemplatesByName")]
  514. NSDictionary FetchRequestTemplatesByName { get; }
  515. [Export ("versionIdentifiers")]
  516. NSSet VersionIdentifiers { get; set; }
  517. [Export ("isConfiguration:compatibleWithStoreMetadata:")]
  518. bool IsConfiguration (string configuration, NSDictionary metadata);
  519. [Export ("entityVersionHashesByName")]
  520. NSDictionary EntityVersionHashesByName { get; }
  521. }
  522. [BaseType (typeof (NSObject))]
  523. public interface NSMappingModel {
  524. [Static, Export ("mappingModelFromBundles:forSourceModel:destinationModel:")]
  525. NSMappingModel MappingModelFromBundles (NSBundle[] bundles, NSManagedObjectModel sourceModel, NSManagedObjectModel destinationModel);
  526. [Export ("initWithContentsOfURL:")]
  527. IntPtr Constructor (NSUrl url);
  528. [Export ("entityMappings")]
  529. NSEntityMapping[] EntityMappings { get; set; }
  530. [Export ("entityMappingsByName")]
  531. NSDictionary EntityMappingsByName { get; }
  532. }
  533. [Since(5,0)]
  534. [BaseType (typeof (NSObject))]
  535. interface NSMergeConflict {
  536. [Export ("sourceObject")]
  537. NSManagedObject SourceObject { get; }
  538. [Export ("objectSnapshot")]
  539. NSDictionary ObjectSnapshot { get; }
  540. [Export ("cachedSnapshot")]
  541. NSDictionary CachedSnapshot { get; }
  542. [Export ("persistedSnapshot")]
  543. NSDictionary PersistedSnapshot { get; }
  544. [Export ("newVersionNumber")]
  545. uint NewVersionNumber { get; }
  546. [Export ("oldVersionNumber")]
  547. uint OldVersionNumber { get; }
  548. [Export ("initWithSource:newVersion:oldVersion:cachedSnapshot:persistedSnapshot:")]
  549. IntPtr Constructor (NSManagedObject srcObject, uint newvers, uint oldvers, NSDictionary cachesnap, NSDictionary persnap);
  550. }
  551. [Since(5,0)]
  552. [BaseType (typeof (NSObject))]
  553. interface NSMergePolicy {
  554. [Export ("mergeType")]
  555. NSMergePolicyType MergeType { get; }
  556. [Export ("initWithMergeType:")]
  557. IntPtr Constructor (NSMergePolicyType ty);
  558. [Export ("resolveConflicts:error:")]
  559. bool ResolveConflictserror (NSMergeConflict [] list, out NSError error);
  560. }
  561. [BaseType (typeof (NSObject))]
  562. public interface NSMigrationManager {
  563. [Export ("initWithSourceModel:destinationModel:")]
  564. IntPtr Constructor (NSManagedObjectModel sourceModel, NSManagedObjectModel destinationModel);
  565. [Export ("migrateStoreFromURL:type:options:withMappingModel:toDestinationURL:destinationType:destinationOptions:error:")]
  566. bool MigrateStoreFromUrl (NSUrl sourceURL, string sStoreType, NSDictionary sOptions, NSMappingModel mappings, NSUrl dURL, string dStoreType, NSDictionary dOptions, out NSError error);
  567. [Export ("reset")]
  568. void Reset ();
  569. [Export ("mappingModel")]
  570. NSMappingModel MappingModel { get; }
  571. [Export ("sourceModel")]
  572. NSManagedObjectModel SourceModel { get; }
  573. [Export ("destinationModel")]
  574. NSManagedObjectModel DestinationModel { get; }
  575. [Export ("sourceContext")]
  576. NSManagedObjectContext SourceContext { get; }
  577. [Export ("destinationContext")]
  578. NSManagedObjectContext DestinationContext { get; }
  579. [Export ("sourceEntityForEntityMapping:")]
  580. NSEntityDescription SourceEntityForEntityMapping (NSEntityMapping mEntity);
  581. [Export ("destinationEntityForEntityMapping:")]
  582. NSEntityDescription DestinationEntityForEntityMapping (NSEntityMapping mEntity);
  583. [Export ("associateSourceInstance:withDestinationInstance:forEntityMapping:")]
  584. void AssociateSourceInstance (NSManagedObject sourceInstance, NSManagedObject destinationInstance, NSEntityMapping entityMapping);
  585. [Export ("destinationInstancesForEntityMappingNamed:sourceInstances:")]
  586. NSManagedObject[] DestinationInstancesForEntityMappingNamed (string mappingName, NSManagedObject[] sourceInstances);
  587. [Export ("sourceInstancesForEntityMappingNamed:destinationInstances:")]
  588. NSManagedObject[] SourceInstancesForEntityMappingNamed (string mappingName, NSManagedObject[] destinationInstances);
  589. [Export ("currentEntityMapping")]
  590. NSEntityMapping CurrentEntityMapping { get; }
  591. [Export ("migrationProgress")]
  592. float MigrationProgress { get; }
  593. [Export ("userInfo")]
  594. NSDictionary UserInfo { get; set; }
  595. [Export ("cancelMigrationWithError:")]
  596. void CancelMigrationWithError (NSError error);
  597. // 5.0
  598. [Since(5,0)]
  599. [Export ("usesStoreSpecificMigrationManager")]
  600. bool UsesStoreSpecificMigrationManager { get; set; }
  601. }
  602. [BaseType (typeof (NSObject))]
  603. public interface NSPersistentStore {
  604. [Static, Export ("metadataForPersistentStoreWithURL:error:")]
  605. NSDictionary MetadataForPersistentStoreWithUrl (NSUrl url, out NSError error);
  606. [Static, Export ("setMetadata:forPersistentStoreWithURL:error:")]
  607. bool SetMetadata (NSDictionary metadata, NSUrl url, out NSError error);
  608. [Export ("initWithPersistentStoreCoordinator:configurationName:URL:options:")]
  609. IntPtr Constructor (NSPersistentStoreCoordinator root, string name, NSUrl url, NSDictionary options);
  610. [Export ("persistentStoreCoordinator")]
  611. NSPersistentStoreCoordinator PersistentStoreCoordinator { get; }
  612. [Export ("configurationName")]
  613. string ConfigurationName { get; }
  614. [Export ("options")]
  615. NSDictionary Options { get; }
  616. [Export ("URL")]
  617. NSUrl Url { get; set; }
  618. [Export ("identifier")]
  619. string Identifier { get; set; }
  620. [Export ("type")]
  621. string Type { get; }
  622. [Export ("isReadOnly")]
  623. bool ReadOnly { get; [Bind("setReadOnly:")] set; }
  624. [Export ("metadata")]
  625. NSDictionary Metadata { get; set; }
  626. [Export ("didAddToPersistentStoreCoordinator:")]
  627. void DidAddToPersistentStoreCoordinator (NSPersistentStoreCoordinator coordinator);
  628. [Export ("willRemoveFromPersistentStoreCoordinator:")]
  629. void WillRemoveFromPersistentStoreCoordinator (NSPersistentStoreCoordinator coordinator);
  630. [Field ("NSPersistentStoreSaveConflictsErrorKey")]
  631. NSString SaveConflictsErrorKey { get; }
  632. }
  633. [BaseType (typeof (NSObject))]
  634. public interface NSPersistentStoreCoordinator {
  635. [Static, Export ("registeredStoreTypes")]
  636. NSDictionary RegisteredStoreTypes { get; }
  637. [Static, Export ("registerStoreClass:forStoreType:")]
  638. void RegisterStoreClass (Class storeClass, NSString storeType);
  639. [Static, Export ("metadataForPersistentStoreOfType:URL:error:")]
  640. NSDictionary MetadataForPersistentStoreOfType (NSString storeType, NSUrl url, out NSError error);
  641. [Static, Export ("setMetadata:forPersistentStoreOfType:URL:error:")]
  642. bool SetMetadata (NSDictionary metadata, NSString storeType, NSUrl url, out NSError error);
  643. [Export ("setMetadata:forPersistentStore:")]
  644. void SetMetadata (NSDictionary metadata, NSPersistentStore store);
  645. [Export ("metadataForPersistentStore:")]
  646. NSDictionary MetadataForPersistentStore (NSPersistentStore store);
  647. [Export ("initWithManagedObjectModel:")]
  648. IntPtr Constructor (NSManagedObjectModel model);
  649. [Export ("managedObjectModel")]
  650. NSManagedObjectModel ManagedObjectModel { get; }
  651. [Export ("persistentStores")]
  652. NSPersistentStore[] PersistentStores { get; }
  653. [Export ("persistentStoreForURL:")]
  654. NSPersistentStore PersistentStoreForUrl (NSUrl URL);
  655. [Export ("URLForPersistentStore:")]
  656. NSUrl UrlForPersistentStore (NSPersistentStore store);
  657. [Export ("setURL:forPersistentStore:")]
  658. bool SetUrl (NSUrl url, NSPersistentStore store);
  659. [Export ("addPersistentStoreWithType:configuration:URL:options:error:")]
  660. NSPersistentStore AddPersistentStoreWithType (NSString storeType, [NullAllowed] string configuration, NSUrl storeURL, [NullAllowed] NSDictionary options, out NSError error);
  661. [Export ("removePersistentStore:error:")]
  662. bool RemovePersistentStore (NSPersistentStore store, out NSError error);
  663. [Export ("migratePersistentStore:toURL:options:withType:error:")]
  664. NSPersistentStore MigratePersistentStore (NSPersistentStore store, NSUrl URL, NSDictionary options, NSString storeType, out NSError error);
  665. [Export ("managedObjectIDForURIRepresentation:")]
  666. NSManagedObjectID ManagedObjectIDForURIRepresentation (NSUrl url);
  667. [Export ("lock")]
  668. void Lock ();
  669. [Export ("unlock")]
  670. void Unlock ();
  671. [Export ("tryLock")]
  672. bool TryLock { get; }
  673. #if MONOMAC
  674. [Obsolete("Deprecated in MAC OSX 10.5 and later")]
  675. [Static, Export ("metadataForPersistentStoreWithURL:error:")]
  676. NSDictionary MetadataForPersistentStoreWithUrl (NSUrl url, out NSError error);
  677. #endif
  678. [Field ("NSSQLiteStoreType")]
  679. NSString SQLiteStoreType { get; }
  680. #if MONOMAC
  681. [Field ("NSXMLStoreType")]
  682. NSString XMLStoreType { get; }
  683. #endif
  684. [Field ("NSBinaryStoreType")]
  685. NSString BinaryStoreType { get; }
  686. [Field ("NSInMemoryStoreType")]
  687. NSString InMemoryStoreType { get; }
  688. [Field ("NSStoreUUIDKey")]
  689. NSString StoreUUIDKey { get; }
  690. [Field ("NSAddedPersistentStoresKey")]
  691. NSString AddedPersistentStoresKey { get; }
  692. [Field ("NSRemovedPersistentStoresKey")]
  693. NSString RemovedPersistentStoresKey { get; }
  694. [Field ("NSUUIDChangedPersistentStoresKey")]
  695. NSString UUIDChangedPersistentStoresKey { get; }
  696. [Field ("NSReadOnlyPersistentStoreOption")]
  697. NSString ReadOnlyPersistentStoreOption { get; }
  698. #if MONOMAC
  699. [Field ("NSValidateXMLStoreOption")]
  700. NSString ValidateXMLStoreOption { get; }
  701. #endif
  702. [Field ("NSPersistentStoreTimeoutOption")]
  703. NSString PersistentStoreTimeoutOption { get; }
  704. [Field ("NSSQLitePragmasOption")]
  705. NSString SQLitePragmasOption { get; }
  706. [Field ("NSSQLiteAnalyzeOption")]
  707. NSString SQLiteAnalyzeOption { get; }
  708. [Field ("NSSQLiteManualVacuumOption")]
  709. NSString SQLiteManualVacuumOption { get; }
  710. [Field ("NSIgnorePersistentStoreVersioningOption")]
  711. NSString IgnorePersistentStoreVersioningOption { get; }
  712. [Field ("NSMigratePersistentStoresAutomaticallyOption")]
  713. NSString MigratePersistentStoresAutomaticallyOption { get; }
  714. [Field ("NSInferMappingModelAutomaticallyOption")]
  715. NSString InferMappingModelAutomaticallyOption { get; }
  716. [Field ("NSStoreModelVersionHashesKey")]
  717. NSString StoreModelVersionHashesKey { get; }
  718. [Field ("NSStoreModelVersionIdentifiersKey")]
  719. NSString StoreModelVersionIdentifiersKey { get; }
  720. [Field ("NSPersistentStoreOSCompatibility")]
  721. NSString PersistentStoreOSCompatibility { get; }
  722. [Field ("NSStoreTypeKey")]
  723. NSString StoreTypeKey { get; }
  724. [Field ("NSPersistentStoreCoordinatorStoresDidChangeNotification")]
  725. NSString StoresDidChangeNotification { get; }
  726. [Field ("NSPersistentStoreCoordinatorWillRemoveStoreNotification")]
  727. NSString WillRemoveStoreNotification { get; }
  728. // 5.0
  729. [Since(5,0)]
  730. [Export ("executeRequest:withContext:error:")]
  731. NSObject ExecuteRequestwithContexterror (NSPersistentStoreRequest request, NSManagedObjectContext context, out NSError error);
  732. [Field ("NSPersistentStoreDidImportUbiquitousContentChangesNotification")]
  733. NSString DidImportUbiquitousContentChangesNotification { get; }
  734. [Field ("NSPersistentStoreUbiquitousContentNameKey")]
  735. NSString PersistentStoreUbiquitousContentNameKey { get; }
  736. [Field ("NSPersistentStoreUbiquitousContentURLKey")]
  737. NSString PersistentStoreUbiquitousContentUrlLKey { get; }
  738. #if !MONOMAC
  739. [Field ("NSPersistentStoreFileProtectionKey")]
  740. NSString PersistentStoreFileProtectionKey { get; }
  741. #endif
  742. }
  743. [BaseType (typeof (NSObject))]
  744. public interface NSPersistentStoreRequest {
  745. [Export ("requestType")]
  746. NSPersistentStoreRequestType RequestType { get; }
  747. //Detected properties
  748. [Export ("affectedStores")]
  749. NSPersistentStore [] AffectedStores { get; set; }
  750. }
  751. [BaseType (typeof (NSObject))]
  752. public interface NSPropertyDescription {
  753. [Export ("entity")]
  754. NSEntityDescription Entity { get; }
  755. [Export ("name")]
  756. string Name { get; set; }
  757. [Export ("isOptional")]
  758. bool Optional { get; [Bind("setOptional:")] set; }
  759. [Export ("isTransient")]
  760. bool Transient { get; [Bind("setTransient:")] set; }
  761. [Export ("validationPredicates")]
  762. NSPredicate[] ValidationPredicates { get; }
  763. [Export ("validationWarnings")]
  764. string[] ValidationWarnings { get; }
  765. [Export ("setValidationPredicates:withValidationWarnings:")]
  766. void SetValidationPredicates (NSPredicate[] validationPredicates, string[] validationWarnings);
  767. [Export ("userInfo")]
  768. NSDictionary UserInfo { get; set; }
  769. [Export ("isIndexed")]
  770. bool Indexed { get; [Bind("setIndexed:")] set; }
  771. [Export ("versionHash")]
  772. NSData VersionHash { get; }
  773. [Export ("versionHashModifier")]
  774. string VersionHashModifier { get; set; }
  775. // 5.0
  776. [Since (5,0)]
  777. [Export ("indexedBySpotlight")]
  778. bool IndexedBySpotlight { [Bind ("isIndexedBySpotlight")]get; set; }
  779. [Since (5,0)]
  780. [Export ("storedInExternalRecord")]
  781. bool StoredInExternalRecord { [Bind ("isStoredInExternalRecord")]get; set; }
  782. }
  783. [BaseType (typeof (NSObject))]
  784. public interface NSPropertyMapping {
  785. [Export ("name")]
  786. string Name { get; set; }
  787. [Export ("valueExpression")]
  788. NSExpression ValueExpression { get; set; }
  789. [Export ("userInfo")]
  790. NSDictionary UserInfo { get; set; }
  791. }
  792. [BaseType (typeof (NSPropertyDescription))]
  793. public interface NSRelationshipDescription {
  794. [Export ("destinationEntity")]
  795. NSEntityDescription DestinationEntity { get; set; }
  796. [Export ("inverseRelationship")]
  797. NSRelationshipDescription InverseRelationship { get; set; }
  798. [Export ("maxCount")]
  799. uint MaxCount { get; set; }
  800. [Export ("minCount")]
  801. uint MinCount { get; set; }
  802. [Export ("deleteRule")]
  803. NSDeleteRule DeleteRule { get; set; }
  804. [Export ("isToMany")]
  805. bool IsToMany { get; }
  806. [Export ("versionHash")]
  807. NSData VersionHash { get; }
  808. // 5.0
  809. [Since (5,0)]
  810. [Export ("ordered")]
  811. bool Ordered { [Bind ("isOrdered")]get; set; }
  812. }
  813. [BaseType (typeof (NSPersistentStoreRequest))]
  814. interface NSSaveChangesRequest {
  815. [Export ("initWithInsertedObjects:updatedObjects:deletedObjects:lockedObjects:")]
  816. IntPtr Constructor (NSSet insertedObjects, NSSet updatedObjects, NSSet deletedObjects, NSSet lockedObjects);
  817. [Export ("insertedObjects")]
  818. NSSet InsertedObjects { get; }
  819. [Export ("updatedObjects")]
  820. NSSet UpdatedObjects { get; }
  821. [Export ("deletedObjects")]
  822. NSSet DeletedObjects { get; }
  823. [Export ("lockedObjects")]
  824. NSSet LockedObjects { get; }
  825. }
  826. }