Example #1
0
        internal Realm(SharedRealmHandle sharedRealmHandle, RealmConfigurationBase config, RealmSchema schema)
        {
            Config = config;

            RealmState state = null;

            var statePtr = sharedRealmHandle.GetManagedStateHandle();

            if (statePtr != IntPtr.Zero)
            {
                state = GCHandle.FromIntPtr(statePtr).Target as RealmState;
            }

            if (state == null)
            {
                state = new RealmState();
                sharedRealmHandle.SetManagedStateHandle(GCHandle.ToIntPtr(state.GCHandle));
                _states.Value[config.DatabasePath] = new WeakReference <RealmState>(state);
            }

            state.AddRealm(this);

            _state = state;

            SharedRealmHandle = sharedRealmHandle;
            Metadata          = schema.ToDictionary(t => t.Name, CreateRealmObjectMetadata);
            Schema            = schema;
        }
Example #2
0
        internal Realm(SharedRealmHandle sharedRealmHandle, RealmConfiguration config, RealmSchema schema)
        {
            SharedRealmHandle = sharedRealmHandle;
            Config            = config;

            Metadata = schema.ToDictionary(t => t.Name, CreateRealmObjectMetadata);
            Schema   = schema;
        }