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비트의 리틀 엔디언 정수로 인코딩하고, 나머지 8바이트는 리틀 엔디언 64비트 리소스 ID를 인코딩합니다.

ResourceIdentifier는 WDM 코드 전반에 존재하는 규칙도 구현합니다. 빈 ResourceIdentifier는 기기의 노드 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 값과 충돌하지 않도록 선택됩니다. 현재 RESERVED 리소스 유형에 대해 두 개의 ResourceId 값이 가능합니다. kNodeIdNotSpecified는 단위화된 ResourceIdentifier에 상응하고, SELF_NODE_ID는 다른 표현에서 SELF로 재매핑할 리소스에 해당합니다.

@126

 @126

'self'를 참조하는 NodeId의 특수 값을 정의합니다.

특정 WDM 상호작용에서 리소스에 대해 자체 값을 사용하면 Weave 메시지 자체에 표현된 기기의 소스 노드 ID와 중복되므로 해당 정보를 압축할 수 있습니다.

@127

 @127

공개 속성

ResourceId

uint64_t ResourceId

ResourceIdBytes

uint8_t ResourceIdBytes[8]

공개 함수

FromString

WEAVE_ERROR FromString(
  const char *inBuffer,
  size_t inBufferLen
)

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

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

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

FromString

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

FromTLV

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

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

세부정보
매개변수
[in] aReader
ResourceIdentifier 요소에 위치한 TLV 리더
반환
성공 시 WEAVE_NO_ERROR ResourceIdentifier를 제대로 읽을 수 없는 경우 TLVReader에서 발생하는 오류입니다.

FromTLV

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

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

세부정보
매개변수
[in] aReader
ResourceIdentifier 요소에 위치한 TLV 리더
[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

 ResourceIdentifier()

지정되지 않은 ResourceID에 해당하는 ResourceIdentifier를 구성합니다.

지정되지 않은 리소스 ID는 kNodeIdNotSpicied 리소스가 있는 RESERVED 리소스 유형으로 구성된 튜플입니다.

ResourceIdentifier

 ResourceIdentifier(
  const uint64_t & aNodeId
)

지정된 aNodeId에 기반하여 DEVICE 유형의 ResourceIdentifier를 생성합니다.

세부정보
매개변수
[in] aNodeId
지정된 리소스 ID의 nodeId

ResourceIdentifier

 ResourceIdentifier(
  uint16_t aResourceType,
  const uint64_t & aResourceId
)

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

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

ResourceIdentifier

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

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

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

ResourceTypeAsString

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
버퍼의 길이

ToTLV

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

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

세부정보
매개변수
[in] aWriter
ResourceIdentifier를 다음과 같이 직렬화하는 TLV 작성기

ToTLV

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

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

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

공개 정적 함수

ResourceTypeAsString

const char * ResourceTypeAsString(
  uint16_t aResourceType
)

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

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

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

친구 수업

연산자==

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