nl::Weave::Profiles::DataManagement_Legacy

Không gian tên này bao gồm tất cả giao diện trong cấu hình Weave dành cho cấu hình Quản lý dữ liệu Weave (WDM) sắp không dùng nữa.

Tóm tắt

Liệt kê

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
Kích thước bảng và nhóm WDM.
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
Loại thông báo trong hồ sơ WDM.
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
Các hằng số khác dành riêng cho WDM.
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
Mã trạng thái dành riêng cho WDM.
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
Thẻ Giao thức quản lý dữ liệu.
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
ID chủ đề nổi bật.
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
Tuỳ chọn truyền tải WDM.

Typedef

TopicIdentifier typedef
uint64_t
Giá trị nhận dạng chủ đề.

Hàm

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
Kiểm tra để đảm bảo rằng phần tử TLV đang được đọc có loại TLV đúng như dự kiến.
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
bool
Kiểm tra một thẻ dành riêng cho WDM.
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
Dừng đọc phần tử danh sách dữ liệu WDM.
CloseList(nl::Weave::TLV::TLVReader & aReader)
Dừng đọc đường dẫn WDM hoặc danh sách dữ liệu.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã phiên bản số nguyên.
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã thực thể chuỗi.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng mã phiên bản hồ sơ số nguyên.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng mã phiên bản mảng byte.
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
Mã hoá đường dẫn WDM bằng mã thực thể chuỗi.
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Hoàn tất việc viết phần tử danh sách dữ liệu.
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
EndList(nl::Weave::TLV::TLVWriter & aWriter)
Hoàn tất việc viết danh sách đường dẫn hoặc danh sách dữ liệu.
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
Hoàn tất việc viết danh sách đường dẫn hoặc danh sách dữ liệu.
IsPublisherSpecific(const TopicIdentifier & aTopicId)
bool
Kiểm tra xem mã chủ đề có dành riêng cho nhà xuất bản hay không.
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
Bắt đầu đọc một danh sách dữ liệu.
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
Bắt đầu đọc một phần tử của danh sách dữ liệu.
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
Bắt đầu đọc danh sách đường dẫn.
PublisherSpecificTopicId(void)
Tạo mã chủ đề dành riêng cho nhà xuất bản từ đầu.
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu viết một danh sách dữ liệu.
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu ghi một danh sách dữ liệu vào một đối tượng ReferencedTLVData nhất định.
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu viết một phần tử danh sách dữ liệu.
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
Bắt đầu viết một danh sách đường dẫn.
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)
Xác thực rằng phần tử TLV đang được đọc có kiểu TLV dự kiến.
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
Xác thực rằng phần tử TLV đang được đọc có thẻ WDM dự kiến.

Lớp

nl::Weave::Profiles::DataManagement_Legacy::Binding

Lớp Binding quản lý trạng thái giao tiếp thay mặt cho một thực thể ứng dụng bằng cách dùng Weave.

nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager

Một lớp trừu tượng chứa các định nghĩa phương thức xác nhận và chỉ báo do ứng dụng WDM yêu cầu.

nl::Weave::Profiles::DataManagement_Legacy::ClientNotifier

Một lớp phụ trợ được sử dụng khi mong muốn có hỗ trợ thuê bao và thông báo trên ứng dụng WDM.

nl::Weave::Profiles::DataManagement_Legacy::DMClient

Lớp cơ sở trừu tượng cho các ứng dụng WDM dành riêng cho ứng dụng.

nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

Lớp cơ sở trừu tượng dành cho nhà xuất bản WDM dành riêng cho ứng dụng.

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

Lớp phụ trợ trừu tượng ProfileDatabase.

nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine

Lớp công cụ giao thức WDM.

nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Một lớp trừu tượng chứa các định nghĩa phương thức xác nhận và thông báo theo yêu cầu của nhà xuất bản WDM.

Liệt kê

@103

 @103
Thuộc tính
kStatus_CancelSuccess

Mã trạng thái cũ này có nghĩa là gói thuê bao đã được huỷ thành công.

Mã trạng thái này có nghĩa là gói thuê bao đã được huỷ thành công.

kStatus_IllegalReadRequest

Mã trạng thái cũ này có nghĩa là nút thực hiện yêu cầu đọc một mục dữ liệu cụ thể không có quyền thực hiện việc đó.

Mã trạng thái này có nghĩa là nút thực hiện yêu cầu đọc một mục dữ liệu cụ thể không có quyền làm việc đó.

kStatus_IllegalWriteRequest

Mã trạng thái cũ này có nghĩa là nút tạo yêu cầu ghi một mục dữ liệu cụ thể không có quyền thực hiện việc đó.

Mã trạng thái này có nghĩa là nút thực hiện yêu cầu ghi một mục dữ liệu cụ thể không có quyền thực hiện việc đó.

kStatus_InvalidPath

Mã trạng thái cũ này có nghĩa là một đường dẫn từ danh sách đường dẫn của một khung hiển thị hoặc khung yêu cầu cập nhật không khớp với giản đồ thường trú trong nút của trình phản hồi.

