nl::ब्ले::ब्ले लेयर

#include <src/ble/BleLayer.h>

यह क्लास, BleLayer प्लैटफ़ॉर्म इंटरफ़ेस फ़ंक्शन के ज़रिए स्टैक तक स्टैक बढ़ाने के लिए, एक थ्रेड के लिए इंटरफ़ेस उपलब्ध कराती है या BLEEndPoint से जुड़े WeaveConnection ऑब्जेक्ट के ज़रिए स्टैक को डाउन करती है.

खास जानकारी

WeaveConnection (WeaveMessageLayer से तय) को BLE कनेक्शन से जोड़ने के दो तरीके हैं:

सबसे पहले, ऐप्लिकेशन ने आने वाले BLE कनेक्शन के कनेक्शन को बंद कर दिया है. साथ ही, प्लैटफ़ॉर्म के हिसाब से BLE_CONNECTION_OBJECT भेजा जा सकता है जो संबंधित प्लैटफ़ॉर्म इंटरफ़ेस फ़ंक्शन के ज़रिए BleLayer को जनरेट होता है. इसी वजह से, BleLayer, BLE_CONNECTION_OBJECT को BLEEndPoint में रैप करता है और WeaveMessageLayer को बताता है कि एक नया BLE नंबर मिला है. इसके बाद, मैसेज लेयर नए BLEEndPoint ऑब्जेक्ट को WeaveConnection में रैप कर देता है. साथ ही, इस ऑब्जेक्ट को मैसेज लेयर's OnConnectionRecipient कॉलबैक के ज़रिए ऐप्लिकेशन को भेज देता है.

दूसरा, ऐप्लिकेशन सक्रिय रूप से बाहर जाने वाला BLE कनेक्शन बना सकता है. उदाहरण के लिए, BLE सहायक डिवाइस से कनेक्ट करके. इसके बाद, वह WeaveMessageLayer के ज़रिए एक नया WeaveConnection बनाता है और इस कनेक्शन को पुष्टि करने का टाइप असाइन करता है. साथ ही, WeaveConnection::ConnectBle के ज़रिए नए BLE कनेक्शन के लिए BLE_CONNECTION_OBJECT को जोड़ देता है. इसके बाद, यह फ़ंक्शन WeaveConnection' के ऑथेंटिकेशन टाइप के सदस्य वैरिएबल के तय किए गए सुरक्षित सेशन के टाइप को स्थापित करता है.

इनहेरिटेंस

