internal LinkListHandle TableLinkList(IntPtr propertyIndex) { var listHandle = new LinkListHandle(Root ?? this); // At this point sh is invalid due to its handle being uninitialized, but the root is set correctly // a finalize at this point will not leak anything and the handle will not do anything // now, set the TableView handle... RuntimeHelpers.PrepareConstrainedRegions(); // the following finally will run with no out-of-band exceptions try { } finally { listHandle.SetHandle(this.GetLinklist(propertyIndex)); } // at this point we have atomically acquired a handle and also set the root correctly so it can be unbound correctly return(listHandle); }
public static extern IntPtr get(LinkListHandle linklistHandle, SharedRealmHandle realmHandle, IntPtr link_ndx, out NativeException ex);
public static extern void clear(LinkListHandle linklistHandle, out NativeException ex);
public static extern void erase(LinkListHandle linklistHandle, IntPtr rowIndex, out NativeException ex);
public static extern void insert(LinkListHandle linklistHandle, IntPtr targetIndex, ObjectHandle objectHandle, out NativeException ex);
public static extern void add(LinkListHandle linklistHandle, ObjectHandle objectHandle, out NativeException ex);
public static extern void insert(LinkListHandle linklistHandle, IntPtr link_ndx, IntPtr row_ndx, out NativeException ex);
public static extern void insert(LinkListHandle linklistHandle, IntPtr link_ndx, IntPtr row_ndx);
internal RealmList(RealmObject parent, LinkListHandle adoptedList) { _parent = parent; _listHandle = adoptedList; }
public static extern IntPtr size(LinkListHandle linklistHandle);
public static extern IntPtr find(LinkListHandle linklistHandle, IntPtr link_ndx, IntPtr start_from);
public static extern IntPtr get(LinkListHandle linklistHandle, IntPtr link_ndx);
public static extern void clear(LinkListHandle linklistHandle);
public static extern void erase(LinkListHandle linklistHandle, IntPtr row_ndx);
public static extern IntPtr find(LinkListHandle linklistHandle, ObjectHandle objectHandle, IntPtr start_from, out NativeException ex);
public static extern IntPtr size(LinkListHandle linklistHandle, out NativeException ex);
internal RealmList(Realm realm, LinkListHandle adoptedList, RealmObject.Metadata metadata) { _realm = realm; _listHandle = adoptedList; _targetMetadata = metadata; }