nl::Weave::Binding

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

מתעד את היעד המיועד של תקשורת Weave ומידע על ההגדרות האישיות המשויכות.

סיכום

אובייקט Binding מזהה את היעד המיועד של תקשורת Weave (נקרא גם 'עמית', יחד עם קבוצת פרמטרים של הגדרה שמתארת איך תתנהל התקשורת עם האפליקציה להשוואה). הקישורים אינם תלויים בפרוטוקול של האפליקציה המדוברת בין שני הצדדים. לכן, הן מקליטות את ה"מי" והמודל "איך", של תקשורת, אבל לא של מה.

הגדרה

האפליקציות צריכות להגדיר קישור עם פרמטרים ספציפיים לסוג ערוץ התקשורת הרצוי. Bindings מספקים תמיכה למגוון רחב של העברות ברשת, כולל TCP , UDP , UDP עם Weave Trusted Messaging ו-Weave over BLE (WoBLE). האפליקציות יכולות גם לבקש שימוש במנגנוני אבטחה ספציפיים כדי להגן על הודעות שנשלחות בין הצדדים. המפתחות האלה כוללים סשנים של CASE ו-PASE, ומפתחות של קבוצות של אפליקציות. הממשק להגדרה של Binding משתמש בסגנון API הצהרתי שמאפשר לאפליקציות לציין בשפה פשוטה את הדרישות שלהן לתקשורת.

פרטים נוספים זמינים במסמכי התיעוד בנושא Binding::Configuration.

הכנה

יש להכין את הקישור לפני התקשורת. תהליך ההכנה של הקישור כולל יצירת המצב ההכרחי כדי שהתקשורת תתבצע. דוגמאות לנתונים כאלה: איתור כתובת הרשת של הרשת השכנה, יצירת חיבור לרשת וניהול משא ומתן למפתחות אבטחה. אחרי שהאפליקציה מגדירה את הקישור, ה-Binding מבצע את כל השלבים שדרושים כדי להתכונן לתקשורת, וחוזר לאפליקציה בסיום התהליך. באופן הזה, Bindings מסתירים את המכניקה של התקשורת ומאפשרים לאפליקציות להתמקד באינטראקציות ברמה גבוהה.

תקשורת

לאחר הכנת הקישור, הוא מוכן לשימוש. במצב הזה, אפליקציות (או קוד של שכבת פרוטוקול שפועל בשם אפליקציה) מבקשים את ה-Binding להקצאת הקשר של Weave. ההקשר של ההחלפה שמתקבל מוגדר מראש לתקשורת, וכך מאפשר לאפליקציה ליזום באופן מיידי החלפה של Weave עם האפליקציה השכנה. האפליקציה יכולה להמשיך לבקש הקשרים של חילופי המרות מהקישור עד שהקישור ייסגר, או שאירוע מסוים (למשל, כשל ברשת) יגרום לסיום של ערוץ התקשורת הבסיסי.

שינויים במצב הקישור

במהלך השימוש, Binding יספק אירועי API לאפליקציה ויודיעו לה על שינויים במצב ה-Binding. לדוגמה, כשתהליך ההכנה מסתיים בהצלחה, הבקשה תקבל אירוע שיודיע לה שהקישור מוכן לשימוש. באופן דומה, אם ערוץ התקשורת הבסיסי נכשל, אירוע נשלח לאפליקציה ומודיע לה שהקישור כבר לא במצב מוכן.

אירועי API נשלחים לאפליקציה באמצעות פונקציית קריאה חוזרת של אירוע (callback) שמסופקת על ידי הקצאת ה-Binding.

משך החיים של הקישורים

קישורים הם הפניות נספרות כדי לאפשר שימוש משותף במספר רכיבי תוכנה. כאשר מוקצה קישור, נוצרת הפניה אחת לקישור. האפליקציה אחראית לפרסום קובץ העזר הזה בשלב כלשהו בעתיד, כך שהקישור יהיה זמין לשימוש חוזר בחינם.

