001package com.gigya.android.sdk.providers.provider;
002
003import com.gigya.android.sdk.api.GigyaApiResponse;
004import com.gigya.android.sdk.session.SessionInfo;
005
006import java.util.Map;
007
008public interface IProvider {
009
010    String getName();
011
012    void login(Map<String, Object> loginParams, String loginMode);
013
014    void logout();
015
016    String getProviderSessions(String tokenOrCode, long expiration, String uid);
017
018    boolean supportsTokenTracking();
019
020    void trackTokenChange();
021
022    void setRegToken(String regToken);
023
024    // Action interfacing.
025
026    void onCanceled();
027
028    void onLoginSuccess(final Map<String, Object> loginParams, String providerSessions, String loginMode);
029
030    void onLoginSuccess(String providerName, SessionInfo sessionInfo);
031
032    void onLoginFailed(String error);
033
034    void onLoginFailed(GigyaApiResponse response);
035}