Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

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{
  RESOURCE_TYPE_RESERVED = 0
}
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에 명시된 표준 유형의 리소스만 파싱합니다.

세부정보
매개변수
[in] inBuffer
파싱할 리소스 ID가 포함된 버퍼
[in] inBufferLen
파싱할 문자열의 길이 (바이트)

보낸사람 문자열

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen,
  const uint64_t & aSelfNodeId
)

리소스의 표준 문자열 표현을 리소스 객체로 파싱합니다.

리소스의 표준 문자열 표현을 리소스 객체로 변환합니다. 특히 리소스의 하위 집합만 문자열로 표현할 수 있습니다. 특히 Weave의 참조 구현은 ResourceTypeEnum에 명시된 표준 유형의 리소스만 파싱합니다.

세부정보
매개변수
[in] inBuffer
파싱할 리소스 ID가 포함된 버퍼
[in] inBufferLen
파싱할 문자열의 길이 (바이트)
[in] aSelfNodeId
SELF_NODE_ID에 매핑되어야 하는 기기 ID를 나타내는 64비트 ID

최저 TLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader
)

TLV 표현에서 이 객체로 ResourceIdentifier를 역직렬화합니다.

세부정보
매개변수
[in] aReader
TLV ResourceIdentifier 요소에 배치된 리더
반환
성공 시 WEAVE_NO_ERROR입니다. ResourceIdentifier를 올바르게 읽을 수 없는 경우 TLVReader의 오류입니다.

최저 TLV

WEAVE_ERROR FromTLV(
  nl::Weave::TLV::TLVReader & aReader,
  const uint64_t & aSelfNodeId
)

TLV 표현에서 이 객체로 ResourceIdentifier를 역직렬화합니다.

세부정보
매개변수
[in] aReader
TLV ResourceIdentifier 요소에 배치된 리더
[in] aSelfNodeId
직렬화된 표현에서 SELF_NODE_ID로 다시 매핑될 64비트 ResourceID
반환
성공 시 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를 구성합니다.

세부정보
매개변수
[in] aNodeId
지정된 리소스 ID의 NodeId입니다.

리소스 식별자

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

지정된 ID를 사용하여 지정된 유형의 ResourceIdentifier를 구성합니다.

세부정보
매개변수
[in] aResourceType
이름을 지정할 리소스 유형
[in] aResourceId
이름을 지정할 리소스의 ID

리소스 식별자

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint8_t *aResourceId,
  size_t aResourceIdLen
)

지정된 ID를 사용하여 지정된 유형의 ResourceIdentifier를 구성합니다.

세부정보
매개변수
[in] aResourceType
이름을 지정할 리소스 유형
[in] aResourceId
바이트 배열로 표현될 리소스의 ID입니다.
[in] aResourceIdLen
ID의 길이(바이트)입니다.

리소스 유형 문자열

const char * ResourceTypeAsString(
  void
) const 

ResourceType의 문자열 표현을 생성합니다.

변환된 리소스 유형은 ResourceTypeEnum.h 및 0 (RESOURCE_TYPE_RESERVED에 해당)에 열거됩니다.

ToString

WEAVE_ERROR ToString(
  char *buffer,
  size_t bufferLen
)

ResourceIdentifier를 인쇄 가능한 문자열로 변환합니다.

세부정보
매개변수
[in] buffer
인쇄할 버퍼
[in] bufferLen
버퍼의 길이

서비스 약관

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter
) const 

컨텍스트 Path::ResourceID 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.

세부정보
매개변수
[in] aWriter
ResourceIdentifier를 직렬화하는 TLV 작성자

서비스 약관

WEAVE_ERROR ToTLV(
  nl::Weave::TLV::TLVWriter & aWriter,
  const uint64_t & aTag
) const 

지정된 태그를 사용하여 리소스를 TLV 표현으로 직렬화합니다.

세부정보
매개변수
[in] aWriter
ResourceIdentifier를 직렬화하는 TLV 작성자
[in] aTag
직렬화된 ResourceIdentifier 이름을 지정하는 태그

공개 정적 함수

리소스 유형 문자열

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

리소스 유형의 문자열 표현을 생성합니다.

변환된 리소스 유형은 ResourceTypeEnum.h 및 0 (RESOURCE_TYPE_RESERVED에 해당)에 열거됩니다.

세부정보
매개변수
[in] aResourceType
문자열 표현으로 변환할 리소스 유형 enum입니다.

친구 수업

연산자==

friend bool operator==(const ResourceIdentifier &lhs, const ResourceIdentifier &rhs)