nl:: بافت:: صحافی

#include <src/lib/core/WeaveBinding.h>

هدف مورد نظر یک ارتباط Weave و اطلاعات پیکربندی مرتبط را ضبط می کند.

خلاصه

یک شی Binding هدف مورد نظر یک ارتباط Weave (همچنین به عنوان "همتا" شناخته می‌شود)، همراه با مجموعه‌ای از پارامترهای پیکربندی که نحوه برقراری ارتباط با همتا را توصیف می‌کند، شناسایی می‌کند. اتصالات مستقل از پروتکل برنامه است که بین دو طرف صحبت می شود. به این ترتیب، آنها "چه کسی" و "چگونه" یک ارتباط را می گیرند، اما نه "چه چیزی".

پیکربندی

برنامه ها باید یک Binding را با پارامترهای خاص برای نوع کانال ارتباطی مورد نظر پیکربندی کنند. Bindingها از طیف وسیعی از انتقال‌های شبکه، از جمله TCP، UDP، UDP با پیام‌رسانی قابل اعتماد Weave، و Weave over BLE (WoBLE) پشتیبانی می‌کنند. برنامه ها همچنین می توانند استفاده از مکانیسم های امنیتی خاص را برای محافظت از پیام های ارسال شده بین طرفین درخواست کنند. این شامل جلسات CASE و PASE و کلیدهای گروه برنامه است. رابط برای پیکربندی Binding از یک سبک API اعلانی استفاده می کند که به برنامه ها اجازه می دهد الزامات خود را برای ارتباط به زبان ساده بیان کنند.

برای جزئیات بیشتر به مستندات مربوط به Binding::Configuration مراجعه کنید.

آماده سازی

قبل از برقراری ارتباط، یک Binding باید "آماده شود". عمل آماده سازی Binding شامل ایجاد وضعیت لازم برای برقراری ارتباط است. این می تواند شامل مواردی مانند: حل کردن آدرس شبکه همتا، ایجاد اتصال شبکه و مذاکره درباره کلیدهای امنیتی باشد. پس از پیکربندی توسط برنامه، Binding تمام مراحل لازم برای آماده شدن برای برقراری ارتباط را انجام می دهد و پس از تکمیل فرآیند به برنامه باز می گردد. به این ترتیب، Bindings مکانیک ارتباط را پنهان می‌کند و به برنامه‌ها اجازه می‌دهد تا بر تعاملات سطح بالا تمرکز کنند.

ارتباط

هنگامی که یک صحافی آماده شد، برای استفاده آماده می شود. در این حالت، برنامه ها (یا به طور معمول، کد لایه پروتکل که از طرف یک برنامه کار می کند) از Binding درخواست می کنند تا یک زمینه تبادل Weave را اختصاص دهد. زمینه تبادل حاصل از پیش پیکربندی شده برای ارتباط، به برنامه اجازه می‌دهد تا فوراً یک تبادل Weave را با همتا آغاز کند. برنامه می‌تواند به درخواست زمینه‌های مبادله از Binding ادامه دهد تا زمانی که Binding بسته شود، یا برخی رویدادها، به عنوان مثال، خرابی شبکه، کانال ارتباطی اصلی را خاتمه دهد.

تغییرات دولت الزام آور

در طول استفاده از آن، Binding رویدادهای API را به برنامه ارائه می دهد و آن را از تغییرات در وضعیت Binding مطلع می کند. به عنوان مثال، هنگامی که آماده سازی با موفقیت انجام شود، برنامه یک رویداد دریافت می کند که به آن اطلاع می دهد که Binding آماده استفاده است. به طور مشابه، اگر کانال ارتباطی زیربنایی از کار بیفتد، رویدادی به برنامه ارسال می‌شود که به آن اطلاع می‌دهد که Binding دیگر در حالت آماده نیست.

رویدادهای API از طریق یک تابع فراخوانی رویداد که هنگام تخصیص Binding ارائه می‌شود، به برنامه تحویل داده می‌شوند.

طول عمر صحافی

Binding برای اجازه استفاده مشترک در چندین مؤلفه نرم افزاری، مرجع شمارش می شوند. هنگامی که یک Binding اختصاص داده می شود، یک مرجع واحد برای اتصال ایجاد می شود. برنامه مسئول انتشار این مرجع در مقطعی در آینده است به طوری که Binding برای استفاده مجدد بعدی رایگان باشد.

