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

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

이는 알림을 작성하고 메시지의 구성과 구조를 소비자에게서 추상화하는 도우미 클래스를 제공합니다.

요약

MessageDef.cpp에 제공되는 유사한 클래스의 좀 더 간단한 버전으로, 기기의 플래시 및 RAM 요구사항에 민감합니다.

공개 함수

Checkpoint(TLV::TLVWriter & aPoint)
요청 상태를 TLVWriter에 체크포인트합니다.
EndDataList()
데이터 목록 배열의 생성을 종료합니다.
EndEventList()
이벤트 목록 생성을 종료합니다.
EndNotifyRequest()
알림 구성을 종료합니다.
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
빌더를 초기화합니다.
MoveToState(NotifyRequestBuilderState aDesiredState)
기본 상태 전환 함수.
Rollback(TLV::TLVWriter & aPoint)
요청 상태를 체크포인트가 적용된 TLVWriter로 롤백합니다.
StartDataList(void)
데이터 목록 배열의 생성을 시작합니다.
StartEventList()
이벤트 목록 생성을 시작합니다.
StartNotifyRequest()
알림 구성을 시작합니다.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
트레잇 경로가 주어지면 해당 경로와 연결된 데이터 요소를 작성합니다.

공개 함수

검문소

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

요청 상태를 TLVWriter에 체크포인트합니다.

세부정보
매개변수
[out] aPoint
TLV 작성기의 상태를 체크포인트할 작성자입니다.
반환 값
WEAVE_NO_ERROR
성공 시

EndDataList

WEAVE_ERROR EndDataList()

데이터 목록 배열의 생성을 종료합니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
요청이 DataList 컨테이너에 없는 경우
other
데이터 목록의 끝을 구성할 수 없습니다.

EndEventList

WEAVE_ERROR EndEventList()

이벤트 목록 생성을 종료합니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
요청이 EventList 컨테이너에 없는 경우
other
데이터 목록의 끝을 구성할 수 없습니다.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

알림 구성을 종료합니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
요청이 '알림' 컨테이너에 있지 않은 경우
other
알림의 끝을 구성할 수 없습니다.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Init

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

빌더를 초기화합니다.

한 번만 호출해야 합니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
other
빌더를 초기화할 수 없습니다.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

기본 상태 전환 함수.

함수는 원하는 상태 (즉, 도달하려는 알림 요청 빌더의 단계)를 취하고 요청을 해당 상태로 전환합니다. 원하는 상태가 현재 상태와 같으면 함수는 아무것도 하지 않습니다. 그 외의 경우에는 PacketBuffer가 할당됩니다 (필요한 경우). 함수는 먼저 요청을 최상위 알림 요청으로 전환 (알림 요청 TLV 구조를 열거나 필요에 따라 현재 TLV 데이터 컨테이너를 닫음)한 다음, 적절한 TLV 데이터 컨테이너를 열거나 중요한 알림 요청을 종료하여 알림 요청을 전환합니다.

세부정보
매개변수
aDesiredState
요청이 전환되어야 하는 원하는 상태
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_NO_MEMORY
메모리가 부족하여 상태로 전환할 수 없습니다.
WEAVE_ERROR_INCORRECT_STATE
내부 상태 시스템이 손상되었습니다.
other
상태 시스템이 버퍼에 상태를 기록할 수 없다면 런타임 문제가 아닌 설계 결함을 나타낼 가능성이 높습니다.

롤백

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

요청 상태를 체크포인트가 적용된 TLVWriter로 롤백합니다.

세부정보
매개변수
[in] aPoint
과거 언젠가 주를 캡처한 작가입니다.
반환 값
WEAVE_NO_ERROR
성공 시

StartDataList

WEAVE_ERROR StartDataList(
  void
)

데이터 목록 배열의 생성을 시작합니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
요청이 알림 컨테이너에 없는 경우
other
데이터 목록의 시작을 구성할 수 없습니다.

StartEventList

WEAVE_ERROR StartEventList()

이벤트 목록 생성을 시작합니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
요청이 알림 컨테이너에 없는 경우
other
데이터 목록의 시작을 구성할 수 없습니다.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

알림 구성을 시작합니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
요청이 버퍼의 최상위 레벨에 있지 않은 경우.
other
알림의 끝을 구성할 수 없습니다.

WriteDataElement

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

트레잇 경로가 주어지면 해당 경로와 연결된 데이터 요소를 작성합니다.

호출자는 선택적으로 핸들 세트를 전달하여 상위 속성 경로 핸들의 좁은 직계 하위 노드 집합과 병합 작업을 활용할 수 있습니다.

세부정보
반환 값
WEAVE_NO_ERROR
성공 시
other
데이터 요소를 검색하고 쓸 수 없습니다.