//
//  KGIdpProfile.h
//  KakaoGame SDK
//
//  Created by Ronaldo Kim on 2016. 9. 19..
//  Copyright (c) 2016. Kakao Corp. All rights reserved.
//

#import <KakaoGame/KGObject.h>

/**
 * @brief IDP 코드를 위한 Enum.
 */
typedef NS_ENUM(NSInteger, KGIdpCode)
{
    KGIdpCodeGuest,             /**< 게스트. */
    KGIdpCodeKakao,             /**< 카카오. */
    KGIdpCodeFacebook,          /**< 페이스북. */
    KGIdpCodeGoogle,            /**< 구글. */
    KGIdpCodeAppleGameCenter,   /**< 애플 게임 센터. */
	KGIdpCodeSigninWithApple,	/**< Signin With Apple. */
	KGIdpCodeGamania,			/**< Gamania. */
	KGIdpCodeTwitter			/**< Twitter.*/
};

/**
 * @brief KGIdpProfile클래스는 IDP 프로필 정보를 다룬다.
 */
@interface KGIdpProfile : KGObject

/**
 * @brief IDP 코드.(읽기만 가능)
 *
 * @see KGIdpCode
 */
@property (atomic, readonly) KGIdpCode      idpCode;

/**
 * @brief IDP 사용자 아이디.(읽기만 가능)
 */
@property (atomic, readonly) NSString*      idpUserId;

/**
 * @brief IDP 어세스 토큰.(읽기만 가능)
 */
@property (atomic, readonly) NSString*      idpAccessToken;

/**
 * @brief 로컬(자신의) IDP 프로필 정보를 갱신합니다.
 *
 * @param completionHandler 완료 핸들러 [error:갱신 결과].
 */
+ (void)refreshLocalIdpProfileWithCompletionHandler:(void(^)(NSError *error))completionHandler;

@end
