Google is committed to advancing racial equity for Black communities. See how.

এনএল :: ব্লি :: ব্ল্লেয়ার

#include <src/ble/BleLayer.h>

এই শ্রেণীর ডেটা চালনা করার জন্য একটি একক থ্রেড পারেন মাধ্যমে স্ট্যাক আপ জন্য একটি ইন্টারফেস প্রদান BleLayer প্ল্যাটফর্ম ইন্টারফেস ফাংশন, অথবা একটি সঙ্গে যুক্ত একটি WeaveConnection বস্তুর মাধ্যমে স্ট্যাকের নিচে BLEEndPoint

সারসংক্ষেপ

একটি ওয়েল কানেকশন (ওয়েইসমেজেজ লায়ার দ্বারা সংজ্ঞায়িত) একটি বিএলই সংযোগের সাথে সংযুক্ত করার দুটি উপায় রয়েছে:

প্রথমত, আবেদন নিস্ক্রিয়ভাবে একটি ইনকামিং BLE সংযোগ গ্রহণ এবং প্ল্যাটফর্ম-নির্দিষ্ট BLE_CONNECTION_OBJECT যে এই প্রাপ্তি থেকে উত্পন্ন হস্তান্তর করতে পারেন BleLayer সংশ্লিষ্ট প্ল্যাটফর্ম ইন্টারফেস ফাংশন মাধ্যমে। এর ফলে BleLayer একটি BLE_CONNECTION_OBJECT মোড়ানো BLEEndPoint এবং WeaveMessageLayer অবহিত যে একটি নতুন BLE conneciotn গৃহীত হয়েছে। বার্তা স্তর তারপরে নতুন গোপন BLEEndPoint একটি WeaveConnection মধ্যে বস্তু, এবং হাত বার্তা লেয়ারটির OnConnectionReceived কলব্যাক মাধ্যমে আবেদন এই বস্তুর।

দ্বিতীয়ত, অ্যাপ্লিকেশন সক্রিয়ভাবে একটি বিএলই পেরিফেরিয়াল সংযোগ স্থাপন করে, বহির্গামী বিএলই সংযোগ গঠন করতে পারে। এরপরে এটি ওয়েভম্যাসেজলায়ারের মাধ্যমে একটি নতুন ওয়েভ সংযোগ তৈরি করে, এই সংযোগটিতে একটি প্রমাণীকরণের ধরণ বরাদ্দ করে, এবং ওয়েভ সংযোগ :: কানেক্টবেলের মাধ্যমে নতুন BLE সংযোগের জন্য BLE_CONNECTION_OBJECT এ আবদ্ধ করে। এই ফাংশনটি ওয়েভ কানেকশনের প্রমাণীকরণের ধরণের সদস্য ভেরিয়েবল দ্বারা নির্দিষ্ট সুরক্ষিত সেশন প্রকারটি প্রতিষ্ঠিত করে।

উত্তরাধিকার

প্রত্যক্ষ জ্ঞাত সাবক্লাস:
  nl :: তাঁত :: ডিভাইসলায়ার :: অভ্যন্তরীণ :: BLEManagerImpl
  nl :: তাঁত :: ডিভাইসলায়ার :: অভ্যন্তরীণ :: BLEManagerImpl
  nl :: তাঁত :: ডিভাইসলায়ার :: অভ্যন্তরীণ :: BLEManagerImpl

নির্মাণকারী এবং ধ্বংসকারী

BleLayer (void)

পাবলিক প্রকার

