Mercury-IM/data/src/main/java/org/mercury_im/messenger/data/di/MappingModule.java

68 lines
1.8 KiB
Java
Raw Normal View History

2019-11-23 21:16:03 +01:00
package org.mercury_im.messenger.data.di;
import org.mercury_im.messenger.data.mapping.AccountMapping;
import org.mercury_im.messenger.data.mapping.DirectChatMapping;
2020-01-06 03:41:37 +01:00
import org.mercury_im.messenger.data.mapping.EntityCapsMapping;
2019-12-01 23:13:25 +01:00
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;
2019-11-23 21:16:03 +01:00
import org.mercury_im.messenger.data.mapping.PeerMapping;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
@Module
public class MappingModule {
@Provides
@Singleton
2019-12-01 23:13:25 +01:00
static AccountMapping provideAccountMapping() {
2019-11-23 21:16:03 +01:00
return new AccountMapping();
}
@Provides
@Singleton
2019-12-01 23:13:25 +01:00
static PeerMapping providePeerMapping() {
return new PeerMapping(provideAccountMapping());
2019-11-23 21:16:03 +01:00
}
2019-12-01 23:13:25 +01:00
@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());
2019-12-01 23:13:25 +01:00
}
@Provides
@Singleton
static MessagePayloadMapping provideMessageContentMapping() {
return new MessagePayloadMapping();
2019-11-23 21:16:03 +01:00
}
2020-01-06 03:41:37 +01:00
@Provides
@Singleton
static EntityCapsMapping provideEntityCapsMapping() {
return new EntityCapsMapping();
}
2019-11-23 21:16:03 +01:00
}