Mã trạng thái này có nghĩa là một đường dẫn từ danh sách đường dẫn của khung yêu cầu xem hoặc khung yêu cầu cập nhật không khớp với giản đồ thường trú trong nút của trình phản hồi.

kStatus_InvalidVersion

Mã trạng thái cũ này có nghĩa là phiên bản của dữ liệu có trong yêu cầu cập nhật không khớp với phiên bản mới nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

Mã trạng thái này có nghĩa là phiên bản của dữ liệu có trong yêu cầu cập nhật không khớp với phiên bản gần đây nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

kStatus_UnknownTopic

Mã trạng thái cũ này có nghĩa là giá trị nhận dạng chủ đề được cung cấp trong thông báo hoặc yêu cầu huỷ không khớp với bất kỳ gói thuê bao nào còn lại trên nút nhận.

Mã trạng thái này có nghĩa là giá trị nhận dạng chủ đề được cung cấp trong thông báo hoặc yêu cầu huỷ không khớp với bất kỳ gói thuê bao nào còn lại trên nút nhận.

kStatus_UnsupportedSubscriptionMode

Mã trạng thái cũ này có nghĩa là thiết bị nhận không hỗ trợ chế độ đã yêu cầu của gói thuê bao.

Mã trạng thái này có nghĩa là thiết bị nhận không hỗ trợ chế độ đăng ký đã yêu cầu.

@166

 @166

Kích thước bảng và nhóm WDM.

WDM xác định nhiều nhóm và bảng cần thiết cho hoạt động của nó như sau.

Nhóm giao dịch của khách hàng:

  • kViewPoolSize
  • kSubscribePoolSize
  • kCancelSubscriptionPoolSize
  • kUpdatePoolSize

Nhóm giao dịch của nhà xuất bản:

  • kNotifyPoolSize

Bảng công cụ giao thức:

  • kTransactionTableSize
  • kBindingTableSize

Bảng liên quan đến gói thuê bao:

  • kNotifierTableSize (chỉ ứng dụng)
  • kSubscriptionMgrTableSize (chỉ dành cho nhà xuất bản)

Xin lưu ý rằng đây là những số lượng có thể định cấu hình và giá trị theo từng nền tảng sẽ xuất hiện trong WeaveConfig.h được liên kết.

Thuộc tính
kBindingTableSize

Đây là kích thước mặc định của bảng liên kết trong công cụ giao thức WDM.

Bạn có thể định cấu hình giá trị này qua WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE.

kCancelSubscriptionPoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu huỷ gói thuê bao cho ứng dụng WDM.

Bạn có thể định cấu hình giá trị này qua WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE.

kNotifierTableSize

Đây là kích thước mặc định của bảng thông báo cho các ứng dụng WDM.

Bạn có thể định cấu hình giá trị này qua WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE.

kNotifyPoolSize

Đây là kích thước mặc định của nhóm giao dịch thông báo yêu cầu cho nhà xuất bản WDM.

Giá trị này có thể được định cấu hình qua WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE.

kSubscribePoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu đăng ký cho ứng dụng WDM.

Bạn có thể định cấu hình giá trị này qua tệp WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE.

kSubscriptionMgrTableSize

Đây là kích thước mặc định của bảng gói thuê bao cho nhà xuất bản WDM.

Bạn có thể định cấu hình giá trị này qua WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE.

kTransactionTableSize

Đây là kích thước mặc định của bảng giao dịch trong công cụ giao thức WDM.

Bạn có thể định cấu hình giá trị này qua WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE.

kUpdatePoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu cập nhật cho ứng dụng WDM.

Bạn có thể định cấu hình giá trị này qua WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE.

kViewPoolSize

Đây là kích thước mặc định của nhóm giao dịch yêu cầu xem cho ứng dụng WDM.

Bạn có thể định cấu hình giá trị này qua WEAVE_CONFIG_WDM_VIEW_POOL_SIZE.

@167

 @167

Loại thông báo trong hồ sơ WDM.

Các giá trị này được gọi trong quy cách quản lý dữ liệu.

LƯU Ý!! Kể từ Quý 1 năm 2015, các loại thông báo được sử dụng trong các phiên bản trước của WDM đã không được dùng nữa và các loại thông báo mới đã được xác định, phản ánh sự thay đổi vừa đủ với việc đóng gói và phân tích cú pháp chi tiết trước đây để xác minh cho việc dừng hoạt động.

Thuộc tính
kMsgType_CancelSubscriptionRequest

Thông báo huỷ gói thuê bao.

kMsgType_CancelSubscriptionRequest_Deprecated

không dùng nữa

kMsgType_NotifyRequest

Thông báo về tin nhắn yêu cầu.

kMsgType_NotifyRequest_Deprecated

không dùng nữa

kMsgType_SubscribeRequest

Nội dung yêu cầu đăng ký.

kMsgType_SubscribeRequest_Deprecated

không dùng nữa

