namespace Firebase.Database { using System; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Firebase.Database.Offline; using Newtonsoft.Json; public class FirebaseOptions { public FirebaseOptions() { this.OfflineDatabaseFactory = (t, s) => new Dictionary(); this.SubscriptionStreamReaderFactory = s => new StreamReader(s); this.JsonSerializerSettings = new JsonSerializerSettings(); this.SyncPeriod = TimeSpan.FromSeconds(10); } /// /// Gets or sets the factory for Firebase offline database. Default is in-memory dictionary. /// public Func> OfflineDatabaseFactory { get; set; } /// /// Gets or sets the method for retrieving auth tokens. Default is null. /// public Func> AuthTokenAsyncFactory { get; set; } /// /// Gets or sets the factory for used for reading online streams. Default is . /// public Func SubscriptionStreamReaderFactory { get; set; } /// /// Gets or sets the json serializer settings. /// public JsonSerializerSettings JsonSerializerSettings { get; set; } /// /// Gets or sets the time between synchronization attempts for pulling and pushing offline entities. Default is 10 seconds. /// public TimeSpan SyncPeriod { get; set; } /// /// Specify if token returned by factory will be used as "auth" url parameter or "access_token". /// public bool AsAccessToken { get; set; } } }