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{
  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 상호작용에서, 리소스에 대해 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에 표현된 표준 유형의 리소스만 파싱합니다.

세부정보
매개변수
[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는 kNodeIdNotSpeficied 리소스와 함께 예약된 리소스 유형으로 구성된 튜플입니다.

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)