예제 #1
0
        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);
        }
예제 #2
0
 public static extern IntPtr get(LinkListHandle linklistHandle, SharedRealmHandle realmHandle, IntPtr link_ndx, out NativeException ex);
예제 #3
0
 public static extern void clear(LinkListHandle linklistHandle, out NativeException ex);
예제 #4
0
 public static extern void erase(LinkListHandle linklistHandle, IntPtr rowIndex, out NativeException ex);
예제 #5
0
 public static extern void insert(LinkListHandle linklistHandle, IntPtr targetIndex, ObjectHandle objectHandle, out NativeException ex);
예제 #6
0
 public static extern void add(LinkListHandle linklistHandle, ObjectHandle objectHandle, out NativeException ex);
예제 #7
0
 public static extern void insert(LinkListHandle linklistHandle, IntPtr link_ndx, IntPtr row_ndx, out NativeException ex);
예제 #8
0
 public static extern void insert(LinkListHandle linklistHandle, IntPtr link_ndx, IntPtr row_ndx);
예제 #9
0
 internal RealmList(RealmObject parent, LinkListHandle adoptedList)
 {
     _parent     = parent;
     _listHandle = adoptedList;
 }
예제 #10
0
 public static extern IntPtr size(LinkListHandle linklistHandle);
예제 #11
0
 public static extern IntPtr find(LinkListHandle linklistHandle, IntPtr link_ndx, IntPtr start_from);
예제 #12
0
 public static extern IntPtr get(LinkListHandle linklistHandle, IntPtr link_ndx);
예제 #13
0
 public static extern void clear(LinkListHandle linklistHandle);
예제 #14
0
 public static extern void erase(LinkListHandle linklistHandle, IntPtr row_ndx);
예제 #15
0
 public static extern IntPtr find(LinkListHandle linklistHandle, ObjectHandle objectHandle, IntPtr start_from, out NativeException ex);
예제 #16
0
 public static extern IntPtr size(LinkListHandle linklistHandle, out NativeException ex);
예제 #17
0
 internal RealmList(Realm realm, LinkListHandle adoptedList, RealmObject.Metadata metadata)
 {
     _realm          = realm;
     _listHandle     = adoptedList;
     _targetMetadata = metadata;
 }