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 אם לא

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

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

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

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
המבנה של גורמים המטפלים בקריאות חוזרות (callback) של BDX שייקרא במהלך ההעברה
[in] aFileDesignator
הכלי לבחירת קובץ שיועבר.
[in] anAppState
אובייקט מצב ספציפי לאפליקציה שיצורף ל-BDXTransfer לשימוש של אפליקציית המשתמש והקריאות החוזרות המשויכות.
[in] aXfer
מצביע על ההפניה, שמצביע לאובייקט BDXTransfer החדש, אם הוא זמין, אחרת הוא NULL.
מוחזר ערכים
WEAVE_NO_ERROR
אם מצאנו בהצלחה פעולת BDXTransfer חדשה.
WEAVE_ERROR_NO_MEMORY
אם לא ניתן ליצור ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
אם יש יותר מדי העברות פעילות כרגע, וה-aXfer הוא NULL
WEAVE_ERROR_INCORRECT_STATE
אם הקישור לא מוכן

NewTransfer

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

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

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

כיבוי

WEAVE_ERROR Shutdown(
  void
)

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

מגדיר את AllowBdxTransferToRun(false) ומנתק את כל הקריאות החוזרות (callback) הקיימות (לדוגמה, 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 לצורך כיבוי