68 lines
2.6 KiB
Java
68 lines
2.6 KiB
Java
package org.mercury_im.messenger.persistence.room;
|
|
|
|
import org.mercury_im.messenger.persistence.repository.AccountRepository;
|
|
import org.mercury_im.messenger.persistence.repository.AvatarRepository;
|
|
import org.mercury_im.messenger.persistence.repository.ChatRepository;
|
|
import org.mercury_im.messenger.persistence.repository.EntityCapsRepository;
|
|
import org.mercury_im.messenger.persistence.repository.MessageRepository;
|
|
import org.mercury_im.messenger.persistence.repository.RosterRepository;
|
|
import org.mercury_im.messenger.persistence.room.dao.AccountDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.AvatarDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.ChatDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.ContactDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.EntityCapsDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.EntityDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.MessageDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.RosterInformationDao;
|
|
import org.mercury_im.messenger.persistence.room.repository.IAccountRepository;
|
|
import org.mercury_im.messenger.persistence.room.repository.IAvatarRepository;
|
|
import org.mercury_im.messenger.persistence.room.repository.IChatRepository;
|
|
import org.mercury_im.messenger.persistence.room.repository.IEntityCapsRepository;
|
|
import org.mercury_im.messenger.persistence.room.repository.IMessageRepository;
|
|
import org.mercury_im.messenger.persistence.room.repository.IRosterRepository;
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
import dagger.Module;
|
|
import dagger.Provides;
|
|
|
|
@Module
|
|
public class RoomRepositoryModule {
|
|
|
|
@Singleton
|
|
@Provides
|
|
AccountRepository provideAccountRepository(AccountDao dao) {
|
|
return new IAccountRepository(dao);
|
|
}
|
|
|
|
@Singleton
|
|
@Provides
|
|
ChatRepository provideChatRepository(ChatDao chatDao, RosterRepository rosterRepository) {
|
|
return new IChatRepository(chatDao, rosterRepository);
|
|
}
|
|
|
|
@Singleton
|
|
@Provides
|
|
MessageRepository provideMessageRepository(MessageDao dao) {
|
|
return new IMessageRepository(dao);
|
|
}
|
|
|
|
@Singleton
|
|
@Provides
|
|
RosterRepository provideContactRepository(EntityDao entityDao, ContactDao contactDao, RosterInformationDao rosterInformationDao) {
|
|
return new IRosterRepository(entityDao, contactDao, rosterInformationDao);
|
|
}
|
|
|
|
@Singleton
|
|
@Provides
|
|
AvatarRepository provideAvatarRepository(AvatarDao avatarDao) {
|
|
return new IAvatarRepository(avatarDao);
|
|
}
|
|
|
|
@Singleton
|
|
@Provides
|
|
EntityCapsRepository providerEntityCapsRepository(EntityCapsDao entityCapsDao) {
|
|
return new IEntityCapsRepository(entityCapsDao);
|
|
}
|
|
}
|