هنگامی که یک برنامه با Binding انجام می شود، ممکن است Close() را روی binding فراخوانی کند. این ارجاع برنامه به Binding را آزاد می کند و همه تحویل بیشتر رویدادهای API را مسدود می کند. هنگامی که آخرین مرجع به یک Binding آزاد می شود، به طور خودکار بسته می شود.

انواع عمومی

@23 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
EventCallback )(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventType {
kEvent_ConnectionEstablished = 1,
kEvent_BindingReady = 2,
kEvent_PrepareFailed = 3,
kEvent_BindingFailed = 4,
kEvent_PrepareRequested = 5,
kEvent_PASEParametersRequested = 6,
kEvent_TAKEParametersRequested = 7,
kEvent_DefaultCheck = 100
}
enum
State enum

صفات عمومی

AppState
void *

توابع عمومی

AddRef (void)
void
یک مرجع به شیء الزام آور رزرو کنید.
AdjustResponseTimeout ( ExchangeContext *apExchangeContext) const
برای تنظیم زمان پاسخ، یک بستر موجود Exchange را دوباره پیکربندی کنید.
AllocateRightSizedBuffer (PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize)
BeginConfiguration ()
فرآیند پیکربندی Binding است.
CanBePrepared (void) const
bool
Close (void)
void
شی binding را ببندید و یک مرجع آزاد کنید.
GetConnection () const
شیء اتصال Weave مرتبط با اتصال را دریافت کنید.
GetDefaultResponseTimeout () const
uint32_t
زمان پاسخگویی تبادل پیش‌فرض را برای استفاده در هنگام برقراری ارتباط با همتا دریافت کنید.
GetDefaultWRMPConfig (void) const
const WRMPConfig &
پیکربندی پیش‌فرض WRMP را برای استفاده در هنگام برقراری ارتباط با همتا دریافت کنید.
GetEncryptionType (void) const
uint8_t
نوع رمزگذاری پیام مورد استفاده در هنگام رمزگذاری پیام ها به/از همتا را بازیابی کنید.
GetEventCallback () const
EventCallback
تابعی را دریافت کنید که هنگام وقوع یک رویداد API برای Binding فراخوانی می شود.
GetExchangeManager () const
GetKeyId (void) const
uint32_t
شناسه کلید رمزگذاری پیام را که در هنگام رمزگذاری پیام ها به/از به همتا استفاده می شود، بازیابی کنید.
GetLogId (void) const
uint16_t
یک شناسه منحصر به فرد برای صحافی دریافت کنید.
GetMaxWeavePayloadSize (const System::PacketBuffer *msgBuf)
uint32_t
حداکثر اندازه بار Weave را که می تواند در داخل PacketBuffer ارائه شده قرار گیرد، دریافت کنید.
GetPeerDescription (char *buf, uint32_t bufSize) const
void
رشته ای می سازد که گره همتا و آدرس/اطلاعات اتصال مرتبط با آن را توصیف می کند.
GetPeerIPAddress ( nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId) const
void
در صورت وجود، اطلاعات آدرس IP را برای همتایان بازیابی کنید.
GetPeerNodeId (void) const
uint64_t
شناسه گره همتای اتصال را بازیابی کنید.
GetProtocolLayerCallback (EventCallback & callback, void *& state) const
void
GetState (void) const
State
وضعیت فعلی صحافی را بازیابی کنید.
IsAuthenticMessageFromPeer (const WeaveMessageInfo *msgInfo)
bool
تعیین کنید که آیا یک پیام دریافتی خاص از طرف همتای پیکربندی شده است و به طور مناسب احراز هویت شده است.
IsConnectionTransport () const
bool
IsPreparing (void) const
bool
IsReady (void) const
bool
IsUDPTransport () const
bool
IsUnreliableUDPTransport () const
bool
IsWRMTransport () const
bool
NewExchangeContext ( ExchangeContext *& appExchangeContext)
یک Context Exchange جدید برای برقراری ارتباط با همتا که هدف اتصال است اختصاص دهید.
Release (void)
void
رفرنسی به شی binding آزاد کنید.
RequestPrepare ()
از برنامه درخواست کنید تا Binding را پیکربندی و آماده کند.
Reset (void)
void
اتصال را به حالت پیکربندی نشده بازنشانی کنید.
SetDefaultResponseTimeout (uint32_t msec)
void
زمان پاسخگویی تبادل پیش‌فرض را تنظیم کنید تا هنگام برقراری ارتباط با همتا استفاده شود.
SetDefaultWRMPConfig (const WRMPConfig & wrmpConfig)
void
پیکربندی پیش‌فرض WRMP را برای استفاده در هنگام برقراری ارتباط با همتا تنظیم کنید.
SetEventCallback (EventCallback aEventCallback)
void
تابع تعریف شده توسط برنامه را تنظیم کنید تا زمانی که یک رویداد API برای Binding رخ می دهد، فراخوانی شود.
SetProtocolLayerCallback (EventCallback callback, void *state)
void
یک تابع تماس رویداد را برای کد لایه پروتکل با استفاده از Binding از طرف یک برنامه تنظیم کنید.

توابع استاتیک عمومی

DefaultEventHandler (void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void
کنترل کننده پیش فرض برای اتصال رویدادهای API.

کلاس ها

nl:: بافت:: صحافی:: پیکربندی

یک رابط به سبک اظهاری برای پیکربندی و آماده سازی یک شی Binding ارائه می دهد.

سازه ها

nl:: بافت:: صحافی:: InEventParam

پارامترهای ورودی به رویداد Binding API.

nl:: بافت:: صحافی:: OutEventParam

پارامترهای خروجی به یک رویداد Binding API.

انواع عمومی

@23

 @23
خواص
kGetPeerDescription_MaxLength

حداکثر طول رشته (شامل کاراکتر NUL) که توسط GetPeerDescription() برگردانده شده است.

رویداد Callback

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

نوع رویداد

 EventType
خواص
kEvent_BindingFailed

اتصال انجام نشد و دیگر نمی توان برای برقراری ارتباط با همتا استفاده کرد.

kEvent_BindingReady

اقدام آماده سازی روی صحافی با موفقیت انجام شد و اکنون می توان از صحافی برای برقراری ارتباط با همتا استفاده کرد.

kEvent_ConnectionEstablished

اتصال Weave درخواستی برقرار شد.

kEvent_DefaultCheck

برای تأیید صحیح مدیریت رویداد پیش فرض در برنامه استفاده می شود.

kEvent_PASEParametersRequested

از برنامه درخواست می شود تا پارامترهایی را برای استفاده در طول ایجاد جلسه PASE ارائه دهد.

kEvent_PrepareFailed

اقدام آماده سازی برای اتصال ناموفق بود.

kEvent_PrepareRequested

از برنامه درخواست می شود که اتصال را برای استفاده توسط پشته شبکه پیکربندی و آماده کند.

kEvent_TAKEParametersRequested

از برنامه درخواست می شود تا پارامترهایی را برای استفاده در طول ایجاد جلسه TAKE ارائه دهد.

ایالت

 State

صفات عمومی

AppState

void * AppState

توابع عمومی

AdRef

void AddRef(
  void
)

یک مرجع به شیء الزام آور رزرو کنید.

AdjustResponseTimeout

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

برای تنظیم زمان پاسخ، یک بستر موجود Exchange را دوباره پیکربندی کنید.

جزئیات
پارامترها
[in] apExchangeContext
یک اشاره گر به یک شیء Exchange Context که باید مجدداً پیکربندی شود

AllocateRightSizedBuffer

WEAVE_ERROR AllocateRightSizedBuffer(
  PacketBuffer *& buf,
  const uint32_t desiredSize,
  const uint32_t minSize,
  uint32_t & outMaxPayloadSize
)

BeginConfiguration

Configuration BeginConfiguration()

فرآیند پیکربندی Binding است.

برنامه‌ها باید BeginConfiguration() را برای پیکربندی Binding قبل از آماده‌سازی برای برقراری ارتباط با peer فراخوانی کنند.

جزئیات
برمی گرداند
یک Binding:: جسم پیکربندی که می تواند برای پیکربندی اتصال استفاده شود.

CanBerepared

bool CanBePrepared(
  void
) const 

بستن

void Close(
  void
)

شی binding را ببندید و یک مرجع آزاد کنید.

این متد در صورت فراخوانی باعث می شود که binding به حالت Closed وارد شود. هر گونه اقدام آماده سازی در حال انجام برای اتصال لغو می شود و تمام منابع ارتباطی خارجی که توسط اتصال دهنده نگهداری می شود آزاد می شوند.

فراخوانی Close () تعداد مراجع مرتبط با binding را کاهش می دهد و اگر تعداد مرجع صفر شود، شی آزاد می شود.

GetConnection

WeaveConnection * GetConnection() const 

شیء اتصال Weave مرتبط با اتصال را دریافت کنید.

جزئیات
برمی گرداند
یک اشاره گر به یک شی WeaveConnection یا NULL اگر هیچ ارتباطی با اتصال وجود نداشته باشد.

GetDefaultResponseTimeout

uint32_t GetDefaultResponseTimeout() const 

زمان پاسخگویی تبادل پیش‌فرض را برای استفاده در هنگام برقراری ارتباط با همتا دریافت کنید.

جزئیات
برمی گرداند
پایان زمان پاسخ در MS.

GetDefaultWRMPConfig

const WRMPConfig & GetDefaultWRMPConfig(
  void
) const 

پیکربندی پیش‌فرض WRMP را برای استفاده در هنگام برقراری ارتباط با همتا دریافت کنید.

جزئیات
برمی گرداند
ارجاع به ساختار WRMPConfig حاوی مقادیر پیکربندی پیش فرض.

GetEncryptionType

uint8_t GetEncryptionType(
  void
) const 

نوع رمزگذاری پیام مورد استفاده در هنگام رمزگذاری پیام ها به/از طرف همتا را بازیابی کنید.

GetEventCallback

EventCallback GetEventCallback() const 

تابعی را دریافت کنید که هنگام وقوع یک رویداد API برای Binding فراخوانی می شود.

جزئیات
برمی گرداند
اشاره گر به عملکرد برگشت به تماس.

GetExchangeManager

WeaveExchangeManager * GetExchangeManager() const 

GetKeyId

uint32_t GetKeyId(
  void
) const 

شناسه کلید رمزگذاری پیام را که در هنگام رمزگذاری پیام ها به/از به همتا استفاده می شود، بازیابی کنید.

GetLogId

uint16_t GetLogId(
  void
) const 

یک شناسه منحصر به فرد برای صحافی دریافت کنید.

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const System::PacketBuffer *msgBuf
)

حداکثر اندازه بار Weave را که می تواند در داخل PacketBuffer ارائه شده قرار گیرد، دریافت کنید.

برای UDP، از جمله UDP با WRM، حداکثر اندازه بار بازگشتی اطمینان حاصل می کند که پیام Weave حاصل از UDP MTU پیکربندی شده سرریز نخواهد شد.

علاوه بر این، این روش تضمین می کند که بار Weave از PacketBuffer ارائه شده سرریز نخواهد شد.

جزئیات
پارامترها
[in] msgBuf
اشاره گر به PacketBuffer که بار پیام روی آن نوشته می شود.
برمی گرداند
حداکثر اندازه محموله بافت.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

رشته ای می سازد که گره همتا و آدرس/اطلاعات اتصال مرتبط با آن را توصیف می کند.

جزئیات
پارامترها
[in] buf
اشاره گر به بافری که رشته باید در آن نوشته شود. بافر ارائه شده باید حداقل به اندازه kGetPeerDescription_MaxLength باشد. اگر بافر کوچکتری داده شود، رشته برای تناسب کوتاه می شود. خروجی شامل یک کاراکتر خاتمه NUL در همه موارد خواهد بود.
[in] bufSize
اندازه بافر که توسط buf نشان داده شده است.

GetPeerIPAddress

void GetPeerIPAddress(
  nl::Inet::IPAddress & address,
  uint16_t & port,
  InterfaceId & interfaceId
) const 

در صورت وجود، اطلاعات آدرس IP را برای همتایان بازیابی کنید.

در دسترس بودن اطلاعات آدرس IP همتا به وضعیت و پیکربندی اتصال بستگی دارد. اطلاعات آدرس IP فقط هنگام استفاده از انتقال مبتنی بر IP (TCP، UDP یا UDP با WRMP) در دسترس است. قبل از شروع آماده سازی، اطلاعات آدرس تنها در صورتی در دسترس است که به صراحت توسط برنامه در طول پیکربندی تنظیم شده باشد. در طول مرحله آماده سازی، اطلاعات آدرس پس از تکمیل آماده سازی آدرس در دسترس است (مثلاً پس از تکمیل وضوح DNS). پس از آماده شدن Binding ، اطلاعات آدرس تا زمانی که Binding تنظیم مجدد نشود، در دسترس باقی می‌ماند.

جزئیات
پارامترها
[out] address
ارجاع به یک شی IPaddress که آدرس IP همتا را دریافت می کند. اگر اطلاعات آدرس IP همتا در دسترس نباشد، این مقدار روی IPaddress::Any تنظیم می‌شود.
[out] port
ارجاع به یک عدد صحیح که شماره پورت همتا را دریافت می کند. اگر اطلاعات آدرس IP همتا در دسترس نباشد، این مقدار تعریف نشده است.
[out] interfaceId
ارجاع به یک عدد صحیح که شناسه رابط شبکه را دریافت می کند که از طریق آن می توان به همتا دسترسی پیدا کرد. اگر اطلاعات آدرس IP همتا در دسترس نباشد، این مقدار تعریف نشده است.

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

شناسه گره همتای اتصال را بازیابی کنید.

فقط زمانی معتبر است که شیء الزام آور آماده شده باشد.

جزئیات
برمی گرداند
شناسه گره همتا را ببافید

GetProtocolLayerCallback

void GetProtocolLayerCallback(
  EventCallback & callback,
  void *& state
) const 

GetState

State GetState(
  void
) const 

وضعیت فعلی صحافی را بازیابی کنید.

جزئیات
برمی گرداند
حالت الزام آور.

IsAuthenticMessageFromPeer

bool IsAuthenticMessageFromPeer(
  const WeaveMessageInfo *msgInfo
)

تعیین کنید که آیا یک پیام دریافتی خاص از طرف همتای پیکربندی شده است و به طور مناسب احراز هویت شده است.

این روش جزئیات زیر را در مورد پیام داده شده تأیید می کند:

  • پیام از گره همتای اتصال نشات گرفته است
  • پیام از طریق همان نوع انتقال به عنوان صحافی دریافت شد. اگر پیام از طریق اتصال دریافت شده باشد، این روش همچنین تأیید می کند که پیام از طریق اتصال دقیق مرتبط با اتصال دریافت شده است.
  • کلید رمزگذاری و نوع مورد استفاده برای رمزگذاری پیام با موارد پیکربندی شده در صحافی مطابقت دارد. برای اتصال‌هایی که بدون استفاده از امنیت پیکربندی شده‌اند، این روش تأیید می‌کند که پیام دریافتی رمزگذاری نشده است.

این روش برای استفاده در پروتکل هایی مانند WDM در نظر گرفته شده است که در آن همتایان می توانند به طور خود به خود مبادلات را به گره محلی پس از تبادل اولیه از گره به همتا آغاز کنند. در چنین مواردی، این روش به گره محلی اجازه می دهد تا تأیید کند که پیام ناخواسته دریافتی توسط همتای مرتبط ارسال شده است. (البته، برای Binding هایی که بدون استفاده از رمزگذاری پیام پیکربندی شده اند، این ادعا هیچ ارزشی از منظر امنیتی ارائه نمی دهد. این فقط تایید می کند که شناسه گره فرستنده و انواع انتقال مطابقت دارند.)

توجه داشته باشید که اگر binding در حالت Ready نباشد، این متد همیشه false را برمی‌گرداند.

جزئیات
پارامترها
[in] msgInfo
اطلاعات پیام Weave برای پیام دریافتی.
برمی گرداند
اگر پیام به طور واقعی از طرف همتا باشد درست است.

IsConnectionTransport

bool IsConnectionTransport() const 

در حال آماده سازی

bool IsPreparing(
  void
) const 

جزئیات
برمی گرداند
اگر صحافی در حال آماده سازی باشد درست است.

آماده است

bool IsReady(
  void
) const 

جزئیات
برمی گرداند
اگر Binding در حالت آماده باشد درست است.

IsUDPTransport

bool IsUDPTransport() const 

UnreliableUDPTransport است

bool IsUnreliableUDPTransport() const 

IsWRMTransport

bool IsWRMTransport() const 

NewExchangeContext

WEAVE_ERROR NewExchangeContext(
  ExchangeContext *& appExchangeContext
)

یک Context Exchange جدید برای برقراری ارتباط با همتا که هدف اتصال است اختصاص دهید.

جزئیات
پارامترها
[out] appExchangeContext
ارجاع به اشاره‌گری که شیء Exchange Context را دریافت می‌کند. در صورتی که متد ناموفق باشد، نشانگر روی NULL تنظیم می شود.
ارزش های بازگشتی
WEAVE_NO_ERROR
اگر زمینه تبادل با موفقیت تخصیص داده شد.
WEAVE_ERROR_NO_MEMORY
اگر هیچ حافظه ای برای تخصیص زمینه تبادل در دسترس نبود.
WEAVE_ERROR_INCORRECT_STATE
اگر صحافی در حالت آماده نباشد.
other
سایر خطاهای مربوط به پیکربندی زمینه مبادله بر اساس پیکربندی اتصال.

رها کنید

void Release(
  void
)

رفرنسی به شی binding آزاد کنید.

اگر دیگر ارجاعی به شیء binding وجود نداشته باشد، صحافی بسته و آزاد می شود.

RequestPrepare

WEAVE_ERROR RequestPrepare()

از برنامه درخواست کنید تا Binding را پیکربندی و آماده کند.

کد لایه پروتکل می‌تواند از این روش در Binding استفاده کند که پیکربندی نشده یا ناموفق بوده است تا رویدادی را برای برنامه (kEvent_PrepareRequested) راه‌اندازی کند که درخواست پیکربندی و آماده کردن اتصال را برای استفاده دارد.

این روش را فقط می توان در Bindings در حالت NotConfigured یا Failed فراخوانی کرد.

اگر برنامه از پیکربندی/آماده سازی Bindings بر اساس درخواست پشتیبانی نکند، روش با WEAVE_ERROR_NOT_IMPLEMENTED شکست می خورد.

بازنشانی کنید

void Reset(
  void
)

اتصال را به حالت پیکربندی نشده بازنشانی کنید.

هنگامی که Reset() فراخوانی می شود، هر اقدام آماده سازی در حال انجام برای binding لغو می شود و تمام منابع ارتباطی خارجی که توسط binding نگهداری می شود آزاد می شوند. Reset() binding را در حالت Unconfigured قرار می دهد، پس از آن ممکن است دوباره پیکربندی و آماده شود.

Reset() تعداد مراجع اتصال را تغییر نمی دهد.

SetDefaultResponseTimeout

void SetDefaultResponseTimeout(
  uint32_t msec
)

زمان پاسخگویی تبادل پیش‌فرض را تنظیم کنید تا هنگام برقراری ارتباط با همتا استفاده شود.

جزئیات
پارامترها
[in] timeout
زمان پاسخ جدید در ms.

SetDefaultWRMPConfig

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

پیکربندی پیش فرض WRMP را برای استفاده در هنگام برقراری ارتباط با همتا تنظیم کنید.

جزئیات
پارامترها
[in] aWRMPConfig
ارجاع به ساختار WRMPConfig حاوی پیکربندی پیش فرض جدید.

SetEventCallback

void SetEventCallback(
  EventCallback aEventCallback
)

تابع تعریف شده توسط برنامه را تنظیم کنید تا زمانی که یک رویداد API برای Binding رخ می دهد، فراخوانی شود.

جزئیات
پارامترها
[in] aEventCallback
اشاره گر به عملکرد برگشت به تماس.

SetProtocolLayerCallback

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

یک تابع تماس رویداد را برای کد لایه پروتکل با استفاده از Binding از طرف یک برنامه تنظیم کنید.

هنگامی که رویدادهای API برای Binding رخ می دهد، علاوه بر تابع فراخوانی تعریف شده توسط برنامه فراخوانی می شود.

جزئیات
پارامترها
[in] callback
اشاره گر به عملکرد برگشت به تماس.
[in] state
یک اشاره گر به یک شیء حالت که در صورت وقوع یک تماس لایه پروتکل به کد لایه پروتکل ارائه می شود.

توابع استاتیک عمومی

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

کنترل کننده پیش فرض برای اتصال رویدادهای API.

برنامه‌ها باید این روش را برای رویدادهای API که نمی‌شناسند یا مدیریت نمی‌کنند فراخوانی کنند. پارامترهای ارائه شده باید همان پارامترهایی باشند که توسط اتصال به تابع کنترل کننده رویداد برنامه ارسال می شود.

جزئیات
پارامترها
[in] apAppState
یک اشاره گر به اطلاعات وضعیت تعریف شده توسط برنامه مرتبط با اتصال.
[in] aEvent
شناسه رویداد توسط پاسخ تماس رویداد ارسال شد
[in] aInParam
ارجاع پارامترهای رویداد ورودی که توسط پاسخ تماس رویداد ارسال شده است
[in] aOutParam
ارجاع پارامترهای رویداد خروجی که توسط پاسخ تماس رویداد ارسال شده است