#import "StoveSDKNativeInterface.h"

#ifndef AuthNativeInterface_h
#define AuthNativeInterface_h

#if __cplusplus
STOVE_SDK_EXTERNC
{
#endif /* __cplusplus */

    void stove_auth_initialize(const char *identifier);
    void stove_auth_initialize_version(const char *version, const char *identifier);
    void stove_auth_login(const char *providerClassName, const char *identifier);
    void stove_auth_loginGeneric(const char *providerClassName, const char *userDicString, const char *identifier);
    void stove_auth_loginGeneral(const char *providerClassName, const char *jsonString, const char *identifier);
    void stove_auth_register(const char *providerClassName, const char *termsOfServiceDataListString, const char *identifier);
    void stove_auth_registerGeneric(const char *providerClassName, const char *userDicString, const char *termsOfServiceDataListString, const char *identifier);
    void stove_auth_logout();
    const char *stove_auth_accessToken();
    void stove_auth_setAccessToken(const char *accessTokenString);
    void stove_auth_fetch(const char *identifier);
    void stove_auth_fetchForRegister(const char *identifier);
    void stove_auth_save(const char *termsOfServiceDataListString, const char *identifier);
    void stove_auth_refresh(const char *identifier);
    void stove_auth_link(const char *providerClassName, const char *identifier);
    void stove_auth_linkGeneric(const char *providerClassName, const char *userDicString, const char *identifier);
    void stove_auth_linkGeneral(const char *providerClassName, const char *jsonString, const char *identifier);
    void stove_auth_fetchOperation(const char *identifier);
    void stove_auth_setGameProfile(const char *gameProfile);
    void stove_auth_setGameProfileProperties(const char *properties);
    const char *stove_auth_version();
    bool stove_auth_is_main(const char *providerCode);
    void stove_auth_setPlaytimeListener(const char *identifier);
#if __cplusplus
}
#endif /* __cplusplus */

#endif /* AuthNativeInterface_h */
