nl:: Weave:: Profiles:: DataManagement_Current:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
리소스의 ID를 캡슐화하는 구조입니다.
요약
ResourceIdentifier는 특정 유형의 일반화된 64비트 객체 ID 또는 UUID일 수 있습니다. 외부에서 인코딩하면 다음과 같은 표현이 지원됩니다.
표현에 지정된 ID를 가진 DEVICE 유형의 일반화된 객체에 해당하는 부호 없는 64비트 정수
10옥텟의 바이트 문자열로 인코딩된 일반화된 표현입니다. 처음 두 옥텟은 리소스 유형을 16비트 Little Endian 정수로 인코딩하고 나머지 8바이트는 Little Endian 64비트 리소스 ID를 인코딩합니다.
ResourceIdentifier는 WDM 코드 전체에 존재하는 규칙을 구현합니다. 빈 ResourceIdentifier는 DEVICE의 노드 ID에 해당하며 생성자는 가장 일반적인 사용 사례에 제공됩니다.
생성자 및 소멸자 |
|
---|---|
ResourceIdentifier()
지정되지 않은 ResourceID에 해당하는 ResourceIdentifier를 구성합니다.
|
|
ResourceIdentifier(const uint64_t & aNodeId)
지정된 aNodeId를 기반으로 DEVICE 유형의 ResourceIdentifier를 구성합니다.
|
|
ResourceIdentifier(uint16_t aResourceType, const uint64_t & aResourceId)
주어진 ID를 사용하여 지정된 유형의 ResourceIdentifier를 생성합니다.
|
|
ResourceIdentifier(uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen)
주어진 ID를 사용하여 지정된 유형의 ResourceIdentifier를 생성합니다.
|
공개 유형 |
|
---|---|
@125{
|
enum |
@126
|
enum 'self'를 참조하는 NodeId에 대한 특수한 값을 정의합니다. |
@127
|
enum |
공개 속성 |
|
---|---|
ResourceId
|
uint64_t
|
ResourceIdBytes[8]
|
uint8_t
|
공개 함수 |
|
---|---|
FromString(const char *inBuffer, size_t inBufferLen)
|
리소스의 표준 문자열 표현을 리소스 객체로 파싱합니다.
|
FromString(const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId)
|
리소스의 표준 문자열 표현을 리소스 객체로 파싱합니다.
|
FromTLV(nl::Weave::TLV::TLVReader & aReader)
|
TLV 표현에서 ResourceIdentifier를 이 객체로 역직렬화합니다.
|
FromTLV(nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId)
|
TLV 표현에서 ResourceIdentifier를 이 객체로 역직렬화합니다.
|
GetResourceId() const
|
uint64_t
ResourceId를 가져오는 접근자 함수입니다.
|
GetResourceType() const
|
uint16_t
ResourceType을 가져오는 접근자 함수입니다.
|
ResourceTypeAsString(void) const
|
const char *
ResourceType의 문자열 표현을 생성합니다.
|
ToString(char *buffer, size_t bufferLen)
|
ResourceIdentifier를 인쇄 가능한 문자열로 변환합니다.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter) const
|
컨텍스트 Path::ResourceID 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.
|
ToTLV(nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag) const
|
지정된 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.
|
공개 정적 함수 |
|
---|---|
ResourceTypeAsString(uint16_t aResourceType)
|
const char *
리소스 유형의 문자열 표현을 생성합니다.
|
친구 수업 |
|
---|---|
operator==
|
friend bool
|
공개 유형
@125
@125
속성 | |
---|---|
RESOURCE_TYPE_RESERVED
|
예약된 리소스 유형입니다. enum은 Schema::Weave:::Common::ResourceType enum의 enum 값과 충돌하지 않도록 선택됩니다. 현재 RESERVED 리소스 유형에 두 개의 ResourceId 값이 가능합니다. kNodeIdNotSpecified는 단위화된 ResourceIdentifier에 해당하고, SELF_NODE_ID는 다른 모든 표현에서 SELF로 재매핑되는 리소스에 해당합니다. |
@126
@126
'self'를 참조하는 NodeId에 대한 특수한 값을 정의합니다.
특정 WDM 상호작용에서, 리소스에 대해 self 값을 보유하면 해당 정보를 압축할 수 있습니다. 이 정보는 Weave에 표현된 장치의 소스 노드 ID와 중복되기 때문입니다. 메시지 자체
@127
@127
공개 속성
리소스 ID
uint64_t ResourceId
ResourceIdBytes
uint8_t ResourceIdBytes[8]
공개 함수
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen )
리소스의 표준 문자열 표현을 리소스 객체로 파싱합니다.
리소스의 표준 문자열 표현을 리소스 객체로 변환합니다. 리소스의 하위 집합만 문자열로 표현될 수 있으며, 특히 Weave의 참조 구현은 ResourceTypeEnum에 표현된 표준 유형의 리소스만 파싱합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
FromString
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
리소스의 표준 문자열 표현을 리소스 객체로 파싱합니다.
리소스의 표준 문자열 표현을 리소스 객체로 변환합니다. 리소스의 하위 집합만 문자열로 표현될 수 있으며, 특히 Weave의 참조 구현은 ResourceTypeEnum에 표현된 표준 유형의 리소스만 파싱합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
TLV 표현에서 ResourceIdentifier를 이 객체로 역직렬화합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
성공 시 WEAVE_NO_ERROR를 반환합니다. ResourceIdentifier를 제대로 읽을 수 없는 경우 TLVReader에서 발생하는 오류입니다.
|
FromTLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader, const uint64_t & aSelfNodeId )
TLV 표현에서 ResourceIdentifier를 이 객체로 역직렬화합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 WEAVE_NO_ERROR를 반환합니다. ResourceIdentifier를 제대로 읽을 수 없는 경우 TLVReader에서 발생하는 오류입니다.
|
GetResourceId
uint64_t GetResourceId() const
ResourceId를 가져오는 접근자 함수입니다.
GetResourceType
uint16_t GetResourceType() const
ResourceType을 가져오는 접근자 함수입니다.
ResourceIdentifier
ResourceIdentifier()
지정되지 않은 ResourceID에 해당하는 ResourceIdentifier를 구성합니다.
지정되지 않은 리소스 ID는 kNodeIdNotSpeficied 리소스와 함께 예약된 리소스 유형으로 구성된 튜플입니다.
ResourceIdentifier
ResourceIdentifier( const uint64_t & aNodeId )
지정된 aNodeId를 기반으로 DEVICE 유형의 ResourceIdentifier를 구성합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint64_t & aResourceId )
주어진 ID를 사용하여 지정된 유형의 ResourceIdentifier를 생성합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
ResourceIdentifier
ResourceIdentifier( uint16_t aResourceType, const uint8_t *aResourceId, size_t aResourceIdLen )
주어진 ID를 사용하여 지정된 유형의 ResourceIdentifier를 생성합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
ResourceTypeAsString
const char * ResourceTypeAsString( void ) const
ResourceType의 문자열 표현을 생성합니다.
변환된 리소스 유형은 ResourceTypeEnum.h 및 0 (RESOURCE_TYPE_RESERVED에 해당)에 열거된 리소스 유형입니다.
ToString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
컨텍스트 Path::ResourceID 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
ToTLV
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
지정된 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
공개 정적 함수
ResourceTypeAsString
const char * ResourceTypeAsString( uint16_t aResourceType )
리소스 유형의 문자열 표현을 생성합니다.
변환된 리소스 유형은 ResourceTypeEnum.h 및 0 (RESOURCE_TYPE_RESERVED에 해당)에 열거된 리소스 유형입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
친구 수업
연산자==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)