package com.narutohuo.xindazhou.nfc.api

import android.app.Activity
import com.narutohuo.xindazhou.nfc.model.NFCResponse

/**
 * NFC服务接口
 * 
 * 提供NFC通信能力
 * 用于车钥匙等功能
 */
interface NFCService {
    
    /**
     * 初始化NFC服务
     * 
     * @param activity Activity上下文
     */
    fun initialize(activity: Activity)
    
    /**
     * 检查设备是否支持NFC
     * 
     * @return true表示支持，false表示不支持
     */
    fun isNFCSupported(): Boolean
    
    /**
     * 检查NFC是否已启用
     * 
     * @return true表示已启用，false表示未启用
     */
    fun isNFCEnabled(): Boolean
    
    /**
     * 启用NFC（跳转到系统设置）
     * 
     * @param activity Activity上下文
     */
    fun enableNFC(activity: Activity)
    
    /**
     * 读取NFC标签
     * 
     * @param callback 读取结果回调，返回NFCResponse
     */
    fun readTag(callback: (NFCResponse) -> Unit)
    
    /**
     * 写入NFC标签
     * 
     * @param data 要写入的数据
     * @param callback 写入结果回调，返回NFCResponse
     */
    fun writeTag(data: ByteArray, callback: (NFCResponse) -> Unit)
    
    /**
     * 设置NFC标签发现监听器
     * 
     * @param listener 标签发现回调
     */
    fun setTagDiscoveredListener(listener: (NFCResponse) -> Unit)
}

