package kr.co.hanwha.hifive.screen.main.setting;

import android.support.annotation.NonNull;

import kr.co.hanwha.hifive.base.BasePresenter;
import kr.co.hanwha.hifive.base.BaseView;
import kr.co.hanwha.hifive.data.model.LoginData;

public interface MainSettingContract {
    interface View extends BaseView<Presenter> {
        /**
         * 멤버 기본 정보
         *
         * @param loginData 로그인시 얻은 정보
         */
        void setMemberInfo(@NonNull LoginData loginData);

        /**
         * 기본 화면
         */
        void setDefaultScreen();

        /**
         * 알림 설정
         */
        void setAlarmSetting(boolean isSelected);

        /**
         * 버전 정보
         */
        void setVersion();
    }

    interface Presenter extends BasePresenter {
        /**
         * Initialize Data
         */
        void initData();

        /**
         * 계정 비밀번호 변경
         */
        void doPasswordManagement();

        /**
         * 간편 비밀번호 초기화
         */
        void doSimplePasswordManagement();

        /**
         * 유닛 관리
         *
         * @param projectId 유닛 ID
         */
        void doUnitManagement(@NonNull int projectId);

        /**
         * 알림 설정
         *
         * @param isSelected On / Off
         */
        void setAlarmSetting(boolean isSelected);

        /**
         * 업데이트
         */
        void doUpdate();
    }
}
