using Assets.Scripts.Ble; using Assets.Scripts.Ble.Scan; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Assets.Scripts.Devices.Ble.Interfaces { public interface IBleWinHwInterface { void StartScan(Action discoveredCallBack); void ConnectPeripheral(BlePeripheralInfo info, Action callback); void DisconnectPeripheral(BlePeripheralInfo peripheral, Action callback); void DiscoverServices(BlePeripheralInfo peripheral, Action>> callback); void DiscoverCharacteristic(BleServiceInfo service, CharacteristicsDiscoveredCallback callback); void SubscribeCharacteristic(BleCharacteristicInfo characteristic, Action callback); void WriteCharacteristic(BleCharacteristicInfo characteristic, byte[] data); void ReadCharacteristic(BleCharacteristicInfo characteristic, CharacteristicReadCallback callback); void Dispose(); BleState BleState { get; set; } Dictionary pCache { get; set; } event BluetoothStateChangedCallback BluetoothStateChangedEvent; event CharacteristicReadCallback CharacteristicReadEvent; event PeripheralDisconnectedCallback PeripheralDisconnectedEvent; } }