Example #1
0
        public bool TryFind(SharedRealmHandle realmHandle, long?id, out ObjectHandle objectHandle)
        {
            NativeException nativeException;
            IntPtr          result;

            if (id.HasValue)
            {
                result = NativeMethods.object_for_int_primarykey(this, realmHandle, id.Value, out nativeException);
            }
            else
            {
                result = NativeMethods.object_for_null_primarykey(this, realmHandle, out nativeException);
            }

            nativeException.ThrowIfNecessary();
            if (result == IntPtr.Zero)
            {
                objectHandle = null;
                return(false);
            }

            objectHandle = new ObjectHandle(realmHandle, result);
            return(true);
        }
Example #2
0
        public bool TryFind(SharedRealmHandle realmHandle, string id, out ObjectHandle objectHandle)
        {
            NativeException nativeException;
            IntPtr          result;

            if (id == null)
            {
                result = NativeMethods.get_object_for_null_primarykey(this, realmHandle, out nativeException);
            }
            else
            {
                result = NativeMethods.get_object_for_string_primarykey(this, realmHandle, id, (IntPtr)id.Length, out nativeException);
            }

            nativeException.ThrowIfNecessary();
            if (result == IntPtr.Zero)
            {
                objectHandle = null;
                return(false);
            }

            objectHandle = new ObjectHandle(realmHandle, result);
            return(true);
        }
 public void Clear(SharedRealmHandle realmHandle)
 {
     NativeMethods.clear(this, realmHandle, out var nativeException);
     nativeException.ThrowIfNecessary();
 }
Example #4
0
 public static extern IntPtr get(LinkListHandle linklistHandle, SharedRealmHandle realmHandle, IntPtr link_ndx, out NativeException ex);
Example #5
0
 public static extern IntPtr add_empty_object(TableHandle tableHandle, SharedRealmHandle sharedRealm, out NativeException ex);
Example #6
0
 public static extern IntPtr object_for_null_primarykey(TableHandle handle, SharedRealmHandle realmHandle, out NativeException ex);
 public static extern void cancel_transaction(SharedRealmHandle sharedRealm, out NativeException ex);
 public static extern IntPtr is_same_instance(SharedRealmHandle lhs, SharedRealmHandle rhs, out NativeException ex);
Example #9
0
        internal IntPtr Find(SharedRealmHandle realmHandle, string id)
        {
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id));
            }

            NativeException nativeException;
            var result = NativeMethods.object_for_string_primarykey(this, realmHandle, id, (IntPtr)id.Length, out nativeException);
            nativeException.ThrowIfNecessary();
            return result;
        }
Example #10
0
 public static extern IntPtr resolve_query_reference(SharedRealmHandle sharedRealm, ThreadSafeReferenceHandle referenceHandle, out NativeException ex);
Example #11
0
 public IntPtr CreateResults(SharedRealmHandle sharedRealmHandle)
 {
     NativeException nativeException;
     var result = NativeMethods.create_results(this, sharedRealmHandle, out nativeException);
     nativeException.ThrowIfNecessary();
     return result;
 }
Example #12
0
 public IntPtr CreateSortedResults(SharedRealmHandle sharedRealmHandle, SortDescriptorBuilder sortDescriptorBuilder)
 {
     NativeException nativeException;
     var marshaledValues = sortDescriptorBuilder.Flatten();
     var result = NativeMethods.create_sorted_results(this, sharedRealmHandle, marshaledValues.Item2, (IntPtr)marshaledValues.Item2.Length, marshaledValues.Item1, out nativeException);
     nativeException.ThrowIfNecessary();
     return result;
 }
Example #13
0
 public IntPtr AddEmptyObject(SharedRealmHandle sharedRealm)
 {
     NativeException nativeException;
     var result = NativeMethods.add_empty_object(this, sharedRealm, out nativeException);
     nativeException.ThrowIfNecessary();
     return result;
 }
Example #14
0
 public void Clear(SharedRealmHandle realmHandle)
 {
     NativeException nativeException;
     NativeMethods.clear(this, realmHandle, out nativeException);
     nativeException.ThrowIfNecessary();
 }
Example #15
0
 public static extern void clear(ResultsHandle results, SharedRealmHandle realmHandle, out NativeException ex);
