nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

이것이 추상 클래스입니다.

#include <src/lib/profiles/data-management/Legacy/ProfileDatabase.h>

추상 ProfileDatabase 보조 클래스입니다.

요약

WDM은 데이터 관리 구현과 프로토콜 구현을 분리하며, 원칙적으로 데이터 관리 구현의 대부분은 애플리케이션 개발자에게 맡깁니다. WDM의 흥미로운 모든 호출과 프로필 개발자가 구현하는 데 필요한 모든 추상 메서드는 TLV로 인코딩된 경로 목록 또는 데이터 목록을 사용합니다. 이는 프로필 개발자에게 부담을 주고 실제로 개발자가 TLV의 패킹 및 압축해제를 위해 동일한 코드를 작성함에 따라 실제로 많은 코드 중복을 야기합니다. Google은 이러한 작업을 조금 쉽게 수행할 수 있도록 일종의 '데이터 관리 툴킷'을 제공합니다.

이 보조 클래스는 필요한 구체적인 ProfileData 서브클래스를 제공하여 아래 LookupProfileData() 메서드에 추가한 경우 데이터 저장 및 검색을 지원합니다.

공개 함수

LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
데이터베이스에서 ProfileData 객체를 찾습니다.
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
데이터베이스에서 ProfileData 객체를 찾습니다.
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
ProfileData 객체를 찾습니다.
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
경로 목록이 지정된 데이터 목록을 가져옵니다.
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
주어진 경로 목록에 데이터 목록을 작성합니다.
Store(ReferencedTLVData & aDataList)
데이터 목록을 저장합니다.

보호된 함수

StoreInternal(nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader)

클래스

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase::ProfileData

추상 ProfileData 보조 내부 클래스입니다.

공개 함수

LookupDataFromProfileDescriptor

WEAVE_ERROR LookupDataFromProfileDescriptor(
  nl::Weave::TLV::TLVReader & aDescReader,
  ProfileData **aProfileData
)

데이터베이스에서 ProfileData 객체를 찾습니다.

이 유틸리티 메서드는 특정 ProfileDatabase에서 ProfileData 객체를 찾는 데 사용됩니다. 주로 구체적인 ProfileDatabase 하위 클래스의 구현자가 제공하는 조회 메서드에 따라 달라집니다.

세부정보
매개변수
[in] aDescReader
WDM 경로(첫 번째 요소로 프로필 설명이 포함된 TLV 경로)에 위치한 TLV 리더에 대한 참조입니다.
[out] aProfileData
관심 있는 ProfileData 객체에 대한 포인터를 반환하기 위한 포인터입니다.
반환
성공 시 WEAVE_NO_ERROR를 반환하고 그렇지 않으면 일치하는 ProfileData 객체 조회에 실패했음을 나타내는 WEAVE_ERROR를 반환합니다.

LookupProfileData

WEAVE_ERROR LookupProfileData(
  nl::Weave::TLV::TLVReader & aPathReader,
  ProfileData **aProfileData
)

데이터베이스에서 ProfileData 객체를 찾습니다.

이 유틸리티 메서드는 특정 ProfileDatabase에서 ProfileData 객체를 찾는 데 사용됩니다. 주로 구체적인 ProfileDatabase 하위 클래스의 구현자가 제공하는 조회 메서드에 따라 달라집니다.

세부정보
매개변수
[in] aPathReader
WDM 경로(첫 번째 요소로 프로필 설명이 포함된 TLV 경로)에 위치한 TLV 리더에 대한 참조입니다.
[out] aProfileData
관심 있는 ProfileData 객체에 대한 포인터를 반환하기 위한 포인터입니다.
반환
성공 시 WEAVE_NO_ERROR를 반환하고 그렇지 않으면 일치하는 ProfileData 객체 조회에 실패했음을 나타내는 WEAVE_ERROR를 반환합니다.

LookupProfileData

