nl :: Tecer:: Perfis :: DataManagement_Current :: TraitSchemaEngine
#include <src/lib/profiles/data-management/Current/TraitData.h>
O mecanismo de esquema obtém informações de esquema associadas a uma característica específica e fornece recursos para analisar e traduzir isso em uma forma utilizável pela máquina WDM.
Resumo
Isto inclui a conversão de PathHandles para caminhos WDM (e vice versa), métodos para interpretar / consulta a si e métodos do esquema de ajuda de leitura / escrita para os dados de / para o TLV dado um identificador.
O esquema em si é armazenado em forma tabular, suficientemente descrito para permitir análise / composição genérica de caminhos / dados WDM para qualquer característica dada. Essas tabelas são o que será o resultado final de 'code-gen' (o próprio termo sendo um tanto enganoso, dada a ausência de qualquer código gerado: P)
Atributos estáticos públicos | |
---|---|
kHandleTableOffset = 2 | const uint32_t |
Atributos públicos | |
---|---|
mSchema | const Schema |
Funções públicas | |
---|---|
FindLowestCommonAncestor ( PropertyPathHandle aHandle1, PropertyPathHandle aHandle2, PropertyPathHandle *aHandle1BranchChild, PropertyPathHandle *aHandle2BranchChild) const | Dados dois identificadores de propriedade, calcule o identificador mais baixo que serve como pai para ambos os identificadores. |
GetChildHandle ( PropertyPathHandle aParentHandle, uint8_t aContextTag) const | |
GetDepth ( PropertyPathHandle aHandle) const | int32_t Calcule a profundidade na árvore do esquema para um determinado identificador. |
GetDictionaryItemHandle ( PropertyPathHandle aParentHandle, uint16_t aDictionaryKey) const | |
GetFirstChild ( PropertyPathHandle aParentHandle) const | Retorna o primeiro identificador filho associado a um pai específico. |
GetHighestForwardVersion (SchemaVersion aVersion) const | SchemaVersion Dada uma versão de esquema de dados fornecida, isso retornará a versão de esquema compatível com o encaminhamento mais alto. |
GetLowestCompatibleVersion (SchemaVersion aVersion) const | SchemaVersion Dada uma versão do esquema de dados fornecida, isso retornará a versão mínima do esquema compatível. |
GetMap ( PropertyPathHandle aHandle) const | const PropertyInfo * Retorna um ponteiro para o PropertyInfo estrutura descrevendo um determinado caminho punho. |
GetMaxVersion () const | SchemaVersion |
GetMinVersion () const | SchemaVersion |
GetNextChild ( PropertyPathHandle aParentId, PropertyPathHandle aChildHandle) const | Dado um identificador para um filho existente, retorna o próximo identificador filho associado a um pai específico. |
GetParent ( PropertyPathHandle aHandle) const | Retorna o identificador pai de um determinado identificador de caminho filho. |
GetProfileId (void) const | uint32_t Retorna o id do perfil da característica associada. |
GetRelativePathTags (const PropertyPathHandle aCandidateHandle, uint64_t *aTags, const uint32_t aTagsSize, uint32_t & aNumTags) const | Converte um PropertyPathHandle em uma matriz de tags de contexto. |
GetTag ( PropertyPathHandle aHandle) const | uint64_t Retorna a tag associada a um identificador de caminho. |
GetVersionIntersection ( SchemaVersionRange & aVersion, SchemaVersionRange & aIntersection) const | bool Dado um intervalo de versão, esta função verifica se há uma interseção de compatibilidade entre isso e o que é suportado pelo esquema que está apoiando este mecanismo de esquema. |
IsDictionary ( PropertyPathHandle aHandle) const | bool Retorna verdadeiro se o identificador for um dicionário (e não em um dicionário - consulte o método abaixo). |
IsEphemeral ( PropertyPathHandle aHandle) const | bool |
IsInDictionary ( PropertyPathHandle aHandle, PropertyPathHandle & aDictionaryItemHandle) const | bool Retorna verdadeiro se a alça está dentro de um dicionário (um elemento de dicionário). |
IsLeaf ( PropertyPathHandle aPropertyHandle) const | bool Retorna verdadeiro se o identificador se referir a um nó folha na árvore do esquema. |
IsNullable ( PropertyPathHandle aHandle) const | bool |
IsOptional ( PropertyPathHandle aHandle) const | bool |
IsParent ( PropertyPathHandle aChildHandle, PropertyPathHandle aParentHandle) const | bool Verifica se um determinado identificador é filho de outro identificador. |
MapHandleToPath ( PropertyPathHandle aHandle,nl::Weave::TLV::TLVWriter & aPathWriter) const | Converter o identificador caminho para um TLV caminho. |
MapPathToHandle (nl::Weave::TLV::TLVReader & aPathReader, PropertyPathHandle & aHandle) const | Dado um leitor posicionado na raiz de um elemento de caminho WDM, leia as tags relevantes e forneça o identificador de caminho equivalente. |
MapPathToHandle (const char *aPathString, PropertyPathHandle & aHandle) const | Dada a representação de uma string de um caminho WDM, leia as tags relevantes e forneça o identificador de caminho equivalente. |
MatchesProfileId (uint32_t aProfileId) const | bool Retorna verdadeiro se o passado em profileId corresponder ao armazenado no esquema. |
RetrieveData ( PropertyPathHandle aHandle, uint64_t aTagToWrite,nl::Weave::TLV::TLVWriter & aWriter, IGetDataDelegate *aDelegate, IDirtyPathCut *apDirtyPathCut) const | Dado um identificador de caminho e uma posição do gravador no elemento de dados correspondente, recupere os dados da folha da origem e grave-os no buffer apontado pelo gravador de maneira compatível com o esquema. |
RetrieveUpdatableDictionaryData ( PropertyPathHandle aHandle, uint64_t aTagToWrite,nl::Weave::TLV::TLVWriter & aWriter, IGetDataDelegate *aDelegate, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom) const | |
StoreData ( PropertyPathHandle aHandle,nl::Weave::TLV::TLVReader & aReader, ISetDataDelegate *aDelegate, IPathFilter *aPathFilter) const | Dado um identificador de caminho e um leitor posicionado no elemento de dados correspondente, processe o buffer de dados apontado pelo leitor e armazene-o no coletor invocando a chamada SetLeafData sempre que um item de dados folha for encontrado. |
Aulas | |
---|---|
nl :: Weave :: Profiles :: DataManagement_Current :: TraitSchemaEngine :: IGetDataDelegate | |
nl :: Weave :: Profiles :: DataManagement_Current :: TraitSchemaEngine :: ISetDataDelegate |
Structs | |
---|---|
nl :: Weave :: Profiles :: DataManagement_Current :: TraitSchemaEngine :: PropertyInfo | |
nl :: Weave :: Profiles :: DataManagement_Current :: TraitSchemaEngine :: Schema | A estrutura principal do esquema que contém as informações do esquema. |
Atributos estáticos públicos
kHandleTableOffset
const uint32_t kHandleTableOffset = 2
Atributos públicos
mSchema
const Schema mSchema
Funções públicas
FindLowestCommonAncestor
PropertyPathHandle FindLowestCommonAncestor( PropertyPathHandle aHandle1, PropertyPathHandle aHandle2, PropertyPathHandle *aHandle1BranchChild, PropertyPathHandle *aHandle2BranchChild ) const
Dados dois identificadores de propriedade, calcule o identificador mais baixo que serve como pai para ambos os identificadores.
Além disso, retorne as duas ramificações secundárias que contêm cada uma das duas alças (mesmo se forem iguais).
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetChildHandle
PropertyPathHandle GetChildHandle( PropertyPathHandle aParentHandle, uint8_t aContextTag ) const
GetDepth
int32_t GetDepth( PropertyPathHandle aHandle ) const
Calcule a profundidade na árvore do esquema para um determinado identificador.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetDictionaryItemHandle
PropertyPathHandle GetDictionaryItemHandle( PropertyPathHandle aParentHandle, uint16_t aDictionaryKey ) const
GetFirstChild
PropertyPathHandle GetFirstChild( PropertyPathHandle aParentHandle ) const
Retorna o primeiro identificador filho associado a um pai específico.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetHighestForwardVersion
SchemaVersion GetHighestForwardVersion( SchemaVersion aVersion ) const
Dada uma versão de esquema de dados fornecida, isso retornará a versão de esquema compatível com o encaminhamento mais alto.
GetLowestCompatibleVersion
SchemaVersion GetLowestCompatibleVersion( SchemaVersion aVersion ) const
Dada uma versão do esquema de dados fornecida, isso retornará a versão mínima do esquema compatível.
GetMap
const PropertyInfo * GetMap( PropertyPathHandle aHandle ) const
Retorna um ponteiro para o PropertyInfo estrutura descrevendo um determinado caminho punho.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetMaxVersion
SchemaVersion GetMaxVersion() const
GetMinVersion
SchemaVersion GetMinVersion() const
GetNextChild
PropertyPathHandle GetNextChild( PropertyPathHandle aParentId, PropertyPathHandle aChildHandle ) const
Dado um identificador para um filho existente, retorna o próximo identificador filho associado a um pai específico.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetParent
PropertyPathHandle GetParent( PropertyPathHandle aHandle ) const
Retorna o identificador pai de um determinado identificador de caminho filho.
As chaves de dicionário no identificador são preservadas no caso em que o identificador pai também é um elemento de dicionário.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetProfileId
uint32_t GetProfileId( void ) const
Retorna o id do perfil da característica associada.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetRelativePathTags
WEAVE_ERROR GetRelativePathTags( const PropertyPathHandle aCandidateHandle, uint64_t *aTags, const uint32_t aTagsSize, uint32_t & aNumTags ) const
Converte um PropertyPathHandle em uma matriz de tags de contexto.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||
Devoluções | WEAVE_NO_ERROR em caso de sucesso; WEAVE_ERROR_NO_MEMORY se aTags for muito pequena para armazenar o caminho completo. |
GetTag
uint64_t GetTag( PropertyPathHandle aHandle ) const
Retorna a tag associada a um identificador de caminho.
Se for um elemento de dicionário, esta função retorna o ProfileTag. Caso contrário, ele retorna tags de contexto.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
GetVersionIntersection
bool GetVersionIntersection( SchemaVersionRange & aVersion, SchemaVersionRange & aIntersection ) const
Dado um intervalo de versão, esta função verifica se há uma interseção de compatibilidade entre isso e o que é suportado pelo esquema que está apoiando este mecanismo de esquema.
Se houver uma interseção, a função retornará true e atualizará o argumento aIntersection passado para refletir os resultados desse teste de interseção.
IsDictionary
bool IsDictionary( PropertyPathHandle aHandle ) const
Retorna verdadeiro se o identificador for um dicionário (e não em um dicionário - consulte o método abaixo).
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
IsEphemeral
bool IsEphemeral( PropertyPathHandle aHandle ) const
IsInDictionary
bool IsInDictionary( PropertyPathHandle aHandle, PropertyPathHandle & aDictionaryItemHandle ) const
Retorna verdadeiro se a alça está dentro de um dicionário (um elemento de dicionário).
Um usuário passado em identificador (aDictionaryItemHandle) é atualizado para apontar para o identificador de elemento de dicionário mais acima dentro do dicionário.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
IsLeaf
bool IsLeaf( PropertyPathHandle aPropertyHandle ) const
Retorna verdadeiro se o identificador se referir a um nó folha na árvore do esquema.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
IsNullable
bool IsNullable( PropertyPathHandle aHandle ) const
É opcional
bool IsOptional( PropertyPathHandle aHandle ) const
IsParent
bool IsParent( PropertyPathHandle aChildHandle, PropertyPathHandle aParentHandle ) const
Verifica se um determinado identificador é filho de outro identificador.
Este pode ser um pai indireto.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
MapHandleToPath
WEAVE_ERROR MapHandleToPath( PropertyPathHandle aHandle, nl::Weave::TLV::TLVWriter & aPathWriter ) const
MapPathToHandle
WEAVE_ERROR MapPathToHandle( nl::Weave::TLV::TLVReader & aPathReader, PropertyPathHandle & aHandle ) const
Dado um leitor posicionado na raiz de um elemento de caminho WDM, leia as tags relevantes e forneça o identificador de caminho equivalente.
Detalhes | |||||
---|---|---|---|---|---|
Valores Retornados |
|
MapPathToHandle
WEAVE_ERROR MapPathToHandle( const char *aPathString, PropertyPathHandle & aHandle ) const
Dada a representação de uma string de um caminho WDM, leia as tags relevantes e forneça o identificador de caminho equivalente.
O caminho WDM é representado como uma string usando as seguintes regras:
- as etiquetas são separadas com
/
- O caminho deve começar com um líder
/
e não deve conter uma barra final - etiquetas numéricas no caminho WDM deve ser codificado usando a biblioteca C padrão para inteiro para string codificação, ou seja decimal codificação (padrão) não deve conter um 0, uma codificação hexadecimal deve começar com
0x
, e codificação octal deve conter um líder0
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Valores Retornados |
|
MatchesProfileId
bool MatchesProfileId( uint32_t aProfileId ) const
Retorna verdadeiro se o passado em profileId corresponder ao armazenado no esquema.
Detalhes | |||
---|---|---|---|
Valores Retornados |
|
Recuperar dados
WEAVE_ERROR RetrieveData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, IGetDataDelegate *aDelegate, IDirtyPathCut *apDirtyPathCut ) const
Dado um identificador de caminho e uma posição do gravador no elemento de dados correspondente, recupere os dados da folha da origem e grave-os no buffer apontado pelo gravador de uma maneira compatível com o esquema.
Detalhes | |||||
---|---|---|---|---|---|
Valores Retornados |
|
RetrieveUpdatableDictionaryData
WEAVE_ERROR RetrieveUpdatableDictionaryData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, IGetDataDelegate *aDelegate, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom ) const
Armazenamento de dados
WEAVE_ERROR StoreData( PropertyPathHandle aHandle, nl::Weave::TLV::TLVReader & aReader, ISetDataDelegate *aDelegate, IPathFilter *aPathFilter ) const
Dado um identificador de caminho e um leitor posicionado no elemento de dados correspondente, processe o buffer de dados apontado pelo leitor e armazene-o no coletor invocando a chamada SetLeafData sempre que um item de dados folha for encontrado.
Detalhes | |||||
---|---|---|---|---|---|
Valores Retornados |
|