Example #16
0
 public static extern IntPtr create_object_unique(SharedRealmHandle sharedRealm, TableHandle table, long key, [MarshalAs(UnmanagedType.I1)] bool has_value,
                                                  [MarshalAs(UnmanagedType.I1)] bool is_nullable,
                                                  [MarshalAs(UnmanagedType.I1)] bool update,
                                                  [MarshalAs(UnmanagedType.I1)] out bool is_new, out NativeException ex);
Example #17
0
        internal IntPtr Find(SharedRealmHandle realmHandle, long? id)
        {
            NativeException nativeException;
            IntPtr result;
            if (id.HasValue)
            {
                result = NativeMethods.object_for_int_primarykey(this, realmHandle, id.Value, out nativeException);
            }
            else
            {
                result = NativeMethods.object_for_null_primarykey(this, realmHandle, out nativeException);
            }

            nativeException.ThrowIfNecessary();
            return result;
        }
Example #18
0
 public IntPtr FindDirect(SharedRealmHandle sharedRealm, IntPtr? beginAtIndex = null)
 {
     NativeException nativeException;
     var result = NativeMethods.findDirect(this, beginAtIndex ?? IntPtr.Zero, sharedRealm, out nativeException);
     nativeException.ThrowIfNecessary();
     return result;
 }
Example #19
0
 public static extern IntPtr add_empty_object(TableHandle tableHandle, SharedRealmHandle sharedRealm, out NativeException ex);
Example #20
0
 public static extern void bind_to_managed_realm_handle(SharedRealmHandle sharedRealm, IntPtr managedRealmHandle, out NativeException ex);
Example #21
0
 public static extern IntPtr create_results(TableHandle handle, SharedRealmHandle sharedRealm, out NativeException ex);
Example #22
0
 public static extern IntPtr refresh(SharedRealmHandle sharedRealm, out NativeException ex);
Example #23
0
 public static extern IntPtr create_sorted_results(TableHandle handle, SharedRealmHandle sharedRealm,
         [MarshalAs(UnmanagedType.LPArray), In]SortDescriptorBuilder.Clause.Marshalable[] sortClauses, IntPtr clauseCount,
         [MarshalAs(UnmanagedType.LPArray), In]IntPtr[] flattenedColumnIndices,
         out NativeException ex);
Example #24
0
 public static extern IntPtr findDirect(QueryHandle queryHandle, IntPtr beginAtIndex, SharedRealmHandle realmHandle, out NativeException ex);
Example #25
0
 public static extern IntPtr object_for_string_primarykey(TableHandle handle, SharedRealmHandle realmHandle,
     [MarshalAs(UnmanagedType.LPWStr)] string value, IntPtr valueLen, out NativeException ex);
Example #26
0
 public static extern IntPtr create_sorted_results(TableHandle handle, SharedRealmHandle sharedRealm,
                                                   [MarshalAs(UnmanagedType.LPArray), In] SortDescriptorBuilder.Clause.Marshalable[] sortClauses, IntPtr clauseCount,
                                                   [MarshalAs(UnmanagedType.LPArray), In] IntPtr[] flattenedColumnIndices,
                                                   out NativeException ex);
Example #27
0
 public static extern IntPtr object_for_null_primarykey(TableHandle handle, SharedRealmHandle realmHandle, out NativeException ex);
Example #28
0
 public static extern IntPtr findDirect(QueryHandle queryHandle, IntPtr beginAtIndex, SharedRealmHandle realmHandle, out NativeException ex);
Example #29
0
        internal override Realm CreateRealm(RealmSchema schema)
        {
            var srHandle = new SharedRealmHandle();

            var configuration = new Native.Configuration
            {
                Path = DatabasePath,
                read_only = IsReadOnly,
                delete_if_migration_needed = ShouldDeleteIfMigrationNeeded,
                schema_version = SchemaVersion
            };

            Migration migration = null;
            if (MigrationCallback != null)
            {
                migration = new Migration(this, schema);
                migration.PopulateConfiguration(ref configuration);
            }

            var srPtr = IntPtr.Zero;
            try
            {
                srPtr = srHandle.Open(configuration, schema, EncryptionKey);
            }
            catch (ManagedExceptionDuringMigrationException)
            {
                throw new AggregateException("Exception occurred in a Realm migration callback. See inner exception for more details.", migration?.MigrationException);
            }

            srHandle.SetHandle(srPtr);
            return new Realm(srHandle, this, schema);
        }
 public static extern void clear(ResultsHandle results, SharedRealmHandle realmHandle, out NativeException ex);
