package io.hefuyi.zhihudaily.injector.module;
import dagger.Module;
import dagger.Provides;
import io.hefuyi.zhihudaily.mvp.contract.DailyStoryContract;
import io.hefuyi.zhihudaily.mvp.presenter.DailyStoryPresenter;
import io.hefuyi.zhihudaily.domain.FetchBeforeDailyStoriesUsecase;
import io.hefuyi.zhihudaily.domain.FetchLatestDailyStoriesUsecase;
import io.hefuyi.zhihudaily.respository.interfaces.Repository;
/**
* Created by hefuyi on 16/8/22.
*/
@Module
public class DailyStoryModule {
@Provides
public FetchLatestDailyStoriesUsecase getLatestDailyStoriesUsecase(Repository repository) {
return new FetchLatestDailyStoriesUsecase(repository);
}
@Provides
public FetchBeforeDailyStoriesUsecase getBeforeDailyStoriesUsecase(Repository repository) {
return new FetchBeforeDailyStoriesUsecase(repository);
}
@Provides
public DailyStoryContract.Presenter getDailyStoryPresenter(FetchLatestDailyStoriesUsecase latestDailyStoriesUsecase,
FetchBeforeDailyStoriesUsecase beforeDailyStoriesUsecase) {
return new DailyStoryPresenter(latestDailyStoriesUsecase, beforeDailyStoriesUsecase);
}
}