mirror of
https://gitee.com/csharpui/CPF.git
synced 2025-04-05 17:37:51 +08:00
180 lines
5.8 KiB
C#
180 lines
5.8 KiB
C#
using CPF.Mac.Foundation;
|
|
using CPF.Mac.ObjCRuntime;
|
|
using System;
|
|
using System.ComponentModel;
|
|
|
|
namespace CPF.Mac.CoreData
|
|
{
|
|
[Register("NSMergeConflict", true)]
|
|
public class NSMergeConflict : NSObject
|
|
{
|
|
private static readonly IntPtr selSourceObjectHandle = Selector.GetHandle("sourceObject");
|
|
|
|
private static readonly IntPtr selObjectSnapshotHandle = Selector.GetHandle("objectSnapshot");
|
|
|
|
private static readonly IntPtr selCachedSnapshotHandle = Selector.GetHandle("cachedSnapshot");
|
|
|
|
private static readonly IntPtr selPersistedSnapshotHandle = Selector.GetHandle("persistedSnapshot");
|
|
|
|
private static readonly IntPtr selNewVersionNumberHandle = Selector.GetHandle("newVersionNumber");
|
|
|
|
private static readonly IntPtr selOldVersionNumberHandle = Selector.GetHandle("oldVersionNumber");
|
|
|
|
private static readonly IntPtr selInitWithSourceNewVersionOldVersionCachedSnapshotPersistedSnapshot_Handle = Selector.GetHandle("initWithSource:newVersion:oldVersion:cachedSnapshot:persistedSnapshot:");
|
|
|
|
private static readonly IntPtr class_ptr = Class.GetHandle("NSMergeConflict");
|
|
|
|
private object __mt_SourceObject_var;
|
|
|
|
private object __mt_ObjectSnapshot_var;
|
|
|
|
private object __mt_CachedSnapshot_var;
|
|
|
|
private object __mt_PersistedSnapshot_var;
|
|
|
|
public override IntPtr ClassHandle => class_ptr;
|
|
|
|
public virtual NSManagedObject SourceObject
|
|
{
|
|
[Export("sourceObject")]
|
|
get
|
|
{
|
|
return (NSManagedObject)(__mt_SourceObject_var = ((!IsDirectBinding) ? ((NSManagedObject)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selSourceObjectHandle))) : ((NSManagedObject)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selSourceObjectHandle)))));
|
|
}
|
|
}
|
|
|
|
public virtual NSDictionary ObjectSnapshot
|
|
{
|
|
[Export("objectSnapshot")]
|
|
get
|
|
{
|
|
return (NSDictionary)(__mt_ObjectSnapshot_var = ((!IsDirectBinding) ? ((NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selObjectSnapshotHandle))) : ((NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selObjectSnapshotHandle)))));
|
|
}
|
|
}
|
|
|
|
public virtual NSDictionary CachedSnapshot
|
|
{
|
|
[Export("cachedSnapshot")]
|
|
get
|
|
{
|
|
return (NSDictionary)(__mt_CachedSnapshot_var = ((!IsDirectBinding) ? ((NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selCachedSnapshotHandle))) : ((NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selCachedSnapshotHandle)))));
|
|
}
|
|
}
|
|
|
|
public virtual NSDictionary PersistedSnapshot
|
|
{
|
|
[Export("persistedSnapshot")]
|
|
get
|
|
{
|
|
return (NSDictionary)(__mt_PersistedSnapshot_var = ((!IsDirectBinding) ? ((NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selPersistedSnapshotHandle))) : ((NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selPersistedSnapshotHandle)))));
|
|
}
|
|
}
|
|
|
|
public virtual uint NewVersionNumber
|
|
{
|
|
[Export("newVersionNumber")]
|
|
get
|
|
{
|
|
if (IsDirectBinding)
|
|
{
|
|
return Messaging.UInt32_objc_msgSend(base.Handle, selNewVersionNumberHandle);
|
|
}
|
|
return Messaging.UInt32_objc_msgSendSuper(base.SuperHandle, selNewVersionNumberHandle);
|
|
}
|
|
}
|
|
|
|
public virtual uint OldVersionNumber
|
|
{
|
|
[Export("oldVersionNumber")]
|
|
get
|
|
{
|
|
if (IsDirectBinding)
|
|
{
|
|
return Messaging.UInt32_objc_msgSend(base.Handle, selOldVersionNumberHandle);
|
|
}
|
|
return Messaging.UInt32_objc_msgSendSuper(base.SuperHandle, selOldVersionNumberHandle);
|
|
}
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
[Export("init")]
|
|
public NSMergeConflict()
|
|
: base(NSObjectFlag.Empty)
|
|
{
|
|
if (IsDirectBinding)
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSend(base.Handle, Selector.Init);
|
|
}
|
|
else
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, Selector.Init);
|
|
}
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
[Export("initWithCoder:")]
|
|
public NSMergeConflict(NSCoder coder)
|
|
: base(NSObjectFlag.Empty)
|
|
{
|
|
if (IsDirectBinding)
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, Selector.InitWithCoder, coder.Handle);
|
|
}
|
|
else
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, Selector.InitWithCoder, coder.Handle);
|
|
}
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
public NSMergeConflict(NSObjectFlag t)
|
|
: base(t)
|
|
{
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
public NSMergeConflict(IntPtr handle)
|
|
: base(handle)
|
|
{
|
|
}
|
|
|
|
[Export("initWithSource:newVersion:oldVersion:cachedSnapshot:persistedSnapshot:")]
|
|
public NSMergeConflict(NSManagedObject srcObject, uint newvers, uint oldvers, NSDictionary cachesnap, NSDictionary persnap)
|
|
: base(NSObjectFlag.Empty)
|
|
{
|
|
if (srcObject == null)
|
|
{
|
|
throw new ArgumentNullException("srcObject");
|
|
}
|
|
if (cachesnap == null)
|
|
{
|
|
throw new ArgumentNullException("cachesnap");
|
|
}
|
|
if (persnap == null)
|
|
{
|
|
throw new ArgumentNullException("persnap");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr_UInt32_UInt32_IntPtr_IntPtr(base.Handle, selInitWithSourceNewVersionOldVersionCachedSnapshotPersistedSnapshot_Handle, srcObject.Handle, newvers, oldvers, cachesnap.Handle, persnap.Handle);
|
|
}
|
|
else
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr_UInt32_UInt32_IntPtr_IntPtr(base.SuperHandle, selInitWithSourceNewVersionOldVersionCachedSnapshotPersistedSnapshot_Handle, srcObject.Handle, newvers, oldvers, cachesnap.Handle, persnap.Handle);
|
|
}
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
base.Dispose(disposing);
|
|
if (base.Handle == IntPtr.Zero)
|
|
{
|
|
__mt_SourceObject_var = null;
|
|
__mt_ObjectSnapshot_var = null;
|
|
__mt_CachedSnapshot_var = null;
|
|
__mt_PersistedSnapshot_var = null;
|
|
}
|
|
}
|
|
}
|
|
}
|