1package eu.siacs.conversations.xmpp;
2
3import com.google.common.collect.ClassToInstanceMap;
4import com.google.common.collect.ImmutableClassToInstanceMap;
5import eu.siacs.conversations.services.XmppConnectionService;
6import eu.siacs.conversations.xmpp.manager.AbstractManager;
7import eu.siacs.conversations.xmpp.manager.AvatarManager;
8import eu.siacs.conversations.xmpp.manager.AxolotlManager;
9import eu.siacs.conversations.xmpp.manager.BlockingManager;
10import eu.siacs.conversations.xmpp.manager.BookmarkManager;
11import eu.siacs.conversations.xmpp.manager.CarbonsManager;
12import eu.siacs.conversations.xmpp.manager.DiscoManager;
13import eu.siacs.conversations.xmpp.manager.EntityTimeManager;
14import eu.siacs.conversations.xmpp.manager.LegacyBookmarkManager;
15import eu.siacs.conversations.xmpp.manager.MessageDisplayedSynchronizationManager;
16import eu.siacs.conversations.xmpp.manager.NickManager;
17import eu.siacs.conversations.xmpp.manager.PepManager;
18import eu.siacs.conversations.xmpp.manager.PingManager;
19import eu.siacs.conversations.xmpp.manager.PresenceManager;
20import eu.siacs.conversations.xmpp.manager.PrivateStorageManager;
21import eu.siacs.conversations.xmpp.manager.PubSubManager;
22import eu.siacs.conversations.xmpp.manager.RosterManager;
23import eu.siacs.conversations.xmpp.manager.UnifiedPushManager;
24
25public class Managers {
26
27 private Managers() {
28 throw new AssertionError("Do not instantiate me");
29 }
30
31 public static ClassToInstanceMap<AbstractManager> get(
32 final XmppConnectionService context, final XmppConnection connection) {
33 return new ImmutableClassToInstanceMap.Builder<AbstractManager>()
34 .put(AvatarManager.class, new AvatarManager(context, connection))
35 .put(AxolotlManager.class, new AxolotlManager(context, connection))
36 .put(BlockingManager.class, new BlockingManager(context, connection))
37 .put(BookmarkManager.class, new BookmarkManager(context, connection))
38 .put(CarbonsManager.class, new CarbonsManager(context, connection))
39 .put(DiscoManager.class, new DiscoManager(context, connection))
40 .put(EntityTimeManager.class, new EntityTimeManager(context, connection))
41 .put(LegacyBookmarkManager.class, new LegacyBookmarkManager(context, connection))
42 .put(
43 MessageDisplayedSynchronizationManager.class,
44 new MessageDisplayedSynchronizationManager(context, connection))
45 .put(NickManager.class, new NickManager(context, connection))
46 .put(PepManager.class, new PepManager(context, connection))
47 .put(PingManager.class, new PingManager(context, connection))
48 .put(PresenceManager.class, new PresenceManager(context, connection))
49 .put(PrivateStorageManager.class, new PrivateStorageManager(context, connection))
50 .put(PubSubManager.class, new PubSubManager(context, connection))
51 .put(RosterManager.class, new RosterManager(context, connection))
52 .put(UnifiedPushManager.class, new UnifiedPushManager(context, connection))
53 .build();
54 }
55}