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

## Interface MemberDataSource

- All Superinterfaces:
    BaseDataSource
  All Known Implementing Classes:
    MemberDataRepository

      public interface MemberDataSource
      extends BaseDataSource

  Created by sanghoonkwon on 2018. 1. 11..

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `checkProjectId(int project_id)` 내가 속한 프로젝트인지 확인
    `void` | `doAccountLogin(android.content.Context context, java.lang.String member_id, java.lang.String password, HanwhaNetworkCallback<LoginData> callback)` 계정 로그인
    `void` | `doSimpleLogin(android.content.Context context, java.lang.String login_id, java.lang.String authcode, HanwhaNetworkCallback callback)` 간편 로그인
    `void` | `doSuccessLogin(android.content.Context context, LoginData response, HanwhaNetworkCallback<LoginData> callback)` 로그인 성공 후 처리 -> 기기등록
    `java.util.ArrayList<ProjectInfoData>` | `getCaptainProjectInfo()` 캡틴인 프로젝트 정보
    `java.lang.String` | `getEncryptionMemberId()` 암호화된 멤버 고유번호
    `int` | `getMemberId()` 멤버 고유 번호
    `java.lang.String` | `getMemberName()` 멤버 이름
    `java.util.ArrayList<java.lang.Integer>` | `getMyProjectList()` 내가 속한 프로젝트 ID 목록
    `void` | `getNotificationStatus(android.content.Context context, HanwhaNetworkCallback<CrudDataRoot> callback)`
    `boolean` | `isCaptain()` 소속된 프로젝트중 캡틴인 프로젝트가 있는지 확인
    `boolean` | `isMember(int member_id)` 멤버 아이디 비교
    `void` | `setNotificationStatus(android.content.Context context, boolean onoff, HanwhaNetworkCallback<CrudDataRoot> callback)`
    `void` | `updateAuthcode(android.content.Context context, java.lang.String authcode, HanwhaNetworkCallback callback)` 간편 로그인 설정
    `void` | `updateDeviceToken(android.content.Context context, java.lang.String token, java.lang.String device_uid, HanwhaNetworkCallback callback)` 토큰 등록

    - ### Methods inherited from interface kr.co.hanwha.hifive.base.BaseDataSource

      `clearData`

- - ### Method Detail

    - #### getEncryptionMemberId

          java.lang.String getEncryptionMemberId()

      암호화된 멤버 고유번호
      Returns:
        String

    - #### isMember

          boolean isMember(int member_id)

      멤버 아이디 비교
      Parameters:
        `member_id` - 멤버 고유 번호
      Returns:
        Boolean

    - #### getMemberId

          int getMemberId()

      멤버 고유 번호
      Returns:
        Integer

    - #### getMemberName

          java.lang.String getMemberName()

      멤버 이름
      Returns:
        String

    - #### checkProjectId

          boolean checkProjectId(@NonNull
                                 int project_id)

      내가 속한 프로젝트인지 확인
      Parameters:
        `project_id` - 프로젝트 ID
      Returns:
        Boolean

    - #### isCaptain

          boolean isCaptain()

      소속된 프로젝트중 캡틴인 프로젝트가 있는지 확인
      Returns:
        Boolean

    - #### getCaptainProjectInfo

          java.util.ArrayList<ProjectInfoData> getCaptainProjectInfo()

      캡틴인 프로젝트 정보
      Returns:
        Array

    - #### getMyProjectList

          java.util.ArrayList<java.lang.Integer> getMyProjectList()

      내가 속한 프로젝트 ID 목록
      Returns:
        ArrayList

    - #### doAccountLogin

          void doAccountLogin(@NonNull
                              android.content.Context context,
                              @NonNull
                              java.lang.String member_id,
                              @NonNull
                              java.lang.String password,
                              @NonNull
                              HanwhaNetworkCallback<LoginData> callback)

      계정 로그인
      Parameters:
        `context` - Context
        `member_id` - 멤버계정
        `password` - 패스워드
        `callback` - 콜백

    - #### doSimpleLogin

          void doSimpleLogin(@NonNull
                             android.content.Context context,
                             @NonNull
                             java.lang.String login_id,
                             @NonNull
                             java.lang.String authcode,
                             @NonNull
                             HanwhaNetworkCallback callback)

      간편 로그인
      Parameters:
        `context` - Context
        `login_id` - 로그인 ID
        `authcode` - 간편 로그인 패스워드
        `callback` - 콜백

    - #### doSuccessLogin

          void doSuccessLogin(@NonNull
                              android.content.Context context,
                              @Nullable
                              LoginData response,
                              @NonNull
                              HanwhaNetworkCallback<LoginData> callback)

      로그인 성공 후 처리 -> 기기등록
      Parameters:
        `context` - Context
        `response` - LoginData
        `callback` - 콜백

    - #### updateAuthcode

          void updateAuthcode(@NonNull
                              android.content.Context context,
                              @NonNull
                              java.lang.String authcode,
                              @NonNull
                              HanwhaNetworkCallback callback)

      간편 로그인 설정
      Parameters:
        `context` - Context
        `authcode` - 간편 로그인 비밀번호(6자리 숫자)
        `callback` - 콜백

    - #### updateDeviceToken

          void updateDeviceToken(@NonNull
                                 android.content.Context context,
                                 @NonNull
                                 java.lang.String token,
                                 @NonNull
                                 java.lang.String device_uid,
                                 @NonNull
                                 HanwhaNetworkCallback callback)

      토큰 등록
      Parameters:
        `context` - Context
        `token` - 푸쉬 토큰
        `device_uid` - 디바이스 UUID
        `callback` - 콜백

    - #### getNotificationStatus

          void getNotificationStatus(@NonNull
                                     android.content.Context context,
                                     @NonNull
                                     HanwhaNetworkCallback<CrudDataRoot> callback)

      Parameters:
        `context` - Context
        `callback` - 콜백

    - #### setNotificationStatus

          void setNotificationStatus(@NonNull
                                     android.content.Context context,
                                     @NonNull
                                     boolean onoff,
                                     @NonNull
                                     HanwhaNetworkCallback<CrudDataRoot> callback)

      Parameters:
        `context` - Context
        `onoff` - 알림 On / Off
        `callback` - 콜백