nl::Ble::BleLayer

#include <src/ble/BleLayer.h>

Bu sınıf, tek bir iş parçacığının verileri BleLayer platform arayüzü işlevleri aracılığıyla yığında yukarı veya bir BLEEndPoint ile ilişkilendirilmiş WeaveConnection nesnesi aracılığıyla yığında aşağı çekmesi için bir arayüz sağlar.

Özet

Bir WeaveConnection'ı (WeaveMessageKatman tarafından tanımlanır) BLE bağlantısıyla ilişkilendirmenin iki yolu vardır:

İlk olarak, uygulama gelen bir BLE bağlantısını pasif olarak alabilir ve bu makbuzun oluşturduğu platforma özgü BLE_CONNECTION_OBJECT'yi ilgili platform arayüzü işlevi aracılığıyla BleLayer'a aktarabilir. Bu, BleLayer'ın BLE_CONNECTION_OBJECT öğesini bir BLEEndPoint içinde sarmalamasına ve WeaveMessageKatman'a yeni bir BLE bağlantısının alındığını bildirmesine neden olur. Ardından mesaj katmanı, yeni BLEEndPoint nesnesini bir WeaveConnection içine sarmalar ve mesaj katmanının OnConnectionReceived geri çağırması aracılığıyla bu nesneyi uygulamaya aktarır.

İkinci olarak uygulama, aktif şekilde giden bir BDE bağlantısı oluşturabilir (ör. bir BLE çevre birimine bağlanarak). Daha sonra, WeaveMessageKatmanlar aracılığıyla yeni bir WeaveConnection hesabı oluşturur, bu bağlantıya bir kimlik doğrulama türü atar ve WeaveConnection::ConnectBle üzerinden yeni BLE bağlantısı için BLE_CONNECTION_OBJECT bağlantısını kullanır. Daha sonra bu işlev, WeaveConnection'ın kimlik doğrulama türü üye değişkeni tarafından belirtilen güvenli oturum türünü belirler.

Devralma

Doğrudan Bilinen Alt Sınıflar:
  nl::Weave::DeviceLayer::Internal::BLEManagerImpl
  nl::Weave::DeviceLayer::Internal::BLEManagerImpl
  nl::Weave::DeviceLayer::Internal::BLEManagerImpl

Oluşturucular ve Yıkıcılar

BleLayer(void)

Herkese açık türler

