nl:: Weave:: Profiles:: DataManagement_Legacy
Weave 資料管理 (WDM) 設定檔即將淘汰的所有 Weave 介面都屬於這個命名空間。
摘要
Typedefs |
|
---|---|
TopicIdentifier
|
typedefuint64_t
主題 ID。 |
函式 |
|
---|---|
CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
|
bool
|
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
|
bool
檢查 WDM 專屬標記。
|
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
|
停止讀取 WDM 資料清單元素。
|
CloseList(nl::Weave::TLV::TLVReader & aReader)
|
停止讀取 WDM 路徑或資料清單。
|
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
|
使用已淘汰標記和整數執行個體 ID 對 WDM 路徑進行編碼。
|
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
|
使用已淘汰標記和字串執行個體 ID 對 WDM 路徑進行編碼。
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
|
使用整數設定檔執行個體 ID 對 WDM 路徑進行編碼。
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
|
使用位元組陣列執行個體 ID 對 WDM 路徑進行編碼。
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
|
使用字串執行個體 ID 對 WDM 路徑進行編碼。
|
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
完成資料清單元素寫入作業。
|
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
|
|
EndList(nl::Weave::TLV::TLVWriter & aWriter)
|
完成路徑清單或資料清單的寫入作業。
|
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
|
完成路徑清單或資料清單的寫入作業。
|
IsPublisherSpecific(const TopicIdentifier & aTopicId)
|
bool
確認特定主題 ID 是否為發布商專屬。
|
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
|
開始讀取資料清單。
|
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
|
開始讀取資料清單元素。
|
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
|
開始閱讀路徑清單。
|
PublisherSpecificTopicId(void)
|
從頭開始產生發布商專屬的主題 ID。
|
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
|
|
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
|
開始寫入資料清單。
|
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
|
開始將資料清單寫入指定的 ReferencedTLVData 物件。
|
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
開始寫入資料清單元素。
|
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
|
|
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
|
開始編寫路徑清單。
|
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
|
void
|
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
|
void
|
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
|
|
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
|
驗證系統所讀取的 TLV 元素是否含有預期的 WDM 標記。
|
類別 |
|
---|---|
nl:: |
Binding 類別則可使用 Weave 代表應用程式實體管理通訊狀態。 |
nl:: |
一種抽象類別,內含 WDM 用戶端所需的確認與指示方法定義。 |
nl:: |
當 WDM 用戶端需要訂閱和通知支援時,所採用的輔助類別。 |
nl:: |
應用程式專用 WDM 用戶端的抽象基本類別。 |
nl:: |
應用程式專用 WDM 發布商適用的抽象基本類別。 |
nl:: |
抽象 ProfileDatabase 輔助類別。 |
nl:: |
WDM 通訊協定引擎類別。 |
nl:: |
一種抽象類別,內含 WDM 發布商所需的確認和通知方法定義。 |
列舉
@103
@103
屬性 | |
---|---|
kStatus_CancelSuccess
|
這個舊的狀態碼代表訂閱項目已成功取消。 這個狀態碼表示訂閱項目已成功取消訂閱。 |
kStatus_IllegalReadRequest
|
此舊版狀態碼表示要求讀取特定資料項目的節點沒有執行此操作的權限。 此狀態碼表示要求讀取特定資料項目的節點沒有執行此操作的權限。 |
kStatus_IllegalWriteRequest
|
此舊版狀態碼表示要求寫入特定資料項目的節點沒有執行此操作的權限。 此狀態碼表示要求寫入特定資料項目的節點沒有執行此操作的權限。 |
kStatus_InvalidPath
|
這個舊版狀態碼代表檢視畫面或更新要求頁框的路徑清單路徑與回應者的節點常駐結構定義不符。 這個狀態碼表示檢視畫面或更新要求框架路徑清單中的路徑與回應者的節點常駐結構定義不符。 |
kStatus_InvalidVersion
|
這個舊版狀態碼表示更新要求中包含的資料版本與發布商的最新版本不符,因此無法套用更新。 這個狀態碼表示更新要求中包含的資料版本與發布商的最新版本不符,因此無法套用更新。 |
kStatus_UnknownTopic
|
這個舊有狀態碼代表在取消要求或通知中提供的主題 ID,與接收節點上的任何現有訂閱項目均不相符。 這個狀態碼代表取消要求或通知中提供的主題 ID,與接收節點上的任何訂閱項目均不相符。 |
kStatus_UnsupportedSubscriptionMode
|
這個舊的狀態碼代表接收裝置不支援所要求的訂閱模式。 這個狀態碼表示接收裝置不支援要求的訂閱模式。 |
@166
@166
WDM 集區和資料表大小。
WDM 定義作業所需的各種集區和資料表,如下所示。
用戶端交易集區:
- kViewPoolSize
- kSubscribePoolSize
- kCancelSubscriptionPoolSize
- kUpdatePoolSize
發布商交易集區:
- kNotifyPoolSize
通訊協定引擎表格:
- kTransactionTableSize
- kBindingTableSize
訂閱相關資料表:
- kNotifierTableSize (僅限用戶端)
- kSubscriptionMgrTableSize (僅限發布者)
請注意,這些項目可設定的數量,且各平台的值會顯示在相關聯的 WeaveConfig.h 中。
屬性 | |
---|---|
kBindingTableSize
|
這是 WDM 通訊協定引擎中繫結資料表的預設大小。 您可以透過 WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE 設定這個值。 |
kCancelSubscriptionPoolSize
|
這是 WDM 用戶端的取消訂閱要求交易集區預設大小。 您可以透過 WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE 設定這個值。 |
kNotifierTableSize
|
這是 WDM 用戶端的通知表格預設大小。 您可以透過 WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE 設定這個值。 |
kNotifyPoolSize
|
這是 WDM 發布商的通知要求交易集區預設大小。 您可以透過 WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE 設定這個值。 |
kSubscribePoolSize
|
這是 WDM 用戶端的訂閱要求交易集區預設大小。 這個值可以透過 WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE 設定。 |
kSubscriptionMgrTableSize
|
這是 WDM 發布商預設的訂閱資料表大小。 您可以透過 WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE 設定這個值。 |
kTransactionTableSize
|
這是 WDM 通訊協定引擎中交易資料表的預設大小。 這個值可以透過 WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE 設定。 |
kUpdatePoolSize
|
這是 WDM 用戶端的更新要求交易集區預設大小。 您可以透過 WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE 設定這個值。 |
kViewPoolSize
|
這是 WDM 用戶端的檢視要求交易集區預設大小。 這個值可以透過 WEAVE_CONFIG_WDM_VIEW_POOL_SIZE 設定。 |
167 號
@167
WDM 設定檔訊息類型。
這些值會在資料管理規格中呼叫。
注意!自 2015 年第 1 季起,舊版 WDM 所使用的訊息類型已不適用,並定義了新的訊息類型,以反映保留空間和剖析詳細資料之間的足夠變化,有助於合理控制故障狀況。
168 號
@168
其他 WDM 特定常數。
屬性 | |
---|---|
kDefaultBindingTableIndex
|
通訊協定引擎繫結表格中,預設繫結的索引包含多個項目。 |
kInstanceIdNotSpecified
|
在需要設定檔執行個體規格的呼叫中,會指出「無」。 這通常表示相關實體中只有一個商家檔案例項。 |
kResponseTimeoutNotSpecified
|
在要求交易的方法中,表示呼叫端拒絕指定逾時。 這通常表示應使用預設值。 |
kTransactionIdNotSpecified
|
在接受交易 ID 的方法和資料結構中,表示「無」或萬用字元值 |
kVersionNotSpecified
|
在需要指定資料版本的呼叫中,會指出「無特定版本」。 |
kWeaveTLVControlByteLen
|
|
kWeaveTLVTagLen
|
169 號
@169
WDM 專屬狀態碼。
屬性 | |
---|---|
kStatus_CancelSuccess
|
這個舊的狀態碼代表訂閱項目已成功取消。 這個狀態碼表示訂閱項目已成功取消訂閱。 |
kStatus_IllegalReadRequest
|
此舊版狀態碼表示要求讀取特定資料項目的節點沒有執行此操作的權限。 此狀態碼表示要求讀取特定資料項目的節點沒有執行此操作的權限。 |
kStatus_IllegalWriteRequest
|
此舊版狀態碼表示要求寫入特定資料項目的節點沒有執行此操作的權限。 此狀態碼表示要求寫入特定資料項目的節點沒有執行此操作的權限。 |
kStatus_InvalidPath
|
這個舊版狀態碼代表檢視畫面或更新要求頁框的路徑清單路徑與回應者的節點常駐結構定義不符。 這個狀態碼表示檢視畫面或更新要求框架路徑清單中的路徑與回應者的節點常駐結構定義不符。 |
kStatus_InvalidVersion
|
這個舊版狀態碼表示更新要求中包含的資料版本與發布商的最新版本不符,因此無法套用更新。 這個狀態碼表示更新要求中包含的資料版本與發布商的最新版本不符,因此無法套用更新。 |
kStatus_UnknownTopic
|
這個舊有狀態碼代表在取消要求或通知中提供的主題 ID,與接收節點上的任何現有訂閱項目均不相符。 這個狀態碼代表取消要求或通知中提供的主題 ID,與接收節點上的任何訂閱項目均不相符。 |
kStatus_UnsupportedSubscriptionMode
|
這個舊的狀態碼代表接收裝置不支援所要求的訂閱模式。 這個狀態碼表示接收裝置不支援要求的訂閱模式。 |
170 次
@170
資料管理通訊協定標記。
資料管理通訊協定會定義要在設定檔資料 TLV 表示法中使用的多個標記。
如往常一樣,新的 WDM 與舊版之間存在相容性問題。過去不好,所有這些標記都被套用為專屬於設定檔,不過這是浪費了空間的痕跡。我們現在會盡可能使用內容標記,但必須保留舊的標記,並視情況保留舊式標記的編碼機制。
先前版本並未使用 kTag_WDMDataListElementData 標記,程式碼已完全忽略,因此我們不需要提供已淘汰的版本。
屬性 | |
---|---|
kTag_WDMDataList
|
元素是包含路徑、選用版本和資料元素的結構清單。 代碼類型:設定檔專屬元素類型:陣列配置:頂層 |
kTag_WDMDataListElementData
|
元素代表具有指定版本且指向指定路徑的資料。 代碼類型:特定內容的元素類型:任何配置:必填 |
kTag_WDMDataListElementData_Deprecated
|
已淘汰, 代碼類型:特定內容的元素類型:任何配置:必填 |
kTag_WDMDataListElementPath
|
元素是資料清單元素的路徑元件。 代碼類型:特定內容的元素類型:路徑配置:必填 |
kTag_WDMDataListElementPath_Deprecated
|
已淘汰, 代碼類型:設定檔專屬元素類型:路徑配置:必要 |
kTag_WDMDataListElementVersion
|
元素是資料清單元素的版本元件。 代碼類型:內容專屬元素類型:整數處理:必填 |
kTag_WDMDataListElementVersion_Deprecated
|
已淘汰, 代碼類型:設定檔專屬元素類型:整數處理:必填 |
kTag_WDMPathArrayIndexSelector
|
路徑元素會對應結構定義中的陣列,而內含的整數元素會做為該陣列的索引。 代碼類型:設定檔專屬元素類型:整數處理 (選填) |
kTag_WDMPathArrayValueSelector
|
路徑元素會對應至結構定義中的陣列,而封裝的元素會做為記錄選取器使用。 代碼類型:設定檔專屬元素類型:結構配置:選用 |
kTag_WDMPathList
|
該元素是 TLV 路徑清單。 代碼類型:設定檔專屬元素類型:陣列配置:頂層 |
kTag_WDMPathProfile
|
元素是一種結構,用來啟動路徑,並包含設定檔資訊,以決定要解讀路徑中的標記。 代碼類型:設定檔專屬元素類型:結構配置:必填 |
kTag_WDMPathProfileId
|
該元素是路徑設定檔元素中設定檔 ID 元件,起始是 TLV 路徑。 代碼類型:內容專屬元素類型:整數處理:必填 |
kTag_WDMPathProfileId_Deprecated
|
已淘汰, 代碼類型:設定檔專屬元素類型:整數處理:必填 |
kTag_WDMPathProfileInstance
|
這個元素為設定檔執行個體,可能會追蹤 TLV 路徑中的設定檔 ID。 請注意,一個節點不一定能有多個特定設定檔的執行個體,如果只有一個執行個體,這個元素可以省略。 代碼類型:特定內容的元素類型:任何配置:選用 |
kTag_WDMPathProfileInstance_Deprecated
|
已淘汰, 代碼類型:設定檔專屬元素類型:任何配置:選用 |
171 次
@171
辨別主題 ID。
目前有三個辨別主題 ID,這三個 ID 格式皆為「發布商專屬」。
屬性 | |
---|---|
kAnyTopicId
|
系統會將這組 ID 保留為萬用字元主題 ID。 |
kTopicIdNotSpecified
|
此特殊值是用來表示無效或萬用字元主題 ID 的保留值。 |
kTopicIdPublisherSpecificMask
|
這個 ID 可做為遮罩建立或分解拓撲 ID。 |
WeaveTransportOption
WeaveTransportOption
WDM 傳輸選項。
這些是 WDM 的彼此專屬傳輸選項。
屬性 | |
---|---|
kTransport_TCP
|
基礎傳輸是 TCP。 繫結可用服務管理員或直接使用訊息層完成。 |
kTransport_UDP
|
基礎傳輸專屬於 UDP。 |
kTransport_WRMP
|
基礎傳輸只有 UDP,但附帶「應用程式支援層」可靠性提升 |
Typedefs
TopicIdentifier
uint64_t TopicIdentifier
主題 ID。
主題 ID 為 64 位元數量,包含兩項相關用途/語意。首先,這些標記可當做一組知名路徑的傳統簡寫,例如:" Nest 煙霧偵測器。」使用這種方式使用的主題 ID (就像設定檔 ID) 應包含供應商代碼,避免不同供應商自行選擇主題 ID,如下所示:
位元 48 - 63 | 位元 0 - 47 |
供應商 ID | 主題編號 |
WeaveVendorIdentifiers.hpp
函式
CheckTLVType
bool CheckTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
CheckWDMTag
bool CheckWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
CloseDataListElement
WEAVE_ERROR CloseDataListElement( nl::Weave::TLV::TLVReader & aReader )
停止讀取 WDM 資料清單元素。
這個方法假設有問題的元素屬於 WDM 資料清單,因此會將 kTLVType_Array 傳遞至 ExitContainer()。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,系統會傳回無法退出容器的 WEAVE_ERROR。
|
CloseList
WEAVE_ERROR CloseList( nl::Weave::TLV::TLVReader & aReader )
停止讀取 WDM 路徑或資料清單。
這個方法假設有問題的清單是最頂層的 TLV 元素,因此會將 kTLVType_Sructure 傳遞至 ExitContainer()。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,系統會傳回無法退出容器的 WEAVE_ERROR。
|
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
使用已淘汰標記和整數執行個體 ID 對 WDM 路徑進行編碼。
注意:請在 Weave 版本 2.0 之前,使用服務接受的已淘汰標記來編碼路徑。這個版本的方法會採用數值執行個體 ID。 這個方法會使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) 啟動容器,然後使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_已淘汰) 插入設定檔 ID。接著使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_的應用程式) 插入執行個體 ID。這是用於編碼路徑的其中一個已淘汰版本,新版設計應避免使用這種格式。
詳細資料 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法設定指定路徑的格式。
|
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
使用已淘汰標記和字串執行個體 ID 對 WDM 路徑進行編碼。
注意:請使用已淘汰的標記集編碼路徑 (請參閱 DMConstants.h)。這個版本的方法使用執行個體 ID 字串。 這個方法會使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) 啟動容器,然後使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_已淘汰) 插入設定檔 ID。接著使用 ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_的應用程式) 插入執行個體 ID。這是用於編碼路徑的其中一個已淘汰版本,新版設計應避免使用這種格式。
詳細資料 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法設定指定路徑的格式。
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
使用整數設定檔執行個體 ID 對 WDM 路徑進行編碼。
注意:請針對資料管理中使用的種類編寫 TLV 路徑,其中尤其要有設定檔標示,以利解讀後續路徑元素。 這個版本的方法會使用整數設定檔執行個體 ID。
這個方法會使用 ContextTag(kTag_WDMPathProfileInstance) 插入執行個體 ID,這是編碼路徑的最新版本。
詳細資料 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法設定指定路徑的格式。
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ... )
使用位元組陣列執行個體 ID 對 WDM 路徑進行編碼。
注意:請針對資料管理中使用的種類編寫 TLV 路徑,其中尤其要有設定檔標示,以利解讀後續路徑元素。 這個版本的方法會使用位元組陣列設定檔執行個體 ID 和長度。
這個方法會使用 ContextTag(kTag_WDMPathProfileInstance) 插入執行個體 ID,這是編碼路徑的最新版本。
詳細資料 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法設定指定路徑的格式。
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
使用字串執行個體 ID 對 WDM 路徑進行編碼。
注意:請針對資料管理中使用的種類編寫 TLV 路徑,其中尤其要有設定檔標示,以利解讀後續路徑元素。 這個版本的方法會使用字串設定檔執行個體 ID。
這個方法會使用 ContextTag(kTag_WDMPathProfileInstance) 插入執行個體 ID,這是編碼路徑的最新版本。
詳細資料 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法設定指定路徑的格式。
|
EndDataListElement
WEAVE_ERROR EndDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
完成資料清單元素寫入作業。
為 WDM 資料清單元素結尾寫入 TLV。請注意,這會自動將一種 kTLVType_Array 類型傳遞給 EndContainer() 呼叫 (假設我們一律關閉清單項目)。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR 以反映無法結束容器的情況。
|
EndEncodePath
WEAVE_ERROR EndEncodePath( TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError )
EndList
WEAVE_ERROR EndList( nl::Weave::TLV::TLVWriter & aWriter )
完成路徑清單或資料清單的寫入作業。
針對 WDM 路徑或資料清單的結尾寫入 TLV。另外,請定下撰文者。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR 以反映無法結束容器的情況。
|
EndList
WEAVE_ERROR EndList( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter )
完成路徑清單或資料清單的寫入作業。
針對 WDM 路徑或資料清單的結尾寫入 TLV。另外,請定下撰文者。在此情況下,系統會將要寫入 TLV 的 ReferencedTLVData 物件傳入並修改,以反映寫入的資料量。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR 以反映無法結束容器的情況。
|
IsPublisherSpecific
bool IsPublisherSpecific( const TopicIdentifier & aTopicId )
確認特定主題 ID 是否為發布商專屬。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
如果主題 ID 為發布商專屬,則為 true,否則傳回 false
|
OpenDataList
WEAVE_ERROR OpenDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader )
開始讀取資料清單。
取得新的讀取器和資料清單後,請開始讀取清單,並驗證最初在這個過程中遇到的標記和類型。如果一切順利,讀取器就會在輸入清單容器後停止。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,系統會傳回 WEAVE_ERROR,表示開啟資料清單失敗,和/或驗證相關標記和類型。
|
OpenDataListElement
WEAVE_ERROR OpenDataListElement( nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion )
開始讀取資料清單元素。
如果讀者位於資料清單元素,即可開始讀取該元素,並驗證最初在這個程序中遇到的標記和類型。如果一切順利,讀取器就會位在資料元素資料中,而傳入/傳出路徑讀取器則位於對應的路徑。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
成功時 WEAVE_NO_ERROR,或是與開啟及讀取資料清單元素相關聯的 WEAVE_ERROR。
|
OpenPathList
WEAVE_ERROR OpenPathList( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader )
開始閱讀路徑清單。
取得新的讀取器和路徑清單後,請開始閱讀清單,並驗證最初在這個過程中遇到的標記和類型。如果一切順利,讀取器就會在輸入清單容器後停止。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 於成功;否則,WEAVE_ERROR 表示開啟路徑清單失敗,和/或驗證相關標記和類型。
|
PublisherSpecificTopicId
TopicIdentifier PublisherSpecificTopicId( void )
從頭開始產生發布商專屬的主題 ID。
詳細資料 | |
---|---|
傳回 |
新的主題 ID
|
SendStatusReport
WEAVE_ERROR SendStatusReport( ExchangeContext *aExchangeCtx, StatusReport & aStatus )
StartDataList
WEAVE_ERROR StartDataList( nl::Weave::TLV::TLVWriter & aWriter )
開始寫入資料清單。
針對 WDM 資料清單的開頭寫 TLV (例如做為 UpdateRequest() 的主要引數。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法啟動容器。
|
StartDataList
WEAVE_ERROR StartDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter )
開始將資料清單寫入指定的 ReferencedTLVData 物件。
針對 WDM 資料清單的開頭編寫 TLV。在這個例子中,我們假設我們要將資料清單寫入參照的 TLV 資料結構。系統會假設寫入者是未初始化,或者在任何情況下,都會初始化成指向指定物件。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法啟動容器。
|
StartDataListElement
WEAVE_ERROR StartDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
開始寫入資料清單元素。
針對 WDM 資料清單元素的開頭編寫 TLV。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法啟動容器。
|
StartEncodePath
WEAVE_ERROR StartEncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath )
StartPathList
WEAVE_ERROR StartPathList( nl::Weave::TLV::TLVWriter & aWriter )
開始編寫路徑清單。
撰寫 WDM 路徑清單開頭的 TLV (例如做為 ViewRequest() 的主要引數。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
WEAVE_NO_ERROR 即成功。否則,會傳回 WEAVE_ERROR,表示無法啟動容器。
|
TxnResponseHandler
void TxnResponseHandler( ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg )
TxnTimeoutHandler
void TxnTimeoutHandler( ExchangeContext *anExchangeCtx )
ValidateTLVType
WEAVE_ERROR ValidateTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
依據 TLV 讀取器標頭內的元素類型檢查特定 TLV 類型,如果不相符,就傳回錯誤。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
若有相符項目,則傳回 WEAVE_NO_ERROR,否則請輸入 WEAVE_ERROR_WRONG_TLV_TYPE。
|
WeaveTLVTypes.h
ValidateWDMTag
WEAVE_ERROR ValidateWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
驗證系統所讀取的 TLV 元素是否含有預期的 WDM 標記。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 即成功。否則,如果代碼在被解讀為 WDM 代碼時和指定的標記編號不相符,則 WEAVE_ERROR_INVALID_TLV_TAG。
|