כשאפליקציה מתבצעת באמצעות Binding, היא עשויה לקרוא ל-Close() בקישור. הפעולה הזו מבטלת את ההפניה של האפליקציה ל-Binding ומונעת שליחה של אירועי API נוספים. כשההפניה האחרונה לקישור משוחררת, היא נסגרת באופן אוטומטי.

סוגים ציבוריים

@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
סוגרים את אובייקט הקישור ומשחררים את קובץ העזר.
GetConnection() const
מקבלים את אובייקט החיבור של Weave שמשויך לקישור.
GetDefaultResponseTimeout() const
uint32_t
מקבלים את הזמן הקצוב לתפוגה של תגובה מ-Exchange כברירת מחדל לשימוש בתקשורת עם אפליקציה להשוואה.
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
מקבלים את גודל המטען הייעודי (payload) המקסימלי של 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)
להקצות הקשר חדש ב-Exchange לתקשורת עם האפליקציה להשוואה שמשמשת כיעד לקישור.
Release(void)
void
משחררים הפניה לאובייקט הקישור.
RequestPrepare()
מבקשים מהאפליקציה להגדיר ולהכין את הקישור.
Reset(void)
void
מאפסים את הקישור בחזרה למצב שלא הוגדר.
SetDefaultResponseTimeout(uint32_t msec)
void
צריך להגדיר את הזמן הקצוב לתפוגה של תגובה ל-Exchange שישמש כברירת מחדל בתקשורת עם האפליקציה השכנה.
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
handler ברירת המחדל לקישור אירועי API.

שיעורים

nl::Weave::Binding::Configuration

ממשק בסגנון הצהרתי להגדרה ולהכנה של אובייקט Binding.

מבנים

nl::Weave::Binding::InEventParam

צריך להזין פרמטרים לאירוע Binding API.

nl::Weave::Binding::OutEventParam

פרמטרים של פלט לאירוע Binding API.

סוגים ציבוריים

23@

 @23
מאפיינים
kGetPeerDescription_MaxLength

האורך המקסימלי של מחרוזת (כולל תו NUL) שהוחזר על ידי GetPeerDescription().

EventCallback

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

EventType

 EventType
מאפיינים
kEvent_BindingFailed

הקישור נכשל ולא ניתן יותר להשתמש בו כדי לתקשר עם האפליקציה להשוואה.

kEvent_BindingReady

פעולת ההכנה לקישור הצליחה, ועכשיו אפשר להשתמש בקישור כדי לתקשר עם אפליקציה להשוואה.

kEvent_ConnectionEstablished

חיבור Weave המבוקש נוצר.

kEvent_DefaultCheck

משמש לאימות הטיפול הנכון באירועים באפליקציה כברירת מחדל.

kEvent_PASEParametersRequested

האפליקציה מבקשת לספק פרמטרים לשימוש במהלך יצירת סשן PASE.

kEvent_PrepareFailed

פעולת ההכנה בקישור נכשלה.

kEvent_PrepareRequested

האפליקציה מתבקשת להגדיר ולהכין את הקישור לשימוש על ידי מחסנית הרשת.

kEvent_TAKEParametersRequested

האפליקציה מבקשת לספק פרמטרים לשימוש במהלך יצירת סשן TAKE.

מדינה

 State

מאפיינים ציבוריים

AppState

void * AppState

פונקציות ציבוריות

AddRef

void AddRef(
  void
)

שומרים הפניה לאובייקט הקישור.

AdjustResponseTimeout

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

כדי להתאים את הזמן הקצוב לתפוגה של תגובה, צריך להגדיר מחדש הקשר קיים של Exchange.

פרטים
פרמטרים
[in] apExchangeContext
מצביע לאובייקט הקשר של Exchange שיש להגדיר מחדש

