nl:: Ble:: BleLayer
#include <src/ble/BleLayer.h>
این کلاس یک رابط برای یک رشته فراهم میکند تا دادهها را از طریق توابع رابط پلتفرم BleLayer در پشته به سمت بالا هدایت کند، یا از طریق یک شی WeaveConnection مرتبط با BLEendPoint، در پشته پایین بیاورد.
خلاصه
دو راه برای مرتبط کردن WeaveConnection (تعریف شده توسط WeaveMessageLayer) با اتصال BLE وجود دارد:
ابتدا، برنامه میتواند بطور غیرفعال یک اتصال BLE ورودی را دریافت کند و BLE_CONNECTION_OBJECT مخصوص پلتفرم را که این رسید تولید میکند از طریق تابع رابط پلتفرم مربوطه به BleLayer تحویل دهد. این باعث می شود BleLayer BLE_CONNECTION_OBJECT را در BLEendPoint بپیچد و به WeaveMessageLayer اطلاع دهد که یک اتصال BLE جدید دریافت شده است. سپس لایه پیام، شی BLEendPoint جدید را در یک WeaveConnection می پیچد و این شی را از طریق پاسخ تماس OnConnectionReceived لایه پیام به برنامه می دهد.
دوم، برنامه می تواند به طور فعال یک اتصال BLE خروجی ایجاد کند، به عنوان مثال، با اتصال به یک دستگاه جانبی BLE. سپس یک WeaveConnection جدید از طریق WeaveMessageLayer ایجاد می کند، یک نوع احراز هویت را به این اتصال اختصاص می دهد و آن را به BLE_CONNECTION_OBJECT برای اتصال BLE جدید از طریق WeaveConnection::ConnectBle متصل می کند. سپس این تابع نوع جلسه امن مشخص شده توسط متغیر عضو نوع احراز هویت WeaveConnection را ایجاد می کند.
ارث
زیر کلاس های مستقیم شناخته شده:nl::Weave::DeviceLayer::Internal::BLEManagerImpl
nl::Weave::DeviceLayer::Internal::BLEManagerImpl
nl::Weave::DeviceLayer::Internal::BLEManagerImpl
سازندگان و ویرانگرها | |
---|---|
BleLayer (void) |
انواع عمومی | |
---|---|
@14 | enum |
BleConnectionReceivedFunct )(BLEEndPoint *newEndPoint) | typedefvoid(* |
صفات عمومی | |
---|---|
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 زمانی تماس بگیرید که یک نشانه برجسته GATT تاییدیه رسید مثبت را دریافت کند. |
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 هنگامی که درخواست اشتراک گات موفق شد تماس بگیرید. |
HandleSubscribeReceived ( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId) | bool |
HandleUnsubscribeComplete ( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId) | bool هنگامی که درخواست لغو اشتراک گات موفق شد تماس بگیرید. |
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
BleConnectionReceivedFunct
void(* BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint)
صفات عمومی
OnWeaveBleConnectReceived
BleConnectionReceivedFunct OnWeaveBleConnectReceived
mAppState
void * mAppState
mState
enum nl::Ble::BleLayer::@14 mState
[فقط خواندنی] وضعیت فعلی
توابع عمومی
BleLayer
BleLayer( void )
خطای HandleConnection
void HandleConnectionError( BLE_CONNECTION_OBJECT connObj, BLE_ERROR err )
HandleIndication Confirmation
bool HandleIndicationConfirmation( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
زمانی تماس بگیرید که یک نشانه برجسته GATT تاییدیه رسید مثبت را دریافت کند.
HandleIndication Received
bool HandleIndicationReceived( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf )
هنگامی که نشانه GATT دریافت شد تماس بگیرید.
HandleReadReceived
bool HandleReadReceived( BLE_CONNECTION_OBJECT connObj, BLE_READ_REQUEST_CONTEXT requestContext, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
هنگامی که درخواست خواندن GATT دریافت شد تماس بگیرید.
هنگامی که هر عملیات قبلی که BleLayer از طریق BleAdapter انجام داده است، مانند درخواست نوشتن مشخصه یا تلاش برای اشتراک، یا زمانی که اتصال BLE بسته است، پلتفرم باید این تابع را فراخوانی کند.
در بیشتر موارد، این امر از Weave میخواهد که WeaveConnection مرتبط را ببندد و به آن پلتفرم اطلاع دهد که اتصال زیرین BLE را رها کرده است.
توجه: اگر برنامه به طور صریح یک اتصال BLE را با یک WeaveConnection مرتبط ببندد، به طوری که اتصال BLE به Weave فراخوانی ایجاد نکند، HandleConnectionError باید با err = BLE_ERROR_APP_CLOSED_CONNECTION فراخوانی شود تا از نشت این WeaveConnection و شی نقطه پایانی آن جلوگیری شود.
HandleSubscribeComplete
bool HandleSubscribeComplete( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId )
هنگامی که درخواست اشتراک گات موفق شد تماس بگیرید.
پلتفرم باید این تابع را زمانی فراخوانی کند که لغو اشتراک گات در مورد هر ویژگی سرویس Weave درخواست شود، یعنی زمانی که اشتراک گات موجود در ویژگی سرویس Weave لغو شود.
HandleSubscribe Received
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 )
هنگامی که درخواست لغو اشتراک گات موفق شد تماس بگیرید.
HandleUnsubscribe Received
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 )
زمانی تماس بگیرید که یک درخواست نگارش معوق GATT تاییدیه رسید مثبت دریافت می کند.
HandleWriteReceived
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 )
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 )
توابع رابط پلت فرم:
فراخوانی قراردادها: Weave مالکیت PacketBuffer های دریافت شده از طریق این توابع را در اختیار می گیرد و آنها را آزاد می کند یا مالکیت را به پشته منتقل می کند.
فراتر از هر تماس، هیچ تضمینی در مورد طول عمر آرگومان های UUID ارائه نمی شود.
یک مقدار بازگشتی 'true' به این معنی است که پشته Weave با موفقیت پیام یا نشانه وضعیت مربوطه را مدیریت کرده است. 'false' به این معنی است که پشته Weave یا شکست خورده یا تصمیم گرفته است که این کار را انجام ندهد. در صورت "نادرست"، پشته Weave هیچ یک از آرگومان های PacketBuffer را آزاد یا مالکیت آن را نخواهد داشت. این قرارداد به پلتفرم اجازه میدهد تا رویدادهای BLE را بدون نیاز به دانستن ویژگیهای Weave به Weave منتقل کند.
پلتفرم باید این تابع را زمانی فراخوانی کند که اشتراک GATT برای هر یک از ویژگی های سرویس Weave ایجاد شده باشد.
اگر این تابع true را برگرداند، Weave اتصال BLE را پذیرفته و آن را در یک شی WeaveConnection پیچیده است. اگر Weave اتصال BLE را بپذیرد، پلتفرم باید در صورت لغو اشتراک یا بسته شدن اتصال زیرین BLE، یا WeaveConnection مرتبط هرگز بسته یا آزاد نخواهد شد، به Weave اطلاع دهد.
خاموش شدن
BLE_ERROR Shutdown( void )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-14 بهوقت ساعت هماهنگ جهانی.