package com.adealink.weparty.module.call

import com.adealink.frame.media.IMediaOperatorGet
import com.adealink.frame.startup.IAppStartUpTask
import com.adealink.weparty.aab.IService
import com.adealink.weparty.commonui.widget.floatview.data.IFloatData
import com.adealink.weparty.commonui.widget.floatview.view.BaseFloatView

interface ICallService : IService<ICallService>, IMediaOperatorGet, IAppStartUpTask {

    fun call(
        uid: String,
        onSuccess: (() -> Unit)? = null,
        onFail: ((errCode: Int, errMsg: String?) -> Unit)? = null
    )

//    fun getIncomingFloatView(data: IFloatData): BaseFloatView<out IFloatData>?
//
    fun getCallingFloatView(data: IFloatData): BaseFloatView<out IFloatData>?
//
//    fun getCallViewModel(owner: ViewModelStoreOwner): ICallViewModel?

}