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에 체크포인트합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 값 |
|
EndDataList
WEAVE_ERROR EndDataList()
데이터 목록 배열의 생성을 종료합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
반환 값 |
|
EndEventList
WEAVE_ERROR EndEventList()
이벤트 목록 생성을 종료합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
반환 값 |
|
EndNotifyRequest
WEAVE_ERROR EndNotifyRequest()
알림 생성을 종료합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
반환 값 |
|
GetWriter
TLV::TLVWriter * GetWriter( void )
Init
WEAVE_ERROR Init( PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize )
빌더를 초기화합니다.
한 번만 호출해야 합니다.
세부정보 | |||||
---|---|---|---|---|---|
반환 값 |
|
MoveToState
WEAVE_ERROR MoveToState( NotifyRequestBuilderState aDesiredState )
기본 상태 전환 함수
함수는 원하는 상태 (즉, 도달하려는 알림 요청 빌더의 단계)를 취하고 요청을 해당 상태로 전환합니다. 원하는 상태가 현재 상태와 같은 경우 함수는 아무 작업도 하지 않습니다. 그러지 않으면 PacketBuffer가 할당됩니다 (필요한 경우). 함수는 먼저 요청을 최상위 알림 요청으로 전환 (필요에 따라 알림 요청 TLV 구조를 열거나 현재 TLV 데이터 컨테이너를 닫음)한 다음 적절한 TLV 데이터 컨테이너를 열거나 중요한 알림 요청을 닫는 방법으로 Notify 요청을 전환합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
롤백
WEAVE_ERROR Rollback( TLV::TLVWriter & aPoint )
요청 상태를 체크포인트가 적용된 TLVWriter로 롤백합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 값 |
|
StartDataList
WEAVE_ERROR StartDataList( void )
데이터 목록 배열의 생성을 시작합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
반환 값 |
|
StartEventList
WEAVE_ERROR StartEventList()
이벤트 목록의 생성을 시작합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
반환 값 |
|
StartNotifyRequest
WEAVE_ERROR StartNotifyRequest()
알림 생성을 시작합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
반환 값 |
|
WriteDataElement
WEAVE_ERROR WriteDataElement( TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles )
특성 경로가 주어지면 해당 경로와 연결된 데이터 요소를 작성합니다.
호출자는 선택적으로 핸들 집합을 전달할 수 있으므로 상위 속성 경로 핸들의 직계 하위 노드 집합의 범위가 좁은 병합 작업을 활용할 수 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
반환 값 |
|