Example #31
0
 public static extern void get_schema(SharedRealmHandle sharedRealm, IntPtr callback, out NativeException ex);
Example #32
0
 public static extern IntPtr create_object(SharedRealmHandle sharedRealm, TableHandle table, out NativeException ex);
Example #33
0
 public static extern IntPtr get_managed_state_handle(SharedRealmHandle sharedRealm, out NativeException ex);
Example #34
0
 public static extern IntPtr create_object_unique(SharedRealmHandle sharedRealm, TableHandle table,
                                                  [MarshalAs(UnmanagedType.LPWStr)] string value, IntPtr valueLen,
                                                  [MarshalAs(UnmanagedType.I1)] bool update,
                                                  [MarshalAs(UnmanagedType.I1)] out bool is_new, out NativeException ex);
Example #35
0
 public static extern IntPtr create_results(QueryHandle queryPtr, SharedRealmHandle sharedRealm, out NativeException ex);
Example #36
0
 public static extern void set_managed_state_handle(SharedRealmHandle sharedRealm, IntPtr managedStateHandle, out NativeException ex);
Example #37
0
 public bool IsSameInstance(SharedRealmHandle other)
 {
     NativeException nativeException;
     var result = NativeMethods.is_same_instance(this, other, out nativeException);
     nativeException.ThrowIfNecessary();
     return MarshalHelpers.IntPtrToBool(result);
 }
Example #38
0
 public static extern bool compact(SharedRealmHandle sharedRealm, out NativeException ex);
Example #39
0
 public static extern void bind_to_managed_realm_handle(SharedRealmHandle sharedRealm, IntPtr managedRealmHandle, out NativeException ex);
Example #40
0
 public static extern void write_copy(SharedRealmHandle sharedRealm, [MarshalAs(UnmanagedType.LPWStr)] string path, IntPtr path_len, byte[] encryptionKey, out NativeException ex);
Example #41
0
 public static extern void close_realm(SharedRealmHandle sharedRealm, out NativeException ex);
Example #42
0
 public static extern void close_realm(SharedRealmHandle sharedRealm, out NativeException ex);
Example #43
0
 public static extern void cancel_transaction(SharedRealmHandle sharedRealm, out NativeException ex);
Example #44
0
 public static extern IntPtr is_in_transaction(SharedRealmHandle sharedRealm, out NativeException ex);
Example #45
0
 public static extern IntPtr is_in_transaction(SharedRealmHandle sharedRealm, out NativeException ex);
Example #46
0
 public static extern IntPtr get_table(SharedRealmHandle sharedRealm, [MarshalAs(UnmanagedType.LPWStr)] string tableName, IntPtr tableNameLength, out NativeException ex);
Example #47
0
 public static extern IntPtr refresh(SharedRealmHandle sharedRealm, out NativeException ex);
Example #48
0
 public static extern UInt64 get_schema_version(SharedRealmHandle sharedRealm, out NativeException ex);
Example #49
0
 public static extern IntPtr get_table(SharedRealmHandle sharedRealm, [MarshalAs(UnmanagedType.LPWStr)]string tableName, IntPtr tableNameLength, out NativeException ex);
Example #50
0
 public static extern IntPtr create_results(QueryHandle queryPtr, SharedRealmHandle sharedRealm, out NativeException ex);
Example #51
0
 public static extern IntPtr is_same_instance(SharedRealmHandle lhs, SharedRealmHandle rhs, out NativeException ex);
Example #52
0
 public static extern IntPtr create_results(TableHandle handle, SharedRealmHandle sharedRealm, out NativeException ex);
Example #53
0
 public static extern UInt64 get_schema_version(SharedRealmHandle sharedRealm, out NativeException ex);
Example #54
0
 public static extern IntPtr object_for_string_primarykey(TableHandle handle, SharedRealmHandle realmHandle,
                                                          [MarshalAs(UnmanagedType.LPWStr)] string value, IntPtr valueLen, out NativeException ex);
Example #55
0
 public static extern void remove_observed_object(SharedRealmHandle sharedRealm, IntPtr managedRealmObjectHandle, out NativeException ex);
Example #56
0
 public static extern IntPtr freeze(ListHandle handle, SharedRealmHandle frozen_realm, out NativeException ex);
Example #57
0
 public static extern bool compact(SharedRealmHandle sharedRealm, out NativeException ex);