mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-06-16 16:44:51 +02:00
39 lines
1.4 KiB
Java
39 lines
1.4 KiB
Java
package org.mercury_im.messenger.core.di;
|
|
|
|
import org.mercury_im.messenger.core.NotificationManager;
|
|
import org.mercury_im.messenger.core.centers.ConnectionCenter;
|
|
import org.mercury_im.messenger.core.stores.EntityCapsStore;
|
|
import org.mercury_im.messenger.core.stores.PlainMessageStore;
|
|
import org.mercury_im.messenger.persistence.repository.AccountRepository;
|
|
import org.mercury_im.messenger.persistence.repository.MessageRepository;
|
|
import org.mercury_im.messenger.persistence.repository.RosterRepository;
|
|
import org.mercury_im.messenger.persistence.repository.EntityCapsRepository;
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
import dagger.Module;
|
|
import dagger.Provides;
|
|
|
|
@Module
|
|
public class CenterModule {
|
|
|
|
@Singleton
|
|
@Provides
|
|
static ConnectionCenter provideConnectionCenter(EntityCapsStore capsStore, PlainMessageStore messageStore, AccountRepository accountRepository, RosterRepository rosterRepository) {
|
|
return new ConnectionCenter(capsStore, messageStore, accountRepository, rosterRepository);
|
|
}
|
|
|
|
@Singleton
|
|
@Provides
|
|
static EntityCapsStore providerEntityCapsStore(EntityCapsRepository capsRepository) {
|
|
return new EntityCapsStore(capsRepository);
|
|
}
|
|
|
|
@Singleton
|
|
@Provides
|
|
static PlainMessageStore provideMessageStore(MessageRepository messageRepository, NotificationManager notificationManager) {
|
|
return new PlainMessageStore(messageRepository, notificationManager);
|
|
}
|
|
|
|
}
|