// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using Realms; namespace osu.Game.Database { public interface IRealmFactory { /// /// The main realm context, bound to the update thread. /// If querying from a non-update thread is needed, use or to receive a context instead. /// Realm Context { get; } /// /// Get a fresh context for read usage. /// RealmContextFactory.RealmUsage GetForRead(); /// /// Request a context for write usage. /// This method may block if a write is already active on a different thread. /// /// A usage containing a usable context. RealmContextFactory.RealmWriteUsage GetForWrite(); } }