nl:: رنگ:: 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 | شمارش |
BleConnectionReceivedFunct )(BLEEndPoint *newEndPoint) | typedefvoid(* |
صفات عمومی | |
---|---|
OnWeaveBleConnectReceived | BleConnectionReceivedFunct |
mAppState | void * |
mState | enum nl::Ble::BleLayer::@14 [READ-ONLY] وضعیت فعلی |
توابع عمومی | |
---|---|
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 هنگامی که درخواست خواندن گات دریافت شد تماس بگیرید. |
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
[READ-ONLY] وضعیت فعلی
توابع عمومی
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 )
هنگامی که درخواست خواندن گات دریافت شد تماس بگیرید.
هنگامی که هر عملیات قبلی که 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 ارائه نمی شود.
مقدار بازگشتی «واقعی» به این معنی است که پشته Weave با موفقیت پیام یا نشانه وضعیت مربوطه را مدیریت کرده است. 'false' به این معنی است که پشته Weave یا شکست خورده است یا تصمیم گرفته است که این کار را انجام ندهد. در صورت "نادرست"، پشته Weave هیچ یک از آرگومانهای PacketBuffer را آزاد یا مالکیت آن را نخواهد داشت. این قرارداد به پلتفرم اجازه میدهد تا رویدادهای BLE را بدون نیاز به دانستن ویژگیهای Weave به Weave منتقل کند.
پلتفرم باید این تابع را زمانی فراخوانی کند که اشتراک GATT برای هر یک از ویژگی های سرویس Weave ایجاد شده باشد.
اگر این تابع true را برگرداند، Weave اتصال BLE را پذیرفته و آن را در یک شی WeaveConnection پیچیده است. اگر Weave اتصال BLE را بپذیرد، پلتفرم باید به Weave اطلاع دهد اگر اشتراک لغو شد یا اتصال BLE زیربنایی بسته شد، یا WeaveConnection مرتبط هرگز بسته یا آزاد نخواهد شد.
خاموش شدن
BLE_ERROR Shutdown( void )
جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2020-03-06 بهوقت ساعت هماهنگ جهانی.