61 lines
1.6 KiB
Java
61 lines
1.6 KiB
Java
package org.mercury_im.messenger.data.di;
|
|
|
|
import org.mercury_im.messenger.data.mapping.AccountMapping;
|
|
import org.mercury_im.messenger.data.mapping.DirectChatMapping;
|
|
import org.mercury_im.messenger.data.mapping.GroupChatMapping;
|
|
import org.mercury_im.messenger.data.mapping.MessageContentMapping;
|
|
import org.mercury_im.messenger.data.mapping.MessageMapping;
|
|
import org.mercury_im.messenger.data.mapping.MessagePayloadMapping;
|
|
import org.mercury_im.messenger.data.mapping.PeerMapping;
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
import dagger.Module;
|
|
import dagger.Provides;
|
|
|
|
@Module
|
|
public class MappingModule {
|
|
|
|
@Provides
|
|
@Singleton
|
|
static AccountMapping provideAccountMapping() {
|
|
return new AccountMapping();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static PeerMapping providePeerMapping() {
|
|
return new PeerMapping(provideAccountMapping());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static DirectChatMapping provideDirectChatMapping() {
|
|
return new DirectChatMapping(providePeerMapping());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static GroupChatMapping provideGroupChatMapping() {
|
|
return new GroupChatMapping(provideAccountMapping());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static MessageMapping provideMessageMapping() {
|
|
return new MessageMapping(provideMessagePayloadMapping());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static MessagePayloadMapping provideMessagePayloadMapping() {
|
|
return new MessagePayloadMapping(provideMessageContentMapping());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static MessageContentMapping provideMessageContentMapping() {
|
|
return new MessageContentMapping();
|
|
}
|
|
}
|