डायरेक्ट जाने-पहचाने सब-क्लास:
nl::Weave::DeviceLayer::Internal::BLEManagerImpl
nl::Weave::DeviceLayer::Internal::BLEManagerImpl
nl::Weave::DeviceLayer::Internal::BLEManagerImpl{/10

कंस्ट्रक्टर और कंस्ट्रक्टर

BleLayer(void)

सार्वजनिक प्रकार

@14 enum
BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint) टाइपडेफ़
void(*

सार्वजनिक विशेषताएं

OnWeaveBleConnectReceived
BleConnectionReceivedFunct
mAppState
void *
mState
enum nl::Ble::BleLayer::@14
[रीड-ओनली] मौजूदा स्थिति

सार्वजनिक फ़ंक्शन

HandleConnectionError(BLE_CONNECTION_OBJECT connObj, BLE_ERROR err)
void
HandleIndicationConfirmation(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
किसी मौजूदा GAT सिग्नल के पॉज़िटिव रसीद मिलने पर कॉल करें.
HandleIndicationReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
GATT की सूचना मिलने पर कॉल करें.
HandleReadReceived(BLE_CONNECTION_OBJECT connObj, BLE_READ_REQUEST_CONTEXT requestContext, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
GATT का अनुरोध मिलने पर कॉल करें.
HandleSubscribeComplete(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
GATT की सदस्यता लेने का अनुरोध पूरा होने पर कॉल करें.
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 की सदस्यता छोड़ने का अनुरोध पूरा होने पर कॉल करें.
HandleUnsubscribeReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
HandleWriteConfirmation(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
जब GATT के किसी मान्य अनुरोध की पुष्टि के पॉज़िटिव होने की पुष्टि होती है, तब इसे कॉल करें.
HandleWriteReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
GATT लिखने का अनुरोध मिलने पर कॉल करें.
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
प्लैटफ़ॉर्म इंटरफ़ेस के फ़ंक्शन:
Shutdown(void)

सार्वजनिक प्रकार

@14 टैग

 @14

BleConnectionGetdFunct

void(* BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint)

सार्वजनिक विशेषताएं

OnWeaveBleConnectEd

BleConnectionReceivedFunct OnWeaveBleConnectReceived

mAppState

void * mAppState

मीस्टेट

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

[रीड-ओनली] मौजूदा स्थिति

सार्वजनिक फ़ंक्शन

ब्ले लेयर

 BleLayer(
  void
)

हैंडलर कनेक्शन की गड़बड़ी

void HandleConnectionError(
  BLE_CONNECTION_OBJECT connObj,
  BLE_ERROR err
)

हैंडलर की पुष्टि की पुष्टि

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

किसी मौजूदा GAT सिग्नल के पॉज़िटिव रसीद मिलने पर कॉल करें.

हैंडलिंग पाने का तरीका

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

GATT की सूचना मिलने पर कॉल करें.

हैंडल पढ़ा गया

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

GATT का अनुरोध मिलने पर कॉल करें.

प्लैटफ़ॉर्म को इस फ़ंक्शन को तब कॉल करना चाहिए, जब BleAdapter के ज़रिए BleLayer की मदद से की गई कोई भी कार्रवाई, किसी खास तरीके से लिखने या सदस्यता लेने की कोशिश या BLE कनेक्शन बंद होने पर पूरी नहीं होती.

ज़्यादातर मामलों में, इससे WeaveConnection को बंद करने और उस प्लैटफ़ॉर्म को सूचना देने के लिए कहा जाएगा जो उस प्लैटफ़ॉर्म को छोड़ दिया है जिसने BLE पर कनेक्शन छोड़ दिया है.

ध्यान दें: अगर ऐप्लिकेशन साफ़ तौर पर किसी जुड़े WeaveConnection के साथ BLE कनेक्शन बंद कर देता है, तो BLE कनेक्शन बंद करने पर Weave को कॉल जनरेट नहीं होगा.

हैंडलर की प्रोसेस पूरी हुई

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

GATT की सदस्यता लेने का अनुरोध पूरा होने पर कॉल करें.

प्लैटफ़ॉर्म को इस फ़ंक्शन को तब कॉल करना चाहिए, जब किसी Weave सेवा के चार्ट में GATT की सदस्यता छोड़ने का अनुरोध किया जाता है. इसका मतलब है कि जब किसी Weave सेवा की विशेषता पर GAT की मौजूदा सदस्यता रद्द कर दी जाती है.

हैंडलईमेल पाने की सुविधा

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

हैंडल की सदस्यता छोड़ें

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

GATT की सदस्यता छोड़ने का अनुरोध पूरा होने पर कॉल करें.

हैंडलर की सदस्यता मिली

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

HandleWriteVerify

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

जब GATT के किसी मान्य अनुरोध की पुष्टि के पॉज़िटिव होने की पुष्टि होती है, तब इसे कॉल करें.

हैंडलर को मिल गई

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

GATT लिखने का अनुरोध मिलने पर कॉल करें.

इनिट

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

न्यूब्लीएंडपॉइंट

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

शेड्यूलवर्क

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

प्लैटफ़ॉर्म इंटरफ़ेस के फ़ंक्शन:

कॉल करने के तरीके: Weave, PackeBuffers का मालिकाना हक इन फ़ंक्शन की मदद से लेता है. साथ ही, ये उन्हें खाली कर देता है या स्टैक को मालिकाना हक दे देता है.

हर कॉल के बाद, UUID आर्ग्युमेंट के लाइफ़टाइम में कोई गारंटी नहीं दी जाती.

A 'true' रिटर्न वैल्यू का मतलब है कि Weave स्टैक से जुड़े मैसेज या स्थिति के संकेत सफल रहे. 'false' का मतलब है, Weave स्टैक या तो विफल रहा या इसे मैनेज नहीं करता. 'false,' के मामले में Weave स्टैक न तो किसी PacketBuffer तर्कों से न तो खाली होगा और न ही मालिकाना हक लेगा. इस समझौते की मदद से, प्लैटफ़ॉर्म BLE पर इवेंट पास कर सकते हैं और यह पता नहीं लगा सकते कि Weave किन विशेषताओं पर ध्यान देता है.

प्लैटफ़ॉर्म को इस फ़ंक्शन को तब कॉल करना चाहिए, जब GAT सदस्यता को किसी भी Weave सेवा के चार्ट में रखा गया हो.

अगर यह फ़ंक्शन सही दिखाता है, तो Weave ने BLE कनेक्शन मंज़ूर किया है और उसे WeaveConnection ऑब्जेक्ट में रैप किया है. अगर Weave BLE कनेक्शन स्वीकार करता है, तो अगर सदस्यता रद्द हो जाती है या बुनियादी BLE कनेक्शन बंद हो जाता है या इससे जुड़े WeaveConnection हमेशा के लिए बंद या खाली नहीं होता है, तो प्लैटफ़ॉर्म को Weave को बताना होगा.

शटडाउन

BLE_ERROR Shutdown(
  void
)