nl:: 프로필: 프로필:: ResourceIdentifier:: ResourceIdentifier
#include <src/lib/profiles/data-management/Current/ResourceIdentifier.h>
리소스의 ID를 캡슐화하는 구조입니다.
요약
ResourceIdentifier는 특정 유형의 일반화된 64비트 객체 ID 또는 UUID일 수 있습니다. 외부에서 인코딩되는 경우 다음과 같은 표현이 지원됩니다.
표현에 지정된 ID를 사용하여 DEVICE 유형의 일반화된 객체에 해당하는 부호 없는 64비트 정수
10옥텟의 바이트 문자열로 인코딩되는 일반화된 표현 처음 두 옥텟은 리소스 유형을 16비트, 작은 엔디언 정수로 인코딩하고 나머지 8바이트는 리틀 엔디언 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 값과 충돌하지 않도록 선택됩니다. 현재 예약된 리소스 유형에 두 개의 ResourceId 값이 가능합니다. 즉, kNodeIdNotSpecified는 단위화된 ResourceIdentifier에 해당하며 SELF_NODE_ID는 다른 표현에서 SELF에 다시 매핑되는 리소스에 해당합니다. |
@126
@126
'self'를 참조하는 NodeId의 특수 값을 정의합니다.
특정 WDM 상호작용에서 리소스 자체의 값이 있으면 Weave에 표현된 기기의 소스 노드 ID와 중복되므로 이 정보를 압축할 수 있습니다.
@127
@127
공개 속성
리소스 ID
uint64_t ResourceId
리소스 ID 바이트
uint8_t ResourceIdBytes[8]
공개 함수
보낸사람 문자열
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen )
리소스의 표준 문자열 표현을 리소스 객체로 파싱합니다.
리소스의 표준 문자열 표현을 리소스 객체로 변환합니다. 특히 리소스의 하위 집합만 문자열로 표현할 수 있습니다. 특히 Weave의 참조 구현은 ResourceTypeEnum에 명시된 표준 유형의 리소스만 파싱합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
보낸사람 문자열
WEAVE_ERROR FromString( const char *inBuffer, size_t inBufferLen, const uint64_t & aSelfNodeId )
리소스의 표준 문자열 표현을 리소스 객체로 파싱합니다.
리소스의 표준 문자열 표현을 리소스 객체로 변환합니다. 특히 리소스의 하위 집합만 문자열로 표현할 수 있습니다. 특히 Weave의 참조 구현은 ResourceTypeEnum에 명시된 표준 유형의 리소스만 파싱합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
최저 TLV
WEAVE_ERROR FromTLV( nl::Weave::TLV::TLVReader & aReader )
TLV 표현에서 이 객체로 ResourceIdentifier를 역직렬화합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
성공 시 WEAVE_NO_ERROR입니다. ResourceIdentifier를 올바르게 읽을 수 없는 경우 TLVReader의 오류입니다.
|
최저 TLV
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()
지정되지 않은 ResourceID에 해당하는 ResourceIdentifier를 구성합니다.
지정되지 않은 리소스 ID는 kNodeIdNotSpeficied 리소스가 있는 RESERVED 리소스 유형으로 구성된 튜플입니다.
리소스 식별자
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를 구성합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
리소스 유형 문자열
const char * ResourceTypeAsString( void ) const
ResourceType의 문자열 표현을 생성합니다.
변환된 리소스 유형은 ResourceTypeEnum.h 및 0 (RESOURCE_TYPE_RESERVED에 해당)에 열거됩니다.
ToString
WEAVE_ERROR ToString( char *buffer, size_t bufferLen )
서비스 약관
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter ) const
컨텍스트 Path::ResourceID 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
서비스 약관
WEAVE_ERROR ToTLV( nl::Weave::TLV::TLVWriter & aWriter, const uint64_t & aTag ) const
지정된 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
공개 정적 함수
리소스 유형 문자열
const char * ResourceTypeAsString( uint16_t aResourceType )
리소스 유형의 문자열 표현을 생성합니다.
변환된 리소스 유형은 ResourceTypeEnum.h 및 0 (RESOURCE_TYPE_RESERVED에 해당)에 열거됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
친구 수업
연산자==
friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)