kMsgType_SubscribeResponse

Đăng ký nhận tin nhắn phản hồi.

kMsgType_SubscribeResponse_Deprecated

không dùng nữa

kMsgType_UpdateRequest

Cập nhật tin nhắn yêu cầu.

kMsgType_UpdateRequest_Deprecated

không dùng nữa

kMsgType_ViewRequest

Xem tin nhắn yêu cầu.

kMsgType_ViewRequest_Deprecated

không dùng nữa

kMsgType_ViewResponse

Xem tin nhắn phản hồi.

kMsgType_ViewResponse_Deprecated

không dùng nữa

@168

 @168

Các hằng số khác dành riêng cho WDM.

Thuộc tính
kDefaultBindingTableIndex

Chỉ mục của liên kết mặc định trong bảng liên kết công cụ giao thức có nhiều mục nhập.

kInstanceIdNotSpecified

Trong các cuộc gọi yêu cầu thông số kỹ thuật của bản sao hồ sơ, hãy hiển thị "không có".

Thông thường, điều này có nghĩa là chỉ có một phiên bản của hồ sơ xuất hiện trên đối tượng được đề cập.

kResponseTimeoutNotSpecified

Trong các phương thức yêu cầu một giao dịch, cho biết phương thức gọi đã từ chối chỉ định thời gian chờ.

Nói chung, điều này có nghĩa là bạn nên sử dụng giá trị mặc định.

kTransactionIdNotSpecified

Trong các phương thức và cấu trúc dữ liệu lấy mã giao dịch, biểu thị "không có" hoặc giá trị ký tự đại diện.

kVersionNotSpecified

Trong các cuộc gọi yêu cầu thông số kỹ thuật của phiên bản dữ liệu, hãy cho biết "không có phiên bản cụ thể".

kWeaveTLVControlByteLen

Độ dài của một byte điều khiển TLV, dùng trong các phương thức hỗ trợ mã hoá cấu trúc WDM trong TLV.

kWeaveTLVTagLen

Độ dài tiêu chuẩn tính bằng byte của một thẻ TLV đủ điều kiện, dùng trong các phương thức hỗ trợ mã hoá cấu trúc WDM trong TLV.

@169

 @169

Mã trạng thái dành riêng cho WDM.

Thuộc tính
kStatus_CancelSuccess

Mã trạng thái cũ này có nghĩa là gói thuê bao đã được huỷ thành công.

Mã trạng thái này có nghĩa là gói thuê bao đã được huỷ thành công.

kStatus_IllegalReadRequest

Mã trạng thái cũ này có nghĩa là nút thực hiện yêu cầu đọc một mục dữ liệu cụ thể không có quyền thực hiện việc đó.

Mã trạng thái này có nghĩa là nút thực hiện yêu cầu đọc một mục dữ liệu cụ thể không có quyền làm việc đó.

kStatus_IllegalWriteRequest

Mã trạng thái cũ này có nghĩa là nút tạo yêu cầu ghi một mục dữ liệu cụ thể không có quyền thực hiện việc đó.

Mã trạng thái này có nghĩa là nút thực hiện yêu cầu ghi một mục dữ liệu cụ thể không có quyền thực hiện việc đó.

kStatus_InvalidPath

Mã trạng thái cũ này có nghĩa là một đường dẫn từ danh sách đường dẫn của một khung hiển thị hoặc khung yêu cầu cập nhật không khớp với giản đồ thường trú trong nút của trình phản hồi.

Mã trạng thái này có nghĩa là một đường dẫn từ danh sách đường dẫn của khung yêu cầu xem hoặc khung yêu cầu cập nhật không khớp với giản đồ thường trú trong nút của trình phản hồi.

kStatus_InvalidVersion

Mã trạng thái cũ này có nghĩa là phiên bản của dữ liệu có trong yêu cầu cập nhật không khớp với phiên bản mới nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

Mã trạng thái này có nghĩa là phiên bản của dữ liệu có trong yêu cầu cập nhật không khớp với phiên bản gần đây nhất của nhà xuất bản, do đó không thể áp dụng bản cập nhật.

kStatus_UnknownTopic

Mã trạng thái cũ này có nghĩa là giá trị nhận dạng chủ đề được cung cấp trong thông báo hoặc yêu cầu huỷ không khớp với bất kỳ gói thuê bao nào còn lại trên nút nhận.

Mã trạng thái này có nghĩa là giá trị nhận dạng chủ đề được cung cấp trong thông báo hoặc yêu cầu huỷ không khớp với bất kỳ gói thuê bao nào còn lại trên nút nhận.

kStatus_UnsupportedSubscriptionMode

Mã trạng thái cũ này có nghĩa là thiết bị nhận không hỗ trợ chế độ đã yêu cầu của gói thuê bao.

Mã trạng thái này có nghĩa là thiết bị nhận không hỗ trợ chế độ đăng ký đã yêu cầu.

@170

 @170

Thẻ Giao thức quản lý dữ liệu.

