-
-
Notifications
You must be signed in to change notification settings - Fork 288
/
Registrations.cs
35 lines (31 loc) · 1.23 KB
/
Registrations.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using Newtonsoft.Json;
using ReactiveUI.Mobile;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Splat;
using System.Reactive;
namespace Akavache.Mobile
{
public class Registrations : IWantsToRegisterStuff
{
public void Register(IMutableDependencyResolver resolver)
{
resolver.Register(() => new JsonSerializerSettings()
{
ObjectCreationHandling = ObjectCreationHandling.Replace,
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
TypeNameHandling = TypeNameHandling.All,
}, typeof(JsonSerializerSettings), null);
var akavacheDriver = new AkavacheDriver();
resolver.Register(() => akavacheDriver, typeof(ISuspensionDriver), null);
// NB: These correspond to the hacks in Akavache.Http's registrations
resolver.Register(() => resolver.GetService<ISuspensionHost>().ShouldPersistState,
typeof(IObservable<IDisposable>), "ShouldPersistState");
resolver.Register(() => resolver.GetService<ISuspensionHost>().IsUnpausing,
typeof(IObservable<Unit>), "IsUnpausing");
}
}
}