nl:: Ble:: BleLayer
#include <src/ble/BleLayer.h>
Bu sınıf, tek bir ileti dizisi için verileri BleLayer platform arayüzü işlevleri aracılığıyla yığına veya yığın halinde BLEEndPoint ile ilişkili bir WeaveConnection nesnesine yönlendirmek amacıyla bir arayüz sağlar.
Özet
WeaveConnection (WeaveMessageLayer tarafından tanımlanır) ile BLE bağlantısını 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şleviyle BleLayer'a verebilir. Bu işlem, BleLayer'ın BLE_CONNECTION_OBJECT'yi bir BLEEndPoint'te sarmalamasına ve WeaveMessageLayer'ın yeni bir BLE çıkışı alındığını bilmesine neden olur. Ardından, mesaj katmanı yeni BLEEndPoint nesnesini bir WeaveConnection nesnesine sarmalar ve bu nesneyi, ileti katmanı OnConnectionReceived geri çağırma yoluyla uygulamaya gönderir.
İkinci olarak, uygulama etkin bir şekilde giden BLE çevre birimi oluşturabilir (ör. bir BLE çevre birimine bağlanarak). Ardından WeaveMessageLayer üzerinden 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'e bağlar. Bu işlev daha sonra WeaveConnection's 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:I:Pl:BiManager
İnşaat Ustaları ve Yıkıcılar |
|
---|---|
BleLayer(void)
|
Herkese açık türler |
|
---|---|
@14
|
enum |
BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint)
|
Türvoid(*
|
Herkese açık özellikler |
|
---|---|
OnWeaveBleConnectReceived
|
BleConnectionReceivedFunct
|
mAppState
|
void *
|
mState
|
enum nl::Ble::BleLayer::@14
[SALT OKUMA] 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
Bekleyen bir GATT göstergesi pozitif bir makbuz onayı aldığında arayın.
|
HandleIndicationReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
|
bool
Bir GATT göstergesi alındığında arama 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 arayın.
|
HandleSubscribeComplete(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
|
bool
GATT abone isteği başarılı olduğunda arayı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 e-posta listesinden çı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
Bir GATT yazma isteği alındığında arayın.
|
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
mobil uygulama durumu
void * mAppState
mState
enum nl::Ble::BleLayer::@14 mState
[SALT OKUMA] Geçerli durum
Herkese açık işlevler
Blelayer
BleLayer( void )
HandleConnectionHatası
void HandleConnectionError( BLE_CONNECTION_OBJECT connObj, BLE_ERROR err )
Herkese Açık Kullanıcı Doğrulaması
bool HandleIndicationConfirmation( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
Bekleyen bir GATT göstergesi pozitif bir makbuz onayı aldığında arayın.
Herkese Açık Kullanıcı Adı
bool HandleIndicationReceived( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf )
Bir GATT göstergesi alındığında arama yapın.
Herkese Açık Kullanıcı Adı
bool HandleReadReceived( BLE_CONNECTION_OBJECT connObj, BLE_READ_REQUEST_CONTEXT requestContext, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
GATT okuma isteği alındığında arayın.
Platform, BleAdapter aracılığıyla BleLayer tarafından yürütülen önceki bir işlem başarısız olduğunda (ör. tipik bir yazma isteği veya abone olma girişimi olduğunda) ya da BLE bağlantısı kapatıldığında bu işlevi çağırmalıdır.
Çoğu durumda bu işlem, Weave'e ilişkili WeaveConnection'ı kapatmasını ve söz konusu platformun, alttaki BLE bağlantısını terk ettiğini bildirmesini ister.
NOT: Uygulama, ilişkili bir WeaveConnection nesnesine sahip olan bir BLE bağlantısını açık şekilde kapatıyorsa, BLE bağlantısının kapanması Weave'e bir geri çağırma üretemeyecektir. Bu WeaveConnection ve uç noktası nesnesinin sızdırılmasını önlemek için HandleConnectionError err = BLE_ERROR_APP_CLOSED_CONNECTION olarak çağrılmalıdır.
Herkese Açık Abone
bool HandleSubscribeComplete( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
GATT abone isteği başarılı olduğunda arayın.
Herhangi bir Weave hizmet kalitesinde GATT aboneliği iptali istendiğinde (yani Weave hizmet özelliğindeki mevcut bir GATT aboneliği iptal edildiğinde) platform bu işlevi çağırmalıdır.
Herkese Açık Kullanıcı Adı
bool HandleSubscribeReceived( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
Herkese Açık Kullanıcı Adı Tamamlandı
bool HandleUnsubscribeComplete( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
GATT e-posta listesinden çıkma isteği başarılı olduğunda arayın.
Herkese Açık Kullanıcı Adı
bool HandleUnsubscribeReceived( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
HandleWriteOnayı
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 )
Bir GATT yazma isteği alındığında arayın.
Başlangıç
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 )
Planlamaİşi
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 serbest bırakır veya yığına aktarır.
Her aramanın ötesinde, UUID bağımsız değişkenlerinin kullanım ömrü boyunca herhangi bir garanti verilmez.
&&33;true' return 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 bunu işlememeyi seçtiği anlamına gelir. 'false,' olması durumunda, Weave yığını herhangi bir PacketBuffer bağımsız değişkenini serbest bırakmaz veya sahipliğini üstlenmez. Bu sözleşme, Weave'in hangi özelliklere önem verdiğini bilmesine gerek kalmadan platformun BDE etkinliklerini aktarmasına olanak tanır.
Herhangi bir Weave hizmet kalitesi için GATT aboneliği kurulduğunda platform bu işlevi çağırmalıdır.
Bu işlev true (doğru) döndürürse Weave, BLE bağlantısını kabul etmiş ve bunu bir WeaveConnection nesnesine sarmıştır. Weave, BLE bağlantısını kabul ederse platform, abonelik iptal edildiğinde veya alttaki BLE bağlantısı kapatıldığında Weave'i bilgilendirmelidir, aksi takdirde ilişkili WeaveConnection özelliği kapatılmaz veya serbest kalmaz.