package cn.yyxx.commsdk.base.internal.feature;

import android.app.Activity;
import android.content.Context;

import org.json.JSONObject;

import cn.yyxx.commsdk.base.entity.SdkChargeInfo;
import cn.yyxx.commsdk.base.entity.SdkRoleInfo;
import cn.yyxx.commsdk.base.entity.bean.InitBean;
import cn.yyxx.commsdk.base.internal.ICallback;
import cn.yyxx.commsdk.base.internal.IMsaDeviceCallback;

/**
 * @author #Suyghur.
 * Created on 2021/12/26
 */
public interface IFeature {

    void initialize(Activity activity, ICallback callback);

    void initializeSuccess(Activity activity, int loginStatus);

    void setLogoutListener(Activity activity,ICallback callback);

    void login(Activity activity, InitBean initBean, ICallback callback);

    void logout();

    boolean hasExitView(Activity activity);

    void openExitView(Activity activity, ICallback callback);

    void uploadRoleInfo(Activity activity, String type, SdkRoleInfo roleInfo);

    void reportGameEvent(String event, JSONObject message);

    void initMsaDeviceIds(Context context, final IMsaDeviceCallback iMsaDeviceCallback);

    String getChannelOcfg(Activity activity);



}
