nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotifyRequestBuilder

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

Điều này cung cấp một lớp trợ giúp để soạn thông báo và tóm tắt cấu trúc và cấu trúc của thông báo từ đối tượng sử dụng.

Tóm tắt

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

Hàm công khai

Checkpoint(TLV::TLVWriter & aPoint)
Điểm kiểm tra trạng thái yêu cầu vào TLVWriter.
EndDataList()
Kết thúc quá trình tạo mảng danh sách dữ liệu.
EndEventList()
Kết thúc quá trình tạo danh sách sự kiện.
EndNotifyRequest()
Kết thúc quá trình xây dựng 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)
Hàm 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 vào TLVWriter được kiểm tra.
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)
Khi có một đường dẫn đặc điểm, hãy ghi rõ phần tử dữ liệu 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
)

Điểm kiểm tra trạng thái yêu cầu vào TLVWriter.

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

EndDataList

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
Khi 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 phần cuối của danh sách dữ liệu.

EndEventList

WEAVE_ERROR EndEventList()

Kết thúc quá trình tạo danh sách sự kiện.

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

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Kết thúc quá trình xây dựng thông báo.

Thông tin chi tiết
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không xuất hiện tại vùng chứa Thông báo.
other
Không thể tạo thời điểm kết thúc thông báo.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Bắt đầu

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
Khi thành công.
other
Không thể khởi chạy trình tạo.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Hàm chuyển đổi trạng thái chính.

Hàm này có 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 đạt được) và chuyển yêu cầu sang trạng thái đó. Nếu trạng thái mong muốn giống với trạng thái hiện tại thì hàm sẽ không làm gì cả. Nếu không, một Gói đệm sẽ được phân bổ (nếu cần); trước tiên, hàm này chuyển đổi 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 tại nếu cần), sau đó chuyển đổi yêu cầu Thông báo bằng cách mở vùng chứa dữ liệu TLV thích hợp hoặc đóng yêu cầu Thông báo tổng thể.

Thông tin chi tiết
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
Khi thành công.
WEAVE_ERROR_NO_MEMORY
Không thể chuyển sang trạng thái do không đủ bộ nhớ.
WEAVE_ERROR_INCORRECT_STATE
Hỏng máy trạng thái nội bộ.
other
Khi máy trạng thái không thể ghi lại trạng thái trong vùng đệm thì có thể chỉ ra lỗi thiết kế chứ không phải vấn đề về 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 vào TLVWriter được kiểm tra.

Thông tin chi tiết
Thông số
[in] aPoint
Một người viết đã chụp lại tình hình của bang tại một thời điểm nào đó trong quá khứ
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.

StartDataList

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
Khi thành công.
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không có trong vùng chứa Thông báo.
other
Không thể tạo phần đầu của danh sách dữ liệu.

StartEventList

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
Khi thành công.
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không có trong vùng chứa Thông báo.
other
Không thể tạo phần đầu của danh sách dữ liệu.

StartNotifyRequest

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
Khi thành công.
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không ở cấp cao nhất của vùng đệm.
other
Không thể tạo thời điểm kết thúc thông báo.

WriteDataElement

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

Khi có một đường dẫn đặc điểm, hãy ghi rõ phần tử dữ liệu liên kết với đường dẫn đó.

Phương thức gọi cũng có thể tuỳ ý truyền vào một bộ tên người dùng cho phép tận dụng thao tác hợp nhất với một tập hợp các nút con tức thì hẹp hơn của ô điều khiển đường dẫn thuộc tính gốc.

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