@14 enum
BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint) typedef
void(*

Herkese açık özellikler

OnWeaveBleConnectReceived
BleConnectionReceivedFunct
mAppState
void *
mState
enum nl::Ble::BleLayer::@14
[SALT OKUNUR] Geçerli durum

Herkese açık işlevler

HandleConnectionError(BLE_CONNECTION_OBJECT connObj, BLE_ERROR err)
void
HandleIndicationConfirmation(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Kalıcı bir GATT göstergesi olumlu bir makbuz onayı aldığında arayın.
HandleIndicationReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
GATT göstergesi alındığında ara.
HandleReadReceived(BLE_CONNECTION_OBJECT connObj, BLE_READ_REQUEST_CONTEXT requestContext, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
GATT okuma isteği alındığında arama.
HandleSubscribeComplete(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
GATT abonelik isteği başarılı olduğunda çağırın.
HandleSubscribeReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
HandleUnsubscribeComplete(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
GATT abonelikten çıkma isteği başarılı olduğunda çağırın.
HandleUnsubscribeReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
HandleWriteConfirmation(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Bekleyen bir GATT yazma isteği olumlu bir makbuz onayı aldığında ara.
HandleWriteReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
GATT yazma isteği alındığında çağrı yap.
Init(BlePlatformDelegate *platformDelegate, BleApplicationDelegate *appDelegate, Weave::System::Layer *systemLayer)
NewBleEndPoint(BLEEndPoint **retEndPoint, BLE_CONNECTION_OBJECT connObj, BleRole role, bool autoClose)
ScheduleWork(nl::Weave::System::Layer::TimerCompleteFunct aComplete, void *aAppState)
nl::Weave::System::Error
Platform arayüzü işlevleri:
Shutdown(void)

Herkese açık türler

@14

 @14

BleConnectionReceivedFunct

void(* BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint)

Herkese açık özellikler

OnWeaveBleConnectReceived

BleConnectionReceivedFunct OnWeaveBleConnectReceived

mAppState

void * mAppState

mState

enum nl::Ble::BleLayer::@14 mState

[SALT OKUNUR] Geçerli durum

Herkese açık işlevler

BleLayer

 BleLayer(
  void
)

HandleConnectionError

void HandleConnectionError(
  BLE_CONNECTION_OBJECT connObj,
  BLE_ERROR err
)

HandleIndicationConfirmation

bool HandleIndicationConfirmation(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

Kalıcı bir GATT göstergesi olumlu bir makbuz onayı aldığında arayın.

HandleIndicationReceived

bool HandleIndicationReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId,
  PacketBuffer *pBuf
)

GATT göstergesi alındığında ara.

HandleReadReceived

bool HandleReadReceived(
  BLE_CONNECTION_OBJECT connObj,
  BLE_READ_REQUEST_CONTEXT requestContext,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

GATT okuma isteği alındığında arama.

BleAdapter aracılığıyla BleLayer tarafından gerçekleştirilen önceki herhangi bir işlem (ör. özellik yazma isteği veya abone olma denemesi) başarısız olduğunda ya da bir BDE bağlantısı kapatıldığında platform bu işlevi çağırmalıdır.

Çoğu durumda bu işlem, Weave'den ilişkili WeaveConnection'ı kapatmasını ister ve platforma temel BDE bağlantısını terk ettiğini bildirir.

NOT: Uygulama, ilişkili bir WeaveConnection ile bir BLE bağlantısını açık bir şekilde kapatır ve BLE bağlantısı kapanışı Weave'a çağrı oluşturmazsa, bu WeaveConnection'ın ve uç noktası nesnesinin sızdırılmasını önlemek için HandleConnectionError çağrılması err = BLE_ERROR_APP_CLOSED_CONNECTION ile yapılmalıdır.

HandleSubscribeComplete

bool HandleSubscribeComplete(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

GATT abonelik isteği başarılı olduğunda çağırın.

Herhangi bir Weave hizmet özelliği kapsamında GATT aboneliği iptali istendiğinde, yani bir Weave hizmet özelliğindeki mevcut GATT aboneliği iptal edildiğinde platform bu işlevi çağırmalıdır.

HandleSubscribeReceived

bool HandleSubscribeReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

HandleUnsubscribeComplete

bool HandleUnsubscribeComplete(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

GATT abonelikten çıkma isteği başarılı olduğunda çağırın.

HandleUnsubscribeReceived

bool HandleUnsubscribeReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

HandleWriteConfirmation

bool HandleWriteConfirmation(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

Bekleyen bir GATT yazma isteği olumlu bir makbuz onayı aldığında ara.

HandleWriteReceived

bool HandleWriteReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId,
  PacketBuffer *pBuf
)

GATT yazma isteği alındığında çağrı yap.

Init

BLE_ERROR Init(
  BlePlatformDelegate *platformDelegate,
  BleApplicationDelegate *appDelegate,
  Weave::System::Layer *systemLayer
)

NewBleEndPoint

BLE_ERROR NewBleEndPoint(
  BLEEndPoint **retEndPoint,
  BLE_CONNECTION_OBJECT connObj,
  BleRole role,
  bool autoClose
)

ScheduleWork

nl::Weave::System::Error ScheduleWork(
  nl::Weave::System::Layer::TimerCompleteFunct aComplete,
  void *aAppState
)

Platform arayüzü işlevleri:

Çağrı kuralları: Weave, bu işlevler aracılığıyla alınan PacketBuffers'ın sahipliğini alır ve bunları serbest bırakır veya yığını artırır.

Her çağrı dışında, UUID bağımsız değişkenlerinin ömrüne dair hiçbir garanti verilmez.

"true" (doğru) dönüş değeri, Weave yığınının ilgili mesaj veya durum göstergesiyle başarıyla işlendiği anlamına gelir. "false" (yanlış) Weave yığınının başarısız olduğu veya bunu yapmamayı seçtiği anlamına gelir. "Yanlış" durumunda Weave yığını, hiçbir PacketBuffer bağımsız değişkenini serbest bırakmayacak veya sahipliğini almayacaktır. Bu sözleşme, platformun Weave'in hangi özellikleri önemsediğini bilmeye gerek kalmadan BDE etkinliklerini Weave'a iletmesine olanak tanır.

Herhangi bir Weave hizmet özelliğine GATT aboneliği oluşturulduğunda platform bu işlevi çağırmalıdır.

Bu işlev true değerini döndürürse Weave, BLE bağlantısını kabul etmiş ve bir WeaveConnection nesnesine sarmalamıştır. Weave bir BDE bağlantısını kabul ediyorsa platformun, abonelik iptal edilmesi veya temel BLE bağlantısının kapatılması ya da ilişkili WeaveConnection'ın hiçbir zaman kapatılmaması veya serbest bırakılmaması durumunda Weave'e bunu bildirmesi GEREKİR.

Kapat

BLE_ERROR Shutdown(
  void
)