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

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

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

/**
 * Created by sanghoonkwon on 2018. 1. 11..
 */

public interface MemberDataSource extends BaseDataSource {
    /**
     * 암호화된 멤버 고유번호
     *
     * @return String
     */
    String getEncryptionMemberId();

    /**
     * 멤버 고유 번호
     *
     * @return Integer
     */
    int getMemberId();

    /**
     * 멤버 이름
     *
     * @return String
     */
    String getMemberName();

    /**
     * 계정 로그인
     *
     * @param context   Context
     * @param member_id 멤버계정
     * @param password  패스워드
     * @param callback  콜백
     */
    void doLogin(@NonNull Context context, @NonNull String member_id, @NonNull String password,
                 @NonNull HanwhaNetworkCallback<LoginData> callback);

    /**
     * 간편 로그인
     *
     * @param context  Context
     * @param login_id 로그인 ID
     * @param authcode 간편 로그인 패스워드
     * @param callback 콜백
     */
    void doSimpleLogin(@NonNull Context context, @NonNull String login_id,
                       @NonNull String authcode,
                       @NonNull HanwhaNetworkCallback callback);

}