Giao thức quản lý dữ liệu xác định một số thẻ sẽ được dùng trong bản trình bày TLV của dữ liệu hồ sơ.

Như thường lệ, sẽ có vấn đề về khả năng tương thích giữa WDM mới và WDM cũ. ngày xưa, tất cả các thẻ này được áp dụng dưới dạng dành riêng cho từng hồ sơ, gây lãng phí không gian. hiện tại, chúng tôi sẽ sử dụng thẻ ngữ cảnh nếu có thể. Tuy nhiên, chúng tôi cần giữ lại các thẻ cũ (và có cơ chế mã hoá đường dẫn có chứa chúng) khi thích hợp.

Thẻ kTag_WDMDataListElementData không được sử dụng trong các bản phát hành trước và đã bị mã bỏ qua hoàn toàn, nên chúng ta không phải cung cấp phiên bản không dùng nữa.

Thuộc tính
kTag_WDMDataList

Phần tử là danh sách cấu trúc chứa đường dẫn, phiên bản không bắt buộc và các phần tử dữ liệu.

Loại thẻ: Loại phần tử cụ thể theo cấu hình: Sắp xếp mảng: Cấp cao nhất

kTag_WDMDataListElementData

Phần tử này đại diện cho dữ liệu được trỏ đến bằng một đường dẫn nhất định và có phiên bản nhất định.

Loại thẻ: Loại phần tử theo bối cảnh cụ thể: Bố cục bất kỳ: Bắt buộc

kTag_WDMDataListElementData_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử theo bối cảnh cụ thể: Bố cục bất kỳ: Bắt buộc

kTag_WDMDataListElementPath

Phần tử này là thành phần đường dẫn của một phần tử danh sách dữ liệu.

Loại thẻ: Loại phần tử theo bối cảnh cụ thể: Sắp xếp đường dẫn: Bắt buộc

kTag_WDMDataListElementPath_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử cụ thể theo cấu hình: Sắp xếp đường dẫn: Bắt buộc

kTag_WDMDataListElementVersion

Phần tử này là thành phần phiên bản của phần tử danh sách dữ liệu.

Loại thẻ: Loại phần tử theo bối cảnh cụ thể: Sắp xếp số nguyên: Bắt buộc

kTag_WDMDataListElementVersion_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử cụ thể theo cấu hình: Sắp xếp số nguyên: Bắt buộc

kTag_WDMPathArrayIndexSelector

Phần tử đường dẫn tương ứng với một mảng trong giản đồ và phần tử số nguyên chứa trong mảng sẽ được dùng làm chỉ mục trong mảng đó.

Loại thẻ: Loại phần tử cụ thể theo cấu hình: Sắp xếp số nguyên: Tùy chọn

kTag_WDMPathArrayValueSelector

Phần tử đường dẫn tương ứng với một mảng trong giản đồ và phần tử được đóng gói sẽ được dùng làm bộ chọn bản ghi.

Loại thẻ: Loại phần tử theo cấu hình cụ thể: Bố trí cấu trúc: Tùy chọn

kTag_WDMPathList

Phần tử này là một danh sách các đường dẫn TLV.

Loại thẻ: Loại phần tử cụ thể theo cấu hình: Sắp xếp mảng: Cấp cao nhất

kTag_WDMPathProfile

Phần tử là một cấu trúc dùng để bắt đầu một đường dẫn và chứa thông tin hồ sơ theo cách mà các thẻ trong đường dẫn sẽ được diễn giải.

Loại thẻ: Loại phần tử theo cấu hình cụ thể: Bố trí cấu trúc: Bắt buộc

kTag_WDMPathProfileId

Phần tử này là một thành phần mã hồ sơ của phần tử hồ sơ đường dẫn bắt đầu một đường dẫn TLV.

Loại thẻ: Loại phần tử theo bối cảnh cụ thể: Sắp xếp số nguyên: Bắt buộc

kTag_WDMPathProfileId_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử cụ thể theo cấu hình: Sắp xếp số nguyên: Bắt buộc

kTag_WDMPathProfileInstance

Phần tử này là một thực thể hồ sơ, có thể theo sau mã hồ sơ trong đường dẫn TLV.

Lưu ý rằng một nút có thể có hoặc không có nhiều phiên bản của một cấu hình cụ thể và trong trường hợp chỉ có một cấu hình thì phần tử này có thể bị bỏ qua.

Loại thẻ: Loại phần tử theo ngữ cảnh cụ thể: Tùy chọn bất kỳ

kTag_WDMPathProfileInstance_Deprecated

Không dùng nữa.

Loại thẻ: Loại phần tử theo cấu hình cụ thể: Bất kỳ bố trí nào: Tùy chọn

@171

 @171

ID chủ đề nổi bật.

Có ba mã nhận dạng chủ đề quan tâm riêng biệt, cả ba mã này đều được định dạng là "dành riêng cho nhà xuất bản".

Thuộc tính
kAnyTopicId

Mã này được dành riêng dưới dạng mã chủ đề dạng ký tự đại diện.

