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

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

Theo đó, Compose cung cấp một lớp trợ giúp để 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. Phiên bản này phù hợp với nhu cầu về 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 thành 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 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)
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ó dấu kiểm.
StartDataList(void)
Bắt đầu quá trình tạo 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)
Cho trước một đường dẫn truy vết, hãy ghi 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 thành TLVWriter.

Thông tin chi tiết
Tham số
[out] aPoint
Một 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 ở vùng chứa DataList.
other
Không thể tạo cuối 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 ở vùng chứa EventList.
other
Không thể tạo cuối danh sách dữ liệu.

EndNotifyRequest

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
Khi thành công.
WEAVE_ERROR_INCORRECT_STATE
Nếu yêu cầu không có tại vùng chứa Thông báo.
other
Không thể kết thúc thông báo.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Init

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 PacketBuffer sẽ được phân bổ (nếu cần); Trước tiên, hàm này sẽ chuyển đổi yêu cầu này sang yêu cầu thông báo cấp cao nhất (mở cấu trúc thông báo TLV 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 bằng cách đóng yêu cầu Thông báo chung.

Thông tin chi tiết
Tham 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 này do không đủ bộ nhớ.
WEAVE_ERROR_INCORRECT_STATE
Máy trạng thái nội bộ bị lỗi.
other
Khi máy trạng thái không thể ghi lại trạng thái trong vùng đệm, điều này có thể cho thấy 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ó dấu kiểm.

Thông tin chi tiết
Tham số
[in] aPoint
Một nhà văn có ghi lại nhà nước vào 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 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 ở 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 nằm ở 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ể 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
)

Cho trước một đường dẫn truy vết, hãy ghi 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ỳ ý chuyển vào một nhóm 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 trực tiếp hẹp hơn của ô điều khiển đường dẫn thuộc tính mẹ.

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.