virtual WEAVE_ERROR LookupProfileData(
  uint32_t aProfileId,
  nl::Weave::TLV::TLVReader *aInstanceIdRdr,
  ProfileData **aResult
)=0

ProfileData 객체를 찾습니다.

프로필 ID 및 TLV 리더로 제공된 인스턴스 ID (선택사항)를 고려하여 특정 ProfileData 객체를 조회합니다.

세부정보
매개변수
[in] aProfileId
관심 프로필의 32비트 프로필 번호입니다.
[in] aInstanceIdRdr
인스턴스 식별자 데이터에 위치한 TLV 판독기에 대한 포인터입니다. 인스턴스 식별자가 제공되지 않은 경우 이 값은 NULL입니다.
[out] aResult
관심 있는 ProfileData 객체에 대한 포인터를 반환하기 위한 포인터입니다.
반환
성공 시 WEAVE_NO_ERROR 그렇지 않으면 ProfileData 객체를 찾을 수 없음을 반영하는 WEAVE_ERROR를 반환합니다.

검색

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

경로 목록이 지정된 데이터 목록을 가져옵니다.

경로 목록이 주어지면, 경로 목록의 각 경로에 있는 데이터 목록 요소를 포함하는 데이터 목록(해당 경로의 터미널인 데이터)을 검색합니다.

세부정보
매개변수
[in] aPathList
검색할 데이터를 나타내는 TLV로 인코딩된 경로 목록이 포함된 ReferencedTLVData 객체에 대한 참조입니다. 이 매개변수는 함수가 실행되는 동안 일정하게 유지됩니다.
[out] aDataList
검색된 결과를 쓸 ReferencedTLVData 객체에 대한 참조입니다. 데이터 길이는 이 함수가 성공적으로 실행된 후에만 조정됩니다.
반환
성공 시 WEAVE_NO_ERROR 그렇지 않으면 관심 있는 데이터 목록 검색 실패를 나타내는 WEAVE_ERROR를 반환합니다.

검색

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVWriter & aWriter
)

주어진 경로 목록에 데이터 목록을 작성합니다.

경로 목록과 TLV 작성기가 주어지면 경로 목록의 각 경로에 대한 데이터 목록 요소와 해당 경로의 터미널인 데이터를 포함하는 데이터 목록을 작성합니다.

세부정보
매개변수
[in] aPathList
검색할 데이터를 나타내는 TLV 경로 목록이 포함된 ReferencedTLVData 객체에 대한 참조입니다. 이 매개변수는 함수가 실행되는 동안 일정하게 유지됩니다.
[in] aWriter
검색된 경로 목록을 작성하는 데 사용할 TLV 작성기에 대한 참조입니다. 오류가 발생하면 작성자의 내부 상태를 복구하지 못할 수 있습니다.
반환
성공 시 WEAVE_NO_ERROR 그 외의 경우에는 데이터 검색 또는 관심 데이터 목록 작성에 실패했음을 나타내는 WEAVE_ERROR가 반환됩니다.

저장

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

데이터 목록을 저장합니다.

TLV로 인코딩된 데이터 목록을 고려하여 이 메서드는 해당 목록을 파싱하고 ProfileDatabase 서브클래스 구현자가 제공하는 구체적인 메서드를 호출하여 참조된 데이터를 속한 위치에 배치하는 프로세스를 거칩니다.

세부정보
매개변수
[in] aDataList
TLV로 인코딩된 형식의 관심 데이터를 포함하는 ReferencedTLVData 객체에 대한 참조입니다.
반환
성공 시 WEAVE_NO_ERROR 그렇지 않으면 관심 있는 데이터를 저장하지 못했음을 나타내는 WEAVE_ERROR를 반환합니다.

보호된 함수

StoreInternal

WEAVE_ERROR StoreInternal(
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t aVersion,
  nl::Weave::TLV::TLVReader & aDataReader
)