|
@@ -1,26 +1,18 @@
|
|
|
package im.angry.openeuicc.core
|
|
package im.angry.openeuicc.core
|
|
|
|
|
|
|
|
import im.angry.openeuicc.util.*
|
|
import im.angry.openeuicc.util.*
|
|
|
-import kotlinx.coroutines.flow.Flow
|
|
|
|
|
-import net.typeblog.lpac_jni.ApduInterface
|
|
|
|
|
import net.typeblog.lpac_jni.LocalProfileAssistant
|
|
import net.typeblog.lpac_jni.LocalProfileAssistant
|
|
|
-import net.typeblog.lpac_jni.impl.HttpInterfaceImpl
|
|
|
|
|
-import net.typeblog.lpac_jni.impl.LocalProfileAssistantImpl
|
|
|
|
|
|
|
|
|
|
-class EuiccChannel(
|
|
|
|
|
- val port: UiccPortInfoCompat,
|
|
|
|
|
- apduInterface: ApduInterface,
|
|
|
|
|
- verboseLoggingFlow: Flow<Boolean>
|
|
|
|
|
-) {
|
|
|
|
|
- val slotId = port.card.physicalSlotIndex // PHYSICAL slot
|
|
|
|
|
- val logicalSlotId = port.logicalSlotIndex
|
|
|
|
|
- val portId = port.portIndex
|
|
|
|
|
|
|
+interface EuiccChannel {
|
|
|
|
|
+ val port: UiccPortInfoCompat
|
|
|
|
|
|
|
|
- val lpa: LocalProfileAssistant =
|
|
|
|
|
- LocalProfileAssistantImpl(apduInterface, HttpInterfaceImpl(verboseLoggingFlow))
|
|
|
|
|
|
|
+ val slotId: Int // PHYSICAL slot
|
|
|
|
|
+ val logicalSlotId: Int
|
|
|
|
|
+ val portId: Int
|
|
|
|
|
+
|
|
|
|
|
+ val lpa: LocalProfileAssistant
|
|
|
|
|
|
|
|
val valid: Boolean
|
|
val valid: Boolean
|
|
|
- get() = lpa.valid
|
|
|
|
|
|
|
|
|
|
- fun close() = lpa.close()
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ fun close()
|
|
|
|
|
+}
|