O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

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

Isso inclui a conversão de PathHandles em caminhos WDM (e vice-versa), métodos para interpretar / consultar o próprio esquema e métodos para ajudar a ler / gravar dados de / para TLV com 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 a estrutura PropertyInfo que descreve um identificador de caminho específico.
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 o identificador estiver 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
Converta o identificador de caminho em um caminho TLV .
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
PropertyPathHandle
Lidar com o pai mais baixo.

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
int32_t
A profundidade da árvore

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
PropertyPathHandle
Manipulação do primeiro filho.

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 a estrutura PropertyInfo que descreve um identificador de caminho específico.

Detalhes
Valores Retornados
PropertyInfo*

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
PropertyPathHandle
Alça da próxima criança.

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
PropertyPathHandle
Alça do pai.

GetProfileId

uint32_t GetProfileId(
  void
) const 

Retorna o id do perfil da característica associada.

Detalhes
Valores Retornados
Trait
id do perfil

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
[in] aCandidateHandle
O PropertyPathHandle a ser convertido.
[in] aTags
Ponteiro para a matriz de saída.
[in] aTagsSize
Tamanho do array aTags, em número de elementos.
[out] aNumTags
O número de tags gravadas em aTags
Devoluções
WEAVE_NO_ERROR em caso de sucesso; WEAVE_ERROR_NO_MEMORY se aTags for muito pequeno 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
uint64_t

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
bool

IsEphemeral

bool IsEphemeral(
  PropertyPathHandle aHandle
) const 

IsInDictionary

bool IsInDictionary(
  PropertyPathHandle aHandle,
  PropertyPathHandle & aDictionaryItemHandle
) const 

Retorna verdadeiro se o identificador estiver 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
bool

IsLeaf

bool IsLeaf(
  PropertyPathHandle aPropertyHandle
) const 

Retorna verdadeiro se o identificador se referir a um nó folha na árvore do esquema.

Detalhes
Valores Retornados
bool

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
bool

MapHandleToPath

WEAVE_ERROR MapHandleToPath(
  PropertyPathHandle aHandle,
  nl::Weave::TLV::TLVWriter & aPathWriter
) const 

Converta o identificador de caminho em um caminho TLV .

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
other
Não foi possível converter o identificador em um caminho TLV

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
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Se um identificador correspondente não puder ser encontrado devido a um caminho malformado / especificado incorretamente.

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 tags são separadas por /
  • o caminho DEVE começar com / e NÃO DEVE conter uma barra final
  • As tags numéricas no caminho WDM DEVEM ser codificadas usando a biblioteca C padrão para codificação inteira para string, ou seja, a codificação decimal (padrão) NÃO DEVE conter um 0 à esquerda, uma codificação hexadecimal DEVE começar com 0x e a codificação octal DEVE conter um 0 esquerda.

Detalhes
Valores Retornados
WEAVE_NO_ERROR
Com sucesso.
WEAVE_ERROR_TLV_TAG_NOT_FOUND
Se um identificador correspondente não puder ser encontrado.
WEAVE_ERROR_INVALID_ARGUMENT
Se uma string de caminho estiver malformada

MatchesProfileId

bool MatchesProfileId(
  uint32_t aProfileId
) const 

Retorna verdadeiro se o passado em profileId corresponder ao armazenado no esquema.

Detalhes
Valores Retornados
bool

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
WEAVE_NO_ERROR
Com sucesso.
other
Erros encontrados ao gravar os dados.

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
WEAVE_NO_ERROR
Com sucesso.
other
Erros encontrados ao analisar / processar os dados.