kTopicIdNotSpecified

Đây là một giá trị đặc biệt dành riêng để thể hiện ID chủ đề không hợp lệ hoặc ID chủ đề ký tự đại diện.

kTopicIdPublisherSpecificMask

Mã này được dùng làm mặt nạ để tạo hoặc phân tách một giá trị nhận dạng topci.

WeaveTransportOption

 WeaveTransportOption

Tuỳ chọn truyền tải WDM.

Đây là các phương thức truyền tải loại trừ lẫn nhau cho WDM.

Thuộc tính
kTransport_TCP

Phương thức truyền tải cơ bản là TCP.

Bạn có thể hoàn tất việc liên kết bằng trình quản lý dịch vụ hoặc trực tiếp sử dụng lớp thông báo.

kTransport_UDP

Phương thức truyền tải cơ bản chỉ là UDP.

kTransport_WRMP

Phương thức truyền tải cơ bản chỉ là UDP nhưng có "lớp hỗ trợ ứng dụng" nâng cao độ tin cậy.

Typedef

TopicIdentifier

uint64_t TopicIdentifier

Giá trị nhận dạng chủ đề.

Giá trị nhận dạng chủ đề là số lượng 64 bit với hai cách sử dụng/ngữ nghĩa có liên quan. Trước hết, chúng có thể được sử dụng như là cách viết tắt thông thường cho một tập hợp các đường dẫn nổi tiếng, ví dụ: " Thiết bị phát hiện khói của Nest". Mã chủ đề được dùng theo cách này (chẳng hạn như giá trị nhận dạng hồ sơ) sẽ chứa mã nhà cung cấp để ngăn việc xung đột giữa các mã chủ đề do các nhà cung cấp khác nhau tự chọn, cụ thể như sau:

bit 48–63 bit 0 – 47
Mã nhà cung cấp Số chủ đề
Trường hợp sử dụng/ngữ nghĩa thứ hai cho giá trị nhận dạng chủ đề phát sinh trong trường hợp đăng ký động giữa ứng dụng WDM và nhà xuất bản. trong trường hợp này, nhà xuất bản phải luôn cung cấp một mã nhận dạng chủ đề duy nhất đại diện cho một gói thuê bao cụ thể. Nhà xuất bản sẽ thực hiện việc này cho dù người dùng yêu cầu đăng ký bằng một mã nhận dạng chủ đề nổi tiếng hay một danh sách đường dẫn tuỳ ý. mã nhận dạng chủ đề của biểu mẫu này được phân biệt bằng cách có mã nhà cung cấp là 0xFFFF.

Xem thêm:
WeaveVendorIdentifiers.hpp

Hàm

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

Kiểm tra để đảm bảo rằng phần tử TLV đang được đọc có loại TLV đúng như dự kiến.

Kiểm tra một loại TLV nhất định so với loại phần tử ở phần đầu của trình đọc TLV.

Chi tiết
Tham số
[in] aType
TLVType cần được kiểm tra dựa trên một phần tử cụ thể
[in] aReader
Tham chiếu đến trình đọc TLV được đặt ở phần tử cần kiểm tra
Trả về
true iff TLVType của phần tử và aType khớp.
Xem thêm:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Kiểm tra một thẻ dành riêng cho WDM.

Kiểm tra số lượng thẻ dành riêng cho WDM, từ .../data-management/DMConstants.h so với thẻ thực tế ở phần đầu của trình đọc TLV.

Chi tiết
Tham số
[in] aTagNum
Số thẻ cần kiểm tra dựa trên một phần tử TLV cụ thể.
[in] aReader
Tham chiếu đến trình đọc TLV trỏ đến phần tử cần kiểm tra.
Trả về
true iff aReader.GetTag() tạo ra một thẻ khớp với một trong các dạng thẻ dự kiến cho số thẻ đã cho.

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

Dừng đọc phần tử danh sách dữ liệu WDM.

Phương thức này giả định rằng phần tử được đề cập là một phần của danh sách dữ liệu WDM, do đó chuyển kTLVType_Array đến ExitContainer().

Chi tiết
Tham số
[in,out] aReader
Một trình đọc TLV được đặt trong phần tử danh sách dữ liệu WDM.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể thoát khỏi vùng chứa.

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

Dừng đọc đường dẫn WDM hoặc danh sách dữ liệu.

Phương thức này giả định rằng danh sách được đề cập là phần tử TLV trên cùng, và do đó chuyển kTLVType_Sruit đến ExitContainer().

Chi tiết
Tham số
[in,out] aReader
Một trình đọc TLV được đặt trong đường dẫn WDM hoặc danh sách dữ liệu.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể thoát khỏi vùng chứa.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã phiên bản số nguyên.

