package cn.yyxx.eyuancomm.base.internal.feature

import android.app.Activity
import cn.yyxx.eyuancomm.base.entity.SdkChargeInfo

/**
 * @author #Suyghur.
 * Created on 2022/01/17
 */
interface IFeature {

    fun initialize(activity: Activity, isLandscape: Boolean, callback: (Int, String) -> Unit)

    fun login(activity: Activity, callback: (Int, String) -> Unit)

    fun logout(activity: Activity, callback: (Int, String) -> Unit)

    fun charge(activity: Activity, chargeInfo: SdkChargeInfo, isIab: Boolean, callback: (Int, String) -> Unit)

    fun hasExitView(activity: Activity): Boolean

    fun openExitView(activity: Activity, callback: (Int, String) -> Unit)

    fun onDestroy(activity: Activity)

    fun getUserId(): String

    fun getChannelVersion(): String

    fun getChannelName(): String
}