68 lines
1.8 KiB
Java
68 lines
1.8 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.EntityCapsMapping;
|
|
import org.mercury_im.messenger.data.mapping.GroupChatMapping;
|
|
import org.mercury_im.messenger.data.mapping.MessagePayloadMapping;
|
|
import org.mercury_im.messenger.data.mapping.MessageMapping;
|
|
import org.mercury_im.messenger.data.mapping.MessagePayloadContainerMapping;
|
|
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 MessagePayloadContainerMapping provideMessagePayloadMapping() {
|
|
return new MessagePayloadContainerMapping(provideMessageContentMapping());
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static MessagePayloadMapping provideMessageContentMapping() {
|
|
return new MessagePayloadMapping();
|
|
}
|
|
|
|
@Provides
|
|
@Singleton
|
|
static EntityCapsMapping provideEntityCapsMapping() {
|
|
return new EntityCapsMapping();
|
|
}
|
|
}
|