Lưu ý: Mã hoá đường dẫn bằng bộ thẻ không dùng nữa được dịch vụ chấp nhận trước khi Weave phát hành 2.0. Phiên bản này của phương thức sẽ lấy một giá trị nhận dạng thực thể dạng số. Phương thức này bắt đầu một vùng chứa bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) và sau đó chèn mã cấu hình bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Sau đó, thao tác này sẽ chèn mã phiên bản bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Đây là một trong các phiên bản không dùng nữa để mã hoá đường dẫn và các thiết kế mới sẽ tránh sử dụng định dạng này.

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến trình viết TLV dùng để viết đường dẫn.
[in] aTag
Mã tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà các phần tử của đường dẫn sẽ được diễn giải theo đó.
[in] aInstanceId
Tham chiếu đến mã phiên bản không bắt buộc của hồ sơ sẽ được sử dụng.
[in] aPathLen
Độ dài, có thể bằng 0, danh sách các phần tử đường dẫn nằm ngoài thông số xác định hồ sơ ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung có độ dài biến số không bắt buộc.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể định dạng đường dẫn đã cho.

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Mã hoá đường dẫn WDM bằng các thẻ không dùng nữa và mã thực thể chuỗi.

Lưu ý: Mã hoá đường dẫn bằng bộ thẻ không dùng nữa (xem DMConstants.h). Phiên bản này của phương thức sẽ lấy chuỗi mã nhận dạng thực thể. Phương thức này bắt đầu một vùng chứa bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) và sau đó chèn mã cấu hình bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Sau đó, thao tác này sẽ chèn mã phiên bản bằng ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Đây là một trong các phiên bản không dùng nữa để mã hoá đường dẫn và các thiết kế mới sẽ tránh sử dụng định dạng này.

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến trình viết TLV dùng để viết đường dẫn.
[in] aTag
Mã tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà các phần tử của đường dẫn sẽ được diễn giải theo đó.
[in] aInstanceId
Chuỗi không bắt buộc dùng làm giá trị nhận dạng phiên bản hồ sơ. Đối số này có thể là NULL nếu không chỉ định mã phiên bản.
[in] aPathLen
Độ dài, có thể bằng 0, danh sách các phần tử đường dẫn nằm ngoài thông số xác định hồ sơ ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung (không bắt buộc và có độ dài thay đổi).
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể định dạng đường dẫn đã cho.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

Mã hoá đường dẫn WDM bằng mã phiên bản hồ sơ số nguyên.

Lưu ý: Hãy viết một đường dẫn TLV thuộc loại dùng trong hoạt động quản lý dữ liệu, trong đó, cụ thể là có một chỉ định hồ sơ được đặt ở đầu để cho phép diễn giải các phần tử đường dẫn tiếp theo. Phiên bản này của phương thức sẽ lấy mã phiên bản hồ sơ có số nguyên.

Phương thức này chèn mã thực thể bằng cách sử dụng ContextTag(kTag_WDMPathProfileInstance), đây là phiên bản mới nhất để mã hoá một đường dẫn.

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến trình viết TLV dùng để viết đường dẫn.
[in] aTag
Mã tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà các phần tử của đường dẫn sẽ được diễn giải theo đó.
[in] aInstanceId
Tham chiếu đến mã nhận dạng thực thể không bắt buộc của hồ sơ sẽ được sử dụng. Nếu không sử dụng mã phiên bản nào, thì tham số này phải có giá trị kInstanceIdNotspecified.
[in] aPathLen
Độ dài, có thể bằng 0, danh sách các phần tử đường dẫn nằm ngoài thông số xác định hồ sơ ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung có độ dài biến số không bắt buộc.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể định dạng đường dẫn đã cho.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

Mã hoá đường dẫn WDM bằng mã phiên bản mảng byte.

Lưu ý: Hãy viết một đường dẫn TLV thuộc loại dùng trong hoạt động quản lý dữ liệu, trong đó, cụ thể là có một chỉ định hồ sơ được đặt ở đầu để cho phép diễn giải các phần tử đường dẫn tiếp theo. Phiên bản này của phương thức sẽ lấy một mã thực thể hồ sơ mảng byte cùng với độ dài.

Phương thức này chèn mã thực thể bằng cách sử dụng ContextTag(kTag_WDMPathProfileInstance), đây là phiên bản mới nhất để mã hoá một đường dẫn.

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến trình viết TLV dùng để viết đường dẫn.
[in] aTag
Mã tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà các phần tử của đường dẫn sẽ được diễn giải theo đó.
[in] aInstanceIdLen
Độ dài của mảng byte tạo thành mã nhận dạng thực thể. Nếu không có mã nhận dạng, thì thông số này sẽ có giá trị bằng 0.
[in] aInstanceId
Mảng byte không bắt buộc được dùng làm giá trị nhận dạng của thực thể hồ sơ. Đối số này có thể là NULL trong trường hợp không có mã phiên bản nào được chỉ định.
[in] aPathLen
Độ dài, có thể bằng 0, danh sách các phần tử đường dẫn nằm ngoài thông số xác định hồ sơ ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung (không bắt buộc và có độ dài thay đổi).
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể định dạng đường dẫn đã cho.

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

