package br.com.edsilfer.android.presence_control.core.di

import br.com.edsilfer.android.presence_control.activity.presentation.view.ActivityListView
import br.com.edsilfer.android.presence_control.commons.layout.searchbar.presentation.view.SearchBarView
import br.com.edsilfer.android.presence_control.core.services.geofence.GeofenceMonitor
import br.com.edsilfer.android.presence_control.user.presentation.view.LoginView
import br.com.edsilfer.android.presence_control.main.presentation.view.MainActivity
import br.com.edsilfer.android.presence_control.place.presentation.view.PlaceAddView
import br.com.edsilfer.android.presence_control.place.presentation.view.PlaceListView
import dagger.Component
import br.com.edsilfer.android.presence_control.place.presentation.view.PlaceSettingsView
import br.com.edsilfer.android.presence_control.place.presentation.view.PlaceSummaryView
import javax.inject.Singleton

/**
 * Created by ferna on 5/14/2017.
 */
@Singleton
@Component(modules = arrayOf(MainModule::class))
interface MainComponent {

    fun inject(loginActivity: LoginView)

    fun inject(mainActivity: MainActivity)

    fun inject(addPlaceActivity: PlaceAddView)

    fun inject(searchBar: SearchBarView)

    fun inject(myPlacesFragment: PlaceListView)

    fun inject(placeCardConfiguration: PlaceSettingsView)

    fun inject(lastActivityFragment: ActivityListView)

    fun inject(geofenceMonitor: GeofenceMonitor)

    fun inject(placeSummaryView: PlaceSummaryView)
}