nl::Weave::Profiles::BDX_Development::BdxNode

סיכום

בונים והורסים

BdxNode(void)
בנאי ברירת המחדל שמגדיר את כל החברים כ-NULL.

תפקידים ציבוריים

AllowBdxTransferToRun(bool aEnable)
void
משמש להפעלה/השבתה של שרת BDX בלי לכבות אותו ולהפעיל מחדש.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
הפונקציה מחזירה את הערך True אם שרת ה-BDX מורשה להתחיל העברה בשלב זה. אחרת, היא מחזירה את הערך false.
Init(WeaveExchangeManager *anExchangeMgr)
הגדר את כל ההעברות במצב ברירת מחדל לשימוש, אחסן את קובץ WeaveExchangeManager וכל משאבי Weave נחוצים אחרים, ומגדיר allowBdxTransferToRun(true).
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
IsInitialized(void)
bool
הפונקציה מחזירה את הערך True אם ה-BdxNode הזה כבר אותחל.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
מקבלים ומגדירים BDXTransfer חדש ממאגר העברה אם הוא זמין, או מגדירים אותו ל-NULL אחרת ומחזירים הודעת שגיאה.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
מקבלים ומגדירים BDXTransfer חדש ממאגר העברה אם הוא זמין, או מגדירים אותו ל-NULL אחרת ומחזירים הודעת שגיאה.
Shutdown(void)
משבית את כל ההעברות ומשחרר משאבים כלשהם ב-Weave (כרגע מגדיר את mExchangeMgr כ-NULL).

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

HandleReceiveInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
HandleSendInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
ShutdownTransfer(BDXTransfer *aXfer)
void
משביתים את אובייקט ההעברה הנתון ומחזירים אותו למאגר.

תפקידים ציבוריים

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

משמש להפעלה/השבתה של שרת BDX בלי לכבות אותו ולהפעיל מחדש.

פרטים
פרמטרים
[in] aEnable
הפעלה (true) או השבתה (false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

בנאי ברירת המחדל שמגדיר את כל החברים כ-NULL.

אל תנסה לעשות דבר עם השרת עד שתפעיל לפחות את init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

הפונקציה מחזירה את הערך True אם שרת ה-BDX מורשה להתחיל העברה בשלב זה. אחרת, היא מחזירה את הערך false.

פרטים
החזרות
TRUE אם העברת BDX מותרת, FALSE אם לא

הפעלה

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

הגדר את כל ההעברות במצב ברירת מחדל לשימוש, אחסן את קובץ WeaveExchangeManager וכל משאבי Weave נחוצים אחרים, ומגדיר allowBdxTransferToRun(true).

פרטים
פרמטרים
[in] anExchangeMgr
מנהל בורסה שיכול לשמש לפעולת ההעברה הזו בכמות גדולה.
ערכים מוחזרים
WEAVE_NO_ERROR
אם הבדיקה הצליחה
WEAVE_ERROR_INCORRECT_STATE
אם mExchangeMgr אינו ריק, כבר אותחל

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

IsInitialized

bool IsInitialized(
  void
)

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

פרטים
החזרות
TRUE אם האובייקט הזה הופעל

NewTransfer

WEAVE_ERROR NewTransfer(
  Binding *aBinding,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

מקבלים ומגדירים BDXTransfer חדש ממאגר העברה אם הוא זמין, או מגדירים אותו ל-NULL אחרת ומחזירים הודעת שגיאה.

פרטים
פרמטרים
[in] aBinding
הקישור לצומת שאיתו נתחיל את ההעברה. הוא משמש ליצירת ExchangeContext משויך להעברה הזו.
[in] aBDXHandlers
מבנה של handlers של BDX לקריאה חוזרת (callback) שיופעלו במהלך ההעברה
[in] aFileDesignator
המנפיק של הקובץ שיועבר.
[in] anAppState
אובייקט מצב ספציפי לאפליקציה שיצורף אל ה-BDXTransfer לצורך שימוש באפליקציה של המשתמש ובהתקשרות חזרה שמשויכת אליו.
[in] aXfer
מזהה העברה שיצביע על כך לאובייקט BDXTransfer החדש, אם יש כזה, או על NULL.
ערכים מוחזרים
WEAVE_NO_ERROR
אם הצלחנו למצוא BDXTransfer חדש.
WEAVE_ERROR_NO_MEMORY
אם לא ניתן ליצור את ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
אם יותר מדי העברות פעילות כרגע וה-Xfer הוא NULL
WEAVE_ERROR_INCORRECT_STATE
אם ABinding לא מוכן

NewTransfer

WEAVE_ERROR NewTransfer(
  WeaveConnection *aCon,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

מקבלים ומגדירים BDXTransfer חדש ממאגר העברה אם הוא זמין, או מגדירים אותו ל-NULL אחרת ומחזירים הודעת שגיאה.

פרטים
פרמטרים
[in] aCon
WeaveConnection לצומת שאיתו נתחיל את ההעברה. הוא משמש ליצירת ExchangeContext משויך להעברה הזו.
[in] aBDXHandlers
מבנה של handlers של BDX לקריאה חוזרת (callback) שיופעלו במהלך ההעברה
[in] aFileDesignator
המנפיק של הקובץ שיועבר.
[in] anAppState
אובייקט מצב ספציפי לאפליקציה שיצורף אל ה-BDXTransfer לצורך שימוש באפליקציה של המשתמש ובהתקשרות חזרה שמשויכת אליו.
[in] aXfer
מזהה העברה שיצביע על כך לאובייקט BDXTransfer החדש, אם יש כזה, או על NULL.
ערכים מוחזרים
WEAVE_NO_ERROR
אם הצלחנו למצוא BDXTransfer חדש.
WEAVE_ERROR_NO_MEMORY
אם לא ניתן ליצור את ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
אם יותר מדי העברות פעילות כרגע וה-Xfer הוא NULL
WEAVE_ERROR_INCORRECT_STATE
אם mExchangeMgr עדיין לא הוגדר או אם aCon לא קושר בהצלחה

כיבוי

WEAVE_ERROR Shutdown(
  void
)

משבית את כל ההעברות ומשחרר משאבים כלשהם ב-Weave (כרגע מגדיר את mExchangeMgr כ-NULL).

מגדיר את AllowBdxTransferToRun(false) ומנתק את כל הקריאות החוזרות הקיימות (לדוגמה, SendInitHandler).

פרטים
החזרות
WEAVE_NO_ERROR אם הכיבוי מתבצע בהצלחה, שגיאה אחרת אם AwaitBdxSend/ReceiveInit מחזיר שגיאה

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

HandleReceiveInit

void HandleReceiveInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendInit

void HandleSendInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

ShutdownTransfer

void ShutdownTransfer(
  BDXTransfer *aXfer
)

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

הפעולה הזו פשוט דוחה את הקוד BDXTransfer::Shutdown()

פרטים
פרמטרים
[in] aXfer
תהליך הסגירה של BDXTransfer