Mã hoá đường dẫn WDM bằng mã thực thể chuỗi.

Lưu ý: Hãy viết một đường dẫn TLV thuộc loại dùng trong hoạt động quản lý dữ liệu, trong đó, cụ thể là có một chỉ định hồ sơ được đặt ở đầu để cho phép diễn giải các phần tử đường dẫn tiếp theo. Phiên bản này của phương thức sẽ lấy một mã phiên bản hồ sơ chuỗi.

Phương thức này chèn mã thực thể bằng cách sử dụng ContextTag(kTag_WDMPathProfileInstance), đây là phiên bản mới nhất để mã hoá một đường dẫn.

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến trình viết TLV dùng để viết đường dẫn.
[in] aTag
Mã tham chiếu đến thẻ TLV đủ điều kiện áp dụng cho đường dẫn này.
[in] aProfileId
Mã cấu hình mà các phần tử của đường dẫn sẽ được diễn giải theo đó.
[in] aInstanceId
Chuỗi không bắt buộc dùng làm giá trị nhận dạng phiên bản hồ sơ. Đối số này có thể là NULL nếu không chỉ định mã phiên bản.
[in] aPathLen
Độ dài, có thể bằng 0, danh sách các phần tử đường dẫn nằm ngoài thông số xác định hồ sơ ban đầu.
[in] ...
Danh sách các thẻ đường dẫn bổ sung (không bắt buộc và có độ dài thay đổi).
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể định dạng đường dẫn đã cho.

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Hoàn tất việc viết phần tử danh sách dữ liệu.

Viết TLV cho phần cuối của phần tử danh sách dữ liệu WDM. Xin lưu ý rằng thao tác này sẽ tự động chuyển một loại kTLVType_Array đến lệnh gọi EndContainer(), giả sử chúng ta luôn đóng một mục trong danh sách.

Chi tiết
Tham số
[in] aWriter
Thông tin tham chiếu đến người viết TLV dùng để viết phần kết thúc của mục.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể kết thúc một vùng chứa.

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Hoàn tất việc viết danh sách đường dẫn hoặc danh sách dữ liệu.

Viết TLV ở cuối một đường dẫn WDM hoặc danh sách dữ liệu. Ngoài ra, hãy hoàn tất tác giả.

Chi tiết
Tham số
[in,out] aWriter
Tham chiếu đến một người viết TLV dùng để viết phần cuối của danh sách.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể kết thúc một vùng chứa.

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Hoàn tất việc viết danh sách đường dẫn hoặc danh sách dữ liệu.

Viết TLV ở cuối một đường dẫn WDM hoặc danh sách dữ liệu. Ngoài ra, hãy hoàn tất tác giả. Trong trường hợp này, đối tượng ReferencedTLVDataTLV đang ghi sẽ được truyền vào và sửa đổi để phản ánh lượng dữ liệu đã ghi.

Chi tiết
Tham số
[in,out] aList
Tham chiếu đến đối tượng ReferenceTLVData mà danh sách đang được viết.
[in] aWriter
Tham chiếu đến một người viết TLV dùng để viết phần cuối của danh sách.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết việc không thể kết thúc một vùng chứa.

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

Kiểm tra xem mã chủ đề có dành riêng cho nhà xuất bản hay không.

Chi tiết
Tham số
[in] aTopicId
kiểm tra mã nhận dạng chủ đề
Trả về
true nếu ID chủ đề là dành riêng cho nhà xuất bản, false nếu không

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

Bắt đầu đọc một danh sách dữ liệu.

Khi có một trình đọc mới và danh sách dữ liệu, hãy bắt đầu đọc danh sách cũng như xác thực các thẻ và loại gặp phải ban đầu trong quá trình này. Nếu mọi việc suôn sẻ, trình đọc sẽ dừng lại sau khi bạn nhập vùng chứa danh sách.

Chi tiết
Tham số
[in] aDataList
Danh sách dữ liệu được truyền dưới dạng tham chiếu đến đối tượng ReferencedTLVData. Trường hợp sử dụng thông thường sẽ là khi danh sách thực sự vẫn nằm trong vùng đệm sau khi nhận được.
[out] aReader
Tham chiếu đến trình đọc TLV dùng để đọc danh sách dữ liệu. Trình đọc này sẽ trỏ sang trái ngay trước mục đầu tiên trong danh sách.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR để phản ánh lỗi khi mở danh sách dữ liệu và/hoặc xác thực các loại và thẻ có liên quan.

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

Bắt đầu đọc một phần tử của danh sách dữ liệu.

Khi có một trình đọc được đặt ở một phần tử danh sách dữ liệu, hãy bắt đầu đọc phần tử đó rồi xác thực các thẻ và loại gặp phải ban đầu trong quy trình này. Nếu mọi việc suôn sẻ, thì trình đọc sẽ được định vị tại dữ liệu phần tử dữ liệu và trình đọc đường dẫn vào/ra được định vị tại đường dẫn tương ứng.

