Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

nl::Weave::Profiles::DataManagement_Current::Notificationsengine::NotificationsRequestBuilder

#include <src/lib/profiles/data-management/Current/NotificationEngine.h>

Lớp học này cung cấp một lớp trợ giúp để soạn thông báo và trừu tượng hóa cấu trúc và cấu trúc của thông báo từ người tiêu dùng.

Tóm tắt

Đây là phiên bản thu gọn của một lớp tương tự được cung cấp trong MessageDef.cpp nhằm mục đích nhạy cảm với các nhu cầu flash và ram của thiết bị.

Hàm công khai

Checkpoint(TLV::TLVWriter & aPoint)
Kiểm tra trạng thái yêu cầu thành một TLVWriter.
EndDataList()
Kết thúc quá trình tạo mảng danh sách dữ liệu.
EndEventList()
Kết thúc việc tạo danh sách sự kiện.
EndNotifyRequest()
Kết thúc quá trình tạo thông báo.
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Khởi chạy trình tạo.
MoveToState(NotifyRequestBuilderState aDesiredState)
Chức năng chuyển đổi trạng thái chính.
Rollback(TLV::TLVWriter & aPoint)
Khôi phục trạng thái yêu cầu thành TLVWriter có dấu kiểm.
StartDataList(void)
Bắt đầu xây dựng mảng danh sách dữ liệu.
StartEventList()
Bắt đầu tạo danh sách sự kiện.
StartNotifyRequest()
Bắt đầu xây dựng thông báo.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Dựa trên đường dẫn đặc điểm, hãy viết ra phần tử dữ liệu được liên kết với đường dẫn đó.

Hàm công khai

Chốt kiểm tra

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Kiểm tra trạng thái yêu cầu thành một TLVWriter.

Thông tin chi tiết
Các thông số
[out] aPoint
Tác giả để kiểm tra trạng thái của tác giả TLV.
Giá trị trả về
WEAVE_NO_ERROR
Thành công!

Danh sách dữ liệu kết thúc

WEAVE_ERROR EndDataList()

Kết thúc quá trình tạo mảng danh sách dữ liệu.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không nằm trong vùng chứa DataList.
other
Không thể tạo cuối danh sách dữ liệu.

Danh sách sự kiện cuối

WEAVE_ERROR EndEventList()

Kết thúc việc tạo danh sách sự kiện.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không nằm trong vùng chứa của ListList.
other
Không thể tạo cuối danh sách dữ liệu.

EndNotificationsRequest

WEAVE_ERROR EndNotifyRequest()

Kết thúc quá trình tạo thông báo.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không nằm trong vùng chứa Thông báo.
other
Không thể tạo phần cuối của thông báo.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Số nguyên

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

Khởi chạy trình tạo.

Chỉ nên gọi một lần.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
other
Không thể khởi tạo trình tạo.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Chức năng chuyển đổi trạng thái chính.

Hàm này sẽ lấy trạng thái mong muốn (tức là giai đoạn của trình tạo yêu cầu thông báo mà chúng ta muốn truy cập) và chuyển yêu cầu sang trạng thái đó. Nếu trạng thái mong muốn giống như trạng thái hiện tại, thì hàm sẽ không thực hiện hành động nào. Nếu không, PacketBuffer được phân bổ (nếu cần); trước tiên, hàm sẽ chuyển yêu cầu sang yêu cầu thông báo cấp cao nhất (mở cấu trúc TLV của yêu cầu thông báo hoặc đóng vùng chứa dữ liệu TLV hiện có nếu cần), rồi chuyển yêu cầu Thông báo tổng hợp bằng cách mở vùng chứa dữ liệu TLV thích hợp.

Thông tin chi tiết
Các thông số
aDesiredState
Trạng thái mong muốn mà yêu cầu sẽ chuyển sang
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_NO_MEMORY
Không thể chuyển sang trạng thái vì không đủ bộ nhớ.
WEAVE_ERROR_INCORRECT_STATE
Tham số của máy ở trạng thái bên trong.
other
Khi máy trạng thái không thể ghi trạng thái vào bộ đệm, có thể cho thấy một lỗi thiết kế thay vì vấn đề thời gian chạy.

Khôi phục

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Khôi phục trạng thái yêu cầu thành TLVWriter có dấu kiểm.

Thông tin chi tiết
Các thông số
[in] aPoint
Nhà văn đã nắm bắt được trạng thái đó vào một thời điểm trong quá khứ
Giá trị trả về
WEAVE_NO_ERROR
Thành công!

Danh sách dữ liệu bắt đầu

WEAVE_ERROR StartDataList(
  void
)

Bắt đầu xây dựng mảng danh sách dữ liệu.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu đó không nằm trong vùng chứa Thông báo.
other
Không thể tạo đầu danh sách dữ liệu.

Danh sách sự kiện bắt đầu

WEAVE_ERROR StartEventList()

Bắt đầu tạo danh sách sự kiện.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu đó không nằm trong vùng chứa Thông báo.
other
Không thể tạo đầu danh sách dữ liệu.

StartNotificationsRequest

WEAVE_ERROR StartNotifyRequest()

Bắt đầu xây dựng thông báo.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không nằm ở cấp cao nhất của bộ đệm.
other
Không thể tạo phần cuối của thông báo.

Ghi dữ liệu

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

Dựa trên đường dẫn đặc điểm, hãy viết ra phần tử dữ liệu được liên kết với đường dẫn đó.

Người gọi cũng có thể tùy ý chuyển ở một nhóm xử lý để cho phép tận dụng thao tác hợp nhất này với một nhóm nút con nhỏ hơn của nút xử lý đường dẫn thuộc tính mẹ.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Thành công!
other
Không thể truy xuất và ghi phần tử dữ liệu.