package kr.co.hanwha.hifive.data.source.contract;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

import kr.co.hanwha.hifive.base.BaseDataSource;
import kr.co.hanwha.hifive.data.model.SearchIntegrationData;
import kr.co.hanwha.hifive.data.model.SearchTagData;
import kr.co.hanwha.hifive.network.hanwha.HanwhaNetworkCallback;

public interface SearchDataSource extends BaseDataSource {
    /**
     * Task 검색(태그)
     *
     * @param context   Context
     * @param searchTag 태그(검색어)
     * @param callback  콜백
     */
    void requestSearchTaskByTag(@NonNull Context context,
                                @NonNull String searchTag,
                                @Nullable HanwhaNetworkCallback<SearchTagData> callback);

    /**
     * 통합 검색(멤버/Task/유닛 검색)
     *
     * @param context   Context
     * @param searchText 검색어
     * @param callback  콜백
     */
    void requestSearchIntegrationByText(@NonNull Context context,
        @NonNull String searchText,
        @Nullable HanwhaNetworkCallback<SearchIntegrationData> callback);

}
