From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:50:43 +0800 Subject: [PATCH] Revert "1" --- HDL-ON_iOS/BlueWifi.cs | 269 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 196 insertions(+), 73 deletions(-) diff --git a/HDL-ON_iOS/BlueWifi.cs b/HDL-ON_iOS/BlueWifi.cs index d0a6ef1..aad7a0c 100644 --- a/HDL-ON_iOS/BlueWifi.cs +++ b/HDL-ON_iOS/BlueWifi.cs @@ -1,83 +1,206 @@ 锘縰sing System; -using HdlBluWi; +using CoreBluetooth; using Foundation; +using HdlBlufi; + namespace HDL_ON { - public class BlueWifi + public class MyBlufiClient { - public BlueWifi() + + HdlBluWi share; + + BlufiClient blufiClient; + + public new BlueWifiDelegate BlufiDelegate; + public MyBlufiClient() { - //BlufiDelegate + SetBlufiDeviceDelegate(null); + + share = HdlBluWi.Share(); + + + blufiClient = new BlufiClient(); + + blufiClient.CentralManagerDelete = new BlueCBCentralManagerDelegate(); + blufiClient.BlufiDelegate = new BlueWifiDelegate(blufiClient); + } + + //public string GetPer() + //{ + //share. + //} + + + /// <summary> + /// 鎼滅储鍒拌摑鐗欒澶囦箣鍚庡埌浠g悊浜嬩欢 + /// </summary> + FBYBleDeviceBackBlock getBlufiDeviceDelegate; + /// <summary> + /// 璁惧鎼滅储鍒拌摑鐗欒澶囦箣鍚庡埌浠g悊浜嬩欢 + /// </summary> + public void SetBlufiDeviceDelegate(Action<string, string> action) + { + getBlufiDeviceDelegate = new FBYBleDeviceBackBlock((arg0) => + { + action?.Invoke(arg0.Name, arg0.Uuid.ToString()); + if (!string.IsNullOrEmpty(arg0.Name) && arg0.Name.Contains("BLU")) + { + Console.WriteLine($"{arg0.Name} : {arg0.Uuid}"); + } + }); + } + + /// <summary> + /// 鎼滅储钃濈墮璁惧 + /// </summary> + public void ScanBlufi() + { + share.StartScan(getBlufiDeviceDelegate); + } + /// <summary> + /// 鍋滄鎼滅储钃濈墮璁惧 + /// </summary> + public void StopScanBlufi() + { + share.StopScan(); + } + /// <summary> + /// 鍏抽棴 BlufiClient Close BlufiClient + /// 閲婃斁璧勬簮 + /// </summary> + public void CloseBlufiClient() + { + blufiClient.Close(); + } + + /// <summary> + /// 閾炬帴钃濈墮 + /// </summary> + public void ConnectionBlufi(string blufiId) + { + blufiClient.Connect(blufiId); + } + + + + /// <summary> + /// 鏂紑钃濈墮閾炬帴 + /// </summary> + public void CloseConnectionBlufi() + { + blufiClient.RequestCloseConnection(); + } + + /// <summary> + /// 鍙戦�佹暟鎹� + /// </summary> + public void SendMsg(string msg) + { + NSData vs = new NSData(); + vs = msg; + blufiClient.PostCustomData(vs); + } + + + + public class BlueWifiDelegate : BlufiDelegate + { + [Weak] BlufiClient _client; + public BlueWifiDelegate(BlufiClient client) + { + _client = client; + } + public BlueWifiDelegate() + { + } + + protected BlueWifiDelegate(NSObjectFlag t) : base(t) + { + } + + protected internal BlueWifiDelegate(IntPtr handle) : base(handle) + { + } + + public override void Blufi_didNegotiateSecurity(HdlBlufi.BlufiClient client, BlufiStatusCode status) + { + Console.WriteLine("Blufi_didNegotiateSecurity"); + //base.Blufi_didNegotiateSecurity(client, status); + } + + public override void Blufi_didPostCustomData(HdlBlufi.BlufiClient client, NSData data, BlufiStatusCode status) + { + if (status == BlufiStatusCode.Success) + { + MainPage.Log($"鍙戦�佽摑鐗欐暟鎹垚鍔�:{data.ToString()}"); + } + else + { + MainPage.Log("鍙戦�佽摑鐗欐暟鎹け璐�"); + } + } + + public override void Blufi_didReceiveDeviceScanResponse(HdlBlufi.BlufiClient client, BlufiScanResponse[] scanResults, BlufiStatusCode status) + { + Console.WriteLine("Blufi_didReceiveDeviceScanResponse"); + //base.Blufi_didReceiveDeviceScanResponse(client, scanResults, status); + } + + public override void Blufi_didReceiveDeviceVersionResponse(HdlBlufi.BlufiClient client, BlufiVersionResponse response, BlufiStatusCode status) + { + Console.WriteLine("Blufi_didReceiveDeviceVersionResponse"); + //base.Blufi_didReceiveDeviceVersionResponse(client, response, status); + } + + public override void Blufi_didPostConfigureParams(HdlBlufi.BlufiClient client, BlufiStatusCode status) + { + Console.WriteLine("Blufi_didPostConfigureParams"); + //base.Blufi_didPostConfigureParams(client, status); + } + + public override void Blufi_didReceiveCustomData(HdlBlufi.BlufiClient client, NSData data, BlufiStatusCode status) + { + Console.WriteLine("Blufi_didReceiveCustomData"); + //base.Blufi_didReceiveCustomData(client, data, status); + } + + public override void Blufi_didReceiveDeviceStatusResponse(HdlBlufi.BlufiClient client, BlufiStatusResponse response, BlufiStatusCode status) + { + Console.WriteLine("Blufi_didReceiveDeviceStatusResponse"); + //base.Blufi_didReceiveDeviceStatusResponse(client, response, status); + } + + public override void Blufi_didReceiveError(HdlBlufi.BlufiClient client, nint errCode) + { + Console.WriteLine("Blufi_didReceiveError"); + //base.Blufi_didReceiveError(client, errCode); + } + + public override void Blufi_gattPrepared(HdlBlufi.BlufiClient client, BlufiStatusCode status, CBService service, CBCharacteristic writeChar, CBCharacteristic notifyChar) + { + if (status == BlufiStatusCode.Success) + { + MainPage.Log("钃濈墮杩炴帴鎴愬姛"); + } + else + { + MainPage.Log("钃濈墮杩炴帴澶辫触"); + } + //base.Blufi_gattPrepared(client, status, service, writeChar, notifyChar); + } + } + + public class BlueCBCentralManagerDelegate : CBCentralManagerDelegate + { + public override void UpdatedState(CBCentralManager central) + { + + //throw new NotImplementedException(); + } + //public override void } } - public class BlueWifiDelegate : BlufiDelegate - { - public BlueWifiDelegate(BlufiClient client) - { - _client = client; - } - - - [Weak] BlufiClient _client; - public override void Blufi(BlufiClient client, BlufiStatusCode status) - { - - } - - public override void Blufi_DidPostConfigureParams(BlufiClient client, BlufiStatusCode status) - { - - } - - public override void Blufi_DidPostCustomData(BlufiClient client, NSData data, BlufiStatusCode status) - { - - } - - - public override void Blufi_DidReceiveCustomData(BlufiClient client, NSData data, BlufiStatusCode status) - { - - } - - - //public override void Blufi_DidReceiveDeviceScanResponse(BlufiClient client, NSObject[]? scanResults, BlufiStatusCode status) - //{ - - //} - - - public override void Blufi_DidReceiveDeviceStatusResponse(BlufiClient client, NSObject response, BlufiStatusCode status) - { - - } - - - public override void Blufi_DidReceiveDeviceVersionResponse(BlufiClient client, NSObject response, BlufiStatusCode status) - { - - } - - - public override void Blufi_DidReceiveError(BlufiClient client, nint errCode) - { - - } - - - //public override bool Blufi_GattNotification(BlufiClient client, NSData data, NSObject pkgType, NSObject subType) - //{ - - //} - - - //public override void Blufi_GattPrepared(BlufiClient client, BlufiStatusCode status, CBService? service, CBCharacteristic? writeChar, CBCharacteristic? notifyChar) - //{ - - //} - - - } -} +} \ No newline at end of file -- Gitblit v1.8.0