nl::Ble::BleLayer

#include <src/ble/BleLayer.h>

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

Özet

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

Öncelikle, uygulama gelen BDE bağlantısını pasif olarak alabilir ve bu makbuzun, ilgili platform arayüz işlevi aracılığıyla oluşturduğu platforma özgü BLE_CONNECTION_OBJECT'yi BleLayer'e aktarabilir. Bu, BleLayer'in BLE_CONNECTION_OBJECT öğesini bir BLEEndPoint içinde sarmasına ve WeaveMessagetier'e yeni bir BLE bağlantısının alındığını bildirmesine neden olur. Mesaj katmanı daha sonra yeni BLEEndPoint nesnesini bir WeaveConnection içine sarar ve bu nesneyi mesaj katmanının OnConnectionReceived geri çağırması aracılığıyla uygulamaya iletir.

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

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
[READ-ONLY] Mevcut durum

Kamu işlevleri

HandleConnectionError(BLE_CONNECTION_OBJECT connObj, BLE_ERROR err)
void
HandleIndicationConfirmation(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Beklemede olan bir GATT göstergesi olumlu 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 çağrı yapın.
HandleReadReceived(BLE_CONNECTION_OBJECT connObj, BLE_READ_REQUEST_CONTEXT requestContext, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
GATT okuma isteği alındığında çağrı.
HandleSubscribeComplete(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
GATT abone olma isteği başarılı olduğunda çağrı yapı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 aboneliğinden çıkma isteği başarılı olduğunda arayı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 arayın.
HandleWriteReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
GATT yazma isteği alındığında çağrı.
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

[READ-ONLY] Mevcut durum

Kamu işlevleri

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
)

Beklemede olan bir GATT göstergesi olumlu 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 çağrı yapın.

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 çağrı.

BleLayer tarafından BleAdapter üzerinden gerçekleştirilen önceki herhangi bir işlem (ör. karakteristik yazma isteği veya abone olma girişimi) 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'ın ilişkili WeaveConnection'ı kapatmasını ve ilgili platforma temel BDE bağlantısını bıraktığını bildirir.

NOT: Uygulama, ilişkili WeaveConnection ile BDE bağlantısını açık bir şekilde kapatırsa ve böylece BDE bağlantısının Weave'e geri çağırma oluşturmaması durumunda, bu WeaveConnection'ın ve bitiş noktası nesnesinin sızıntısını önlemek için HandleConnectionError err = BLE_ERROR_APP_CLOSED_CONNECTION ile çağrılmalıdır.

HandleSubscribeComplete

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

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

Herhangi bir Weave hizmet özelliğinde GATT aboneliğinden çıkma istendiğinde, yani bir Weave hizmet özelliğinde mevcut bir 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 aboneliğinden çıkma isteği başarılı olduğunda arayı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 arayın.

HandleWriteReceived

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

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

Başlat

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 üzerinden alınan PacketBuffers'ın sahipliğini alır ve bunları serbest bırakır veya yığının sahipliğini aktarır.

Her çağrının ötesinde, UUID bağımsız değişkenlerinin kullanım süresiyle ilgili herhangi bir garanti verilmez.

"true" (doğru) döndürülen değeri, Weave yığınının ilgili mesajı veya durum göstergesini başarıyla işlediği anlamına gelir. "false", Weave yığınının başarısız olduğu veya bu işlemi yapmamayı seçtiği anlamına gelir. Yanlış değerine ayarlanırsa Weave yığını, herhangi bir PacketBuffer bağımsız değişkenini serbest bırakmaz veya sahipliğini almaz. Bu sözleşme, platformun Weave'in hangi özelliklere önem verdiğini bilmeden BDE etkinliklerini Weave'e iletmesini sağlar.

Herhangi bir Weave hizmet karakteri için GATT aboneliği kurulduğunda platform bu işlevi çağırmalıdır.

Bu işlev true (doğru) değerini döndürürse Weave, BDE bağlantısını kabul etmiş ve bunu bir WeaveConnection nesnesine sarmalamıştır. Weave, BDE bağlantısını kabul ediyorsa abonelik iptal edilirse veya temel BDE bağlantısı kapatılırsa ya da ilişkili WeaveConnection hiçbir zaman kapatılmaz ya da serbest bırakılmazsa platform Weave'e bildirmelidir.

Kapat

BLE_ERROR Shutdown(
  void
)