001package com.gigya.android.sdk.api; 002 003import android.support.annotation.NonNull; 004 005import com.gigya.android.sdk.GigyaCallback; 006import com.gigya.android.sdk.GigyaDefinitions; 007import com.gigya.android.sdk.GigyaLoginCallback; 008import com.gigya.android.sdk.interruption.tfa.models.TFAProvidersModel; 009import com.gigya.android.sdk.providers.IProviderPermissionsCallback; 010 011import java.util.Map; 012 013public interface IBusinessApiService<A> { 014 015 <V> void send(String api, Map<String, Object> params, int requestMethod, Class<V> clazz, GigyaCallback<V> gigyaCallback); 016 017 void logout(final GigyaCallback<GigyaApiResponse> gigyaCallback); 018 019 void login(Map<String, Object> params, final GigyaLoginCallback<A> loginCallback); 020 021 void login(@GigyaDefinitions.Providers.SocialProvider String socialProvider, Map<String, Object> params, final GigyaLoginCallback<A> gigyaLoginCallback); 022 023 void verifyLogin(String UID, final GigyaCallback<A> gigyaCallback); 024 025 void notifyNativeSocialLogin(Map<String, Object> params, final GigyaLoginCallback<A> loginCallback, final Runnable optionalCompletionHandler); 026 027 void finalizeRegistration(Map<String, Object> params, final GigyaLoginCallback<A> loginCallback); 028 029 void register(final Map<String, Object> params, final GigyaLoginCallback<A> loginCallback); 030 031 void getAccount(final GigyaCallback<A> gigyaCallback); 032 033 void getAccount(final Map<String, Object> params, final GigyaCallback<A> gigyaCallback); 034 035 void getAccount(@NonNull final String[] include, @NonNull final String[] profileExtraFields, GigyaCallback<A> gigyaCallback); 036 037 void setAccount(A updatedAccount, final GigyaCallback<A> gigyaCallback); 038 039 void setAccount(final Map<String, Object> params, final GigyaCallback<A> gigyaCallback); 040 041 void refreshNativeProviderSession(Map<String, Object> params, final IProviderPermissionsCallback providerPermissionsCallback); 042 043 void forgotPassword(Map<String, Object> params, final GigyaCallback<GigyaApiResponse> callback); 044 045 void addConnection(@GigyaDefinitions.Providers.SocialProvider String socialProvider, final GigyaLoginCallback<A> gigyaLoginCallback); 046 047 void removeConnection(@GigyaDefinitions.Providers.SocialProvider String socialProvider, GigyaCallback<GigyaApiResponse> gigyaCallback); 048 049 void getConflictingAccounts(final String regToken, final GigyaCallback<GigyaApiResponse> callback); 050 051 void getTFAProviders(final String regToken, final GigyaCallback<TFAProvidersModel> callback); 052 053 void updateDevice(@NonNull String pushToken, @NonNull final GigyaCallback<GigyaApiResponse> gigyaCallback); 054}