@14 এনাম
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
যখন বহির্মুখী GATT ইঙ্গিতটি ইতিবাচক প্রাপ্তির নিশ্চয়তা পায় তখন কল করুন।
HandleIndicationReceived ( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
জিএটিটি ইঙ্গিত পেলে কল করুন।
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
যখন একটি 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
জিএটিটি রাইটিংয়ের অনুরোধ পেলে কল করুন।
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

BleConnicationRemittedFunct

void(* BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint)

জনসাধারণের গুণাবলী

অনউইভব্লাই সংযোগগ্রহন

BleConnectionReceivedFunct OnWeaveBleConnectReceived

mAppState

void * mAppState

এমস্টেট

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

[কেবলমাত্র পড়ুন] বর্তমান অবস্থা

পাবলিক ফাংশন

ব্ল্লেয়ার

 BleLayer(
  void
)

হ্যান্ডেল সংযোগের ত্রুটি

void HandleConnectionError(
  BLE_CONNECTION_OBJECT connObj,
  BLE_ERROR err
)

HandleIndicationConfirration

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

যখন বহির্মুখী GATT ইঙ্গিতটি ইতিবাচক প্রাপ্তির নিশ্চয়তা পায় তখন কল করুন।

হ্যান্ডেলআইডিকেশন প্রাপ্ত

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

জিএটিটি ইঙ্গিত পেলে কল করুন।

হ্যান্ডলআরেডপ্রাপ্ত

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

একটি জিএটিটি পড়ার অনুরোধ পেলে কল করুন।

প্ল্যাটফর্ম যখন পূর্ববর্তী কোনো অপারেশন দ্বারা প্রারব্ধ এই ফাংশন কল করতে হবে BleLayer যেমন একটি চরিত্রগত লেখার অনুরোধ হিসাবে, BleAdapter মাধ্যমে ব্যর্থ বা প্রয়াস সাবস্ক্রাইব, অথবা যখন একটি BLE সংযোগ বন্ধ করা হয়।

বেশিরভাগ ক্ষেত্রে, এটি ওয়েভকে সম্পর্কিত ওয়েভ কানেকশন বন্ধ করতে অনুরোধ জানাবে এবং সেই প্ল্যাটফর্মটিকে জানিয়ে দেবে যে এটি অন্তর্নিহিত বিএলই সংযোগটি পরিত্যাগ করেছে।

দ্রষ্টব্য: যদি অ্যাপ্লিকেশন স্পষ্টভাবে কোনও সম্পর্কিত ওয়েভ সংযোগের সাথে একটি BLE সংযোগ বন্ধ করে দেয় যেমন BLE সংযোগটি নিকট থেকে কোনও আপকেল তৈরি করে না, হ্যান্ডেলকনেকশন এররকে এই ওয়েভ সংযোগটি এবং এর অবসানটির ফাঁস রোধ করতে ত্রুটিযুক্ত = BLE_ERROR_APP_CLOSED_CONNECTION দিয়ে কল করতে হবে।

হ্যান্ডেল সাবস্ক্রাইব কমপ্লিট

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

যখন একটি GATT সাবস্ক্রাইব অনুরোধটি সফল হয় তখন কল করুন।

প্ল্যাটফর্মটিকে অবশ্যই এই ফাংশনটি কল করতে হবে যখন কোনও ওয়েভ পরিষেবা চ্যারিটারিস্টিকের উপর GATT আনসাবস্ক্রাইব করার অনুরোধ করা হয়, অর্থাত্ যখন ওয়েভ পরিষেবা বৈশিষ্ট্যটিতে বিদ্যমান GATT সাবস্ক্রিপশন বাতিল করা হয়।

হ্যান্ডেল সাবস্ক্রাইবগ্রীকৃত

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
)

হ্যান্ডলাইরাইট কনফার্মেশন

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
)

জিএটিটি রাইটিংয়ের অনুরোধ পেলে কল করুন।

এটা

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
)

প্ল্যাটফর্ম ইন্টারফেস ফাংশন:

কলিং কনভেনশনস: ওয়েভ এই ফাংশনগুলির মাধ্যমে প্রাপ্ত প্যাকেটফুফারের মালিকানা গ্রহণ করে এবং এগুলি মুক্ত করে বা স্ট্যাকের মালিকানা পাস করবে।

প্রতিটি কলের বাইরেও ইউআইডি আর্গুমেন্টের আজীবন কোনও গ্যারান্টি সরবরাহ করা হয় না।

একটি 'সত্য' রিটার্ন মান মানে ওয়েভ স্ট্যাক সাফল্যের সাথে সম্পর্কিত বার্তা বা রাষ্ট্রের ইঙ্গিতটি পরিচালনা করে। 'মিথ্যা' অর্থ ওয়েভ স্ট্যাক হয় ব্যর্থ হয় বা এটিকে পরিচালনা না করা বেছে নিয়েছে। 'মিথ্যা' এর ক্ষেত্রে ওয়েইভ স্ট্যাকের কোনও প্যাকেট বাফার যুক্তির স্বত্ব বা মালিকানা নেওয়া হবে না। এই চুক্তিটি প্লাটফর্মটিকে ওয়েভের কী বৈশিষ্ট্যগুলি যত্নশীল তা জেনে ছাড়া ওয়েভের কাছে বিএলই ইভেন্টগুলি পাস করার অনুমতি দেয়।

প্ল্যাটফর্মটিকে অবশ্যই এই ফাংশনটি কল করতে হবে যখন কোনও ওয়েভ পরিষেবা চ্যারিটারিস্টিকটিতে একটি জিএটিটি সাবস্ক্রিপশন স্থাপন করা হয়।

যদি এই ফাংশনটি সত্য ফিরে আসে, ওয়েভ BLE সংযোগ গ্রহণ করেছে এবং এটি একটি ওয়েভ সংযোগ অবজেক্টে আবৃত করে। ওয়েইভ যদি কোনও বিএলই সংযোগ গ্রহণ করে তবে সাবস্ক্রিপশন বাতিল বা অন্তর্নিহিত বিএলই সংযোগটি বন্ধ থাকলে প্ল্যাটফর্মটি ওয়েইভকে অবহিত করতে হবে, বা সম্পর্কিত ওয়েভ কানেকশন কখনই বন্ধ বা মুক্ত হবে না।

শাটডাউন

BLE_ERROR Shutdown(
  void
)