using System; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Firebase.Database.Offline; using Newtonsoft.Json; namespace Firebase.Database { public class FirebaseOptions { public FirebaseOptions() { OfflineDatabaseFactory = (t, s) => new Dictionary(); SubscriptionStreamReaderFactory = s => new StreamReader(s); JsonSerializerSettings = new JsonSerializerSettings(); 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; } } }