Chi tiết
Tham số
[in] aReader
Tham chiếu đến trình đọc TLV được đặt tại phần tử danh sách dữ liệu.
[out] aPathReader
Tham chiếu đến trình đọc TLV sẽ được trỏ vào thành phần đường dẫn của phần tử danh sách dữ liệu.
[out] aVersion
Giá trị tham chiếu đến số nguyên 64 bit sẽ được đặt thành phiên bản phần tử danh sách dữ liệu nếu có hoặc nếu không thì sẽ thành kVersionNot specified.
Trả về
WEAVE_NO_ERROR khi thành công hoặc nếu không thì WEAVE_ERROR liên kết với việc mở và đọc phần tử danh sách dữ liệu.

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

Bắt đầu đọc danh sách đường dẫn.

Khi cung cấp một trình đọc mới và danh sách đường dẫn, hãy bắt đầu đọc danh sách rồi xác thực các thẻ và loại gặp phải ban đầu trong quá trình này. Nếu mọi việc suôn sẻ, trình đọc sẽ dừng lại sau khi bạn nhập vùng chứa danh sách.

Chi tiết
Tham số
[in] aPathList
Danh sách đường dẫn được truyền dưới dạng tham chiếu đến đối tượng ReferencedTLVData. Trường hợp sử dụng thông thường sẽ là khi danh sách thực sự vẫn nằm trong vùng đệm sau khi nhận được.
[out] aReader
Tham chiếu đến trình đọc TLV dùng để đọc danh sách đường dẫn. Trình đọc này sẽ trỏ sang trái ngay trước đường dẫn đầu tiên trong danh sách.
Trả về
WEAVE_NO_ERROR khi thành công; nếu không, WEAVE_ERROR phản ánh lỗi mở danh sách đường dẫn và/hoặc xác thực các loại và thẻ có liên quan.

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

Tạo mã chủ đề dành riêng cho nhà xuất bản từ đầu.

Chi tiết
Trả về
mã nhận dạng chủ đề mới.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

Bắt đầu viết một danh sách dữ liệu.

Viết TLV ở đầu danh sách dữ liệu WDM, ví dụ: làm đối số chính của UpdateRequest().

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến tác giả TLV để bắt đầu viết nội dung.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể bắt đầu một vùng chứa.

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

Bắt đầu ghi một danh sách dữ liệu vào một đối tượng ReferencedTLVData nhất định.

Viết TLV ở đầu danh sách dữ liệu WDM. Trong trường hợp này, chúng tôi sẽ giả định rằng chúng ta đang ghi danh sách dữ liệu theo một cấu trúc dữ liệu TLV được tham chiếu. Trình ghi được giả định là chưa khởi tạo – hoặc trong mọi trường hợp, sẽ được khởi tạo để trỏ đến đối tượng đã cho.

Chi tiết
Tham số
[out] aDataList
Tham chiếu đến đối tượng ReferencedTLVData là mục tiêu của người viết và cuối cùng chứa dữ liệu yêu thích.
[in] aWriter
Tham chiếu đến tác giả TLV để bắt đầu viết nội dung.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể bắt đầu một vùng chứa.

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

Bắt đầu viết một phần tử danh sách dữ liệu.

Viết TLV ở đầu phần tử danh sách dữ liệu WDM.

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến tác giả TLV để bắt đầu viết nội dung.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể bắt đầu một vùng chứa.

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
)

Bắt đầu viết một danh sách đường dẫn.

Viết TLV ở phần đầu danh sách đường dẫn WDM, ví dụ: làm đối số chính của ViewRequest().

Chi tiết
Tham số
[in] aWriter
Tham chiếu đến tác giả TLV để bắt đầu viết nội dung.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, hãy trả về WEAVE_ERROR cho biết không thể bắt đầu một vùng chứa.

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
)

Xác thực rằng phần tử TLV đang được đọc có kiểu TLV dự kiến.

Kiểm tra một loại TLV nhất định với loại phần tử ở phần đầu của trình đọc TLV và trả về lỗi nếu không có kết quả trùng khớp.

Chi tiết
Tham số
[in] aType
TLVType cần được xác thực dựa trên một phần tử cụ thể.
[in] aReader
Thông tin tham chiếu đến trình đọc TLV được đặt tại phần tử cần xác thực.
Trả về
WEAVE_NO_ERROR nếu có kết quả trùng khớp hoặc WEAVE_ERROR_WRONG_TLV_TYPE nếu không có kết quả trùng khớp.
Xem thêm:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

Xác thực rằng phần tử TLV đang được đọc có thẻ WDM dự kiến.

Chi tiết
Tham số
[in] aTagNum
Số thẻ 32 bit của thẻ WDM dự kiến.
[in] aReader
Một trình đọc TLV được đặt ở phần tử cần được xác thực.
Trả về
WEAVE_NO_ERROR Khi thành công. Nếu không, WEAVE_ERROR_INVALID_TLV_TAG nếu thẻ không khớp với số thẻ đã cho khi được hiểu là thẻ WDM.