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

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

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

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

요약

WDM은 프로토콜 구현을 데이터 관리 구현으로부터 분리하며, 원칙적으로는 데이터 관리 구현의 대부분을 애플리케이션 개발자에게 맡깁니다. WDM에서 흥미로운 모든 호출과 프로필 개발자가 구현해야 하는 모든 추상 메서드는 TLV로 인코딩된 경로 목록 또는 데이터 목록을 취합니다. 이는 프로필 개발자에게 부담이 되며, 실제로 개발자가 TLV 패키징 및 압축 해제 등을 위해 동일한 코드를 작성한 후에는 개발자로서 많은 코드 중복이 발생합니다. 그래서 좀 더 쉽게 하기 위해 일종의 '데이터 관리 툴킷'을 제공합니다.

이 보조 클래스는 필요한 구체적인 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 및 (선택사항) 인스턴스 ID가 주어지면 특정 ProfileData 객체를 조회합니다. TLV 리더로 제공됩니다.

세부정보
매개변수
[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
)