AllocateRightSizedBuffer

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

BeginConfiguration

Configuration BeginConfiguration()

להיות התהליך של הגדרת ה-Binding.

האפליקציות חייבות לקרוא ל-BeginConfiguration() כדי להגדיר את ה-Binding לפני הכנתו לתקשורת עם אפליקציה להשוואה.

פרטים
החזרות
אובייקט Binding::Configuration שיכול לשמש להגדרת הקישור.

CanBePrepared

bool CanBePrepared(
  void
) const 

סגירה

void Close(
  void
)

סוגרים את אובייקט הקישור ומשחררים את קובץ העזר.

כאשר מתבצעת קריאה, שיטה זו גורמת לקישור לעבור למצב סגור. כל פעולות ההכנה לקישור יבוטלו וכל משאבי התקשורת החיצוניים שמוחזקים בקישור ישוחררו.

קריאה ל-Close() מקטינה את מספר ההפניות שמשויכות לקישור, וכך האובייקט מתפנה אם מספר ההפניות הופך לאפס.

GetConnection

WeaveConnection * GetConnection() const 

מקבלים את אובייקט החיבור של Weave שמשויך לקישור.

פרטים
החזרות
מצביע לאובייקט WeaveConnection או NULL אם אין חיבור המשויך לקישור.

GetDefaultResponseTimeout

uint32_t GetDefaultResponseTimeout() const 

מקבלים את הזמן הקצוב לתפוגה של תגובה מ-Exchange כברירת מחדל לשימוש בתקשורת עם אפליקציה להשוואה.

פרטים
החזרות
הזמן הקצוב לתפוגה של תגובה באלפיות השנייה.

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
)

מקבלים את גודל המטען הייעודי (payload) המקסימלי של Weave שיכול להתאים ל-PacketBuffer שסופק.

ב-UDP, כולל UDP עם WRM, הגודל המרבי של המטען הייעודי (payload) שיוחזר מבטיח שהודעת Weave שמתקבלת לא תחרוג מ-UDP MTU שהוגדר.

בנוסף, השיטה הזו תבטיח שהמטען הייעודי (payload) של Weave לא ימלא את ה- PacketBuffer שסופק.

פרטים
פרמטרים
[in] msgBuf
מצביע אל PacketBuffer שאליו ייכתב המטען הייעודי של ההודעה.
החזרות
הגודל המקסימלי של המטען הייעודי (payload) של Weave.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

יצירת מחרוזת שמתארת את הצומת של האפליקציה להשוואה ואת פרטי הכתובת או החיבור המשויכים אליו.

פרטים
פרמטרים
[in] buf
מצביע למאגר נתונים זמני שבו צריך לכתוב את המחרוזת. מאגר הנתונים הזמני שסופק צריך להיות בגודל של לפחות kGetPeerDescription_MaxLength. אם מוגדר מאגר נתונים זמני קטן יותר, המחרוזת תיחתך כדי שתתאים לגודל שלה. בכל המקרים, הפלט יכלול תו סיום NUL.
[in] bufSize
גודל מאגר הנתונים הזמני שפונה אליו.

GetPeerIPAddress

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

מאחזרים את פרטי כתובת ה-IP של האפליקציה להשוואה, אם יש כזו.

זמינות פרטי כתובת ה-IP של האפליקציה להשוואה תלויה במצב ובתצורה של הקישור. הפרטים של כתובת ה-IP זמינים רק כשמשתמשים בתעבורה מבוססת-IP (TCP , UDP או UDP עם WRMP). לפני תחילת ההכנה, פרטי הכתובת זמינים רק אם הם הוגדרו במפורש על ידי האפליקציה במהלך ההגדרה. במהלך שלב ההכנה, פרטי הכתובת יהיו זמינים בסיום הכנת הכתובת (למשל, לאחר סיום רזולוציית ה-DNS). אחרי שהקישור מוכן, פרטי הכתובת יישארו זמינים עד לאיפוס הקישור.

פרטים
פרמטרים
[out] address
הפניה לאובייקט IPAddress שיקבל את כתובת ה-IP של האפליקציה להשוואה. אם פרטי כתובת ה-IP של האפליקציה השכנה לא זמינים, הערך שיוגדר הוא IPAddress::Any.
[out] port
הפניה למספר שלם שיקבל את מספר היציאה של האפליקציה להשוואה. אם פרטי כתובת ה-IP של האפליקציה להשוואה לא זמינים, הערך הזה לא מוגדר.
[out] interfaceId
הפניה למספר שלם שיקבל את המזהה של ממשק הרשת שדרכו ניתן להגיע להשוואה. אם פרטי כתובת ה-IP של האפליקציה להשוואה לא זמינים, הערך הזה לא מוגדר.

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

מאחזרים את מזהה הצומת של האפליקציה לקישור.

תקף רק לאחר שאובייקט הקישור מוכן.

פרטים
החזרות
מזהה צומת Weave של העמית

GetProtocolLayerCallback

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

GetState

State GetState(
  void
) const 

מאחזרים את המצב הנוכחי של הקישור.

פרטים
החזרות
מצב הקישור.

IsAuthenticMessageFromPeer

bool IsAuthenticMessageFromPeer(
  const WeaveMessageInfo *msgInfo
)

אפשר לקבוע אם הודעה נכנסת מסוימת מגיעה מהעמית שהוגדר והיא מאומתת כמו שצריך.

השיטה הזו מאשרת את הפרטים הבאים לגבי ההודעה הנתונה:

  • ההודעה הגיעה מהצומת של הרשת השכנה של הקישור
  • ההודעה התקבלה באותו סוג העברה כמו הקישור. אם ההודעה התקבלה באמצעות חיבור, השיטה גם תאשר שההודעה התקבלה באמצעות החיבור המדויק המשויך לקישור.
  • מפתח ההצפנה וסוג ההצפנה ששימשו להצפנת ההודעה תואמים את אלו שהוגדרו בקישור. לקישורים שהוגדרו ללא שימוש באבטחה, השיטה מאשרת שההודעה הנכנסת לא מוצפנת.

השיטה הזו מיועדת לשימוש בפרוטוקולים כמו WDM, שבהם עמיתים יכולים ליזום באופן ספונטני החלפות בחזרה לצומת המקומי לאחר החלפה ראשונית מהצומת לעמית. במקרים כאלה, ה-method מאפשרת לצומת המקומי לאמת שההודעה הנכנסת ללא אישור מצד המשתמש נשלחה. (כמובן, לקישורים שהוגדרו ללא שימוש בהצפנת הודעה, הטענה הזו לא מספקת ערך מבחינה אבטחה. הוא רק מאשר שמזהה הצומת של השולח וסוגי התעבורה תואמים.)

שימו לב שאם הקישור לא במצב 'מוכן', השיטה הזו תמיד תחזיר את הערך False.

פרטים
פרמטרים
[in] msgInfo
פרטי ההודעה של Weave עבור ההודעה הנכנסת.
החזרות
True אם ההודעה היא אותנטית מהעמיתים.

IsConnectionTransport

bool IsConnectionTransport() const 

IsPreparing

bool IsPreparing(
  void
) const 

פרטים
החזרות
הערך הוא True אם הקישור נמצא בתהליך הכנה.

IsReady

bool IsReady(
  void
) const 

פרטים
החזרות
הערך הוא True אם הקישור נמצא במצב 'מוכן'.

IsUDPTransport

bool IsUDPTransport() const 

IsUnreliableUDPTransport

bool IsUnreliableUDPTransport() const 

IsWRMTransport

bool IsWRMTransport() const 

NewExchangeContext

WEAVE_ERROR NewExchangeContext(
  ExchangeContext *& appExchangeContext
)

להקצות הקשר חדש ב-Exchange לתקשורת עם האפליקציה להשוואה שמשמשת כיעד לקישור.

פרטים
פרמטרים
[out] appExchangeContext
הפניה לסמן שיקבל את אובייקט Exchange Context שהוקצה לאחרונה. הסמן יוגדר ל-NULL במקרה שה-method תיכשל.
מוחזר ערכים
WEAVE_NO_ERROR
אם ההקשר של ההחלפה הוקצה בהצלחה.
WEAVE_ERROR_NO_MEMORY
אם לא היה זיכרון זמין להקצאת ההקשר של ההחלפה.
WEAVE_ERROR_INCORRECT_STATE
אם הקישור לא במצב Ready (מוכן).
other
שגיאות אחרות שקשורות להגדרת ההקשר של ה-Exchange על סמך ההגדרות של הקישור.

פריט תוכן

void Release(
  void
)

משחררים הפניה לאובייקט הקישור.

אם אין יותר הפניות לאובייקט הקישור, הקישור נסגר ויתפנה.

RequestPrepare

WEAVE_ERROR RequestPrepare()

מבקשים מהאפליקציה להגדיר ולהכין את הקישור.

קוד שכבת הפרוטוקול יכול להשתמש בשיטה הזו בקישור שלא הוגדר או נכשל, כדי להפעיל אירוע לאפליקציה (kEvent_PrepareRequested) כדי להגדיר את הקישור ולהכין אותו לשימוש.

ניתן לקרוא לשיטה הזו רק ב'קישורים' במצב 'לא הוגדר' או 'נכשל'.

אם האפליקציה לא תומכת בתצורה/בהכנה של קישורים על פי דרישה, השיטה תיכשל עם WEAVE_ERROR_NOT_IMPLEMENTED.

איפוס

void Reset(
  void
)

מאפסים את הקישור בחזרה למצב שלא הוגדר.

כשמתבצעת קריאה ל-Reset(), כל פעולות ההכנה שמתבצעות לקישור מתבטלות וכל משאבי התקשורת החיצוניים שמוחזקים בקישור משוחררים. הפונקציה Reset() תעביר את הקישור במצב לא מוגדר, ואז אפשר להגדיר אותו ולהכין אותו שוב.

Reset() לא משנה את מספר ההפניות בקישור.

SetDefaultResponseTimeout

void SetDefaultResponseTimeout(
  uint32_t msec
)

צריך להגדיר את הזמן הקצוב לתפוגה של תגובה ל-Exchange שישמש כברירת מחדל בתקשורת עם האפליקציה השכנה.

פרטים
פרמטרים
[in] timeout
הזמן הקצוב לתפוגה של התשובה החדשה באלפיות השנייה.

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
מצביע לאובייקט מצב שיסופק לקוד שכבת הפרוטוקול כשמתרחשת קריאה חוזרת (callback) של שכבת פרוטוקול.

פונקציות סטטיות ציבוריות

DefaultEventHandler

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

handler ברירת המחדל לקישור אירועי API.

אפליקציות נדרשות לקרוא ל-method הזה לכל אירועי API שהם לא מזהים או לא מטפלים בהם. הפרמטרים שסופקו חייבים להיות זהים לפרמטרים שמועברים על ידי הקישור אל פונקציית המטפל באירועים של האפליקציה.

פרטים
פרמטרים
[in] apAppState
מצביע אל מידע על מצב מוגדר-האפליקציה שמשויך לקישור.
[in] aEvent
מזהה האירוע שהועבר על ידי הקריאה החוזרת של האירוע
[in] aInParam
הפניה לפרמטרים של קלט מסוג אירוע שמועברים על-ידי הקריאה החוזרת של האירוע
[in] aOutParam
הפניה לפרמטרים של אירוע פלט שהועברו על ידי הקריאה החוזרת של האירוע (callback)