nl::Weave::Profiles::DataManagement_Current::TraitDataSource

Esta es una clase abstracta.

Resumen

Herencia

Se hereda de: nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Subclases conocidas directas: nl::Weave::DeviceLayer::Internal::DeviceIdentityTraitDataSource

Constructores y destructores

TraitDataSource(const TraitSchemaEngine *aEngine)
~TraitDataSource()

Tipos públicos

EventType enum

Atributos públicos

mRootIsDirty
bool

Atributos protegidos

mManagedVersion
bool
mSchemaEngine

Funciones públicas

ClearRootDirty(void)
void
GetSchemaEngine(void) const
GetVersion(void)
uint64_t
IsRootDirty(void) const
bool
Lock(void)
OnCustomCommand(Command *aCommand, const nl::Weave::WeaveMessageInfo *aMsgInfo, nl::Weave::PacketBuffer *aPayload, const uint64_t & aCommandType, const bool aIsExpiryTimeValid, const int64_t & aExpiryTimeMicroSecond, const bool aIsMustBeVersionValid, const uint64_t & aMustBeVersion, nl::Weave::TLV::TLVReader & aArgumentReader)
virtual void
Controlador para el comando personalizado.
OnCustomCommand(Command *aCommand, const nl::Weave::WeaveMessageInfo *aMsgInfo, nl::Weave::PacketBuffer *aPayload, nl::Weave::TLV::TLVReader & aArgumentReader)
virtual void
Controlador para el comando personalizado.
OnEvent(uint16_t aType, void *aInEventParam)
virtual WEAVE_ERROR
ReadData(PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter)
SetDirty(PropertyPathHandle aPropertyHandle)
void
SetRootDirty(void)
void
SetVersion(uint64_t version)
void
Unlock(void)

Funciones protegidas

GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
virtual WEAVE_ERROR
Con un controlador de ruta de acceso a un nodo, un escritor TLV y valores booleanos que indican si el valor es nulo o no está presente, obtén los datos de la fuente de la característica que creará una notificación.
GetLeafData(PropertyPathHandle aLeafHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter) __OVERRIDE=0
virtual WEAVE_ERROR
Con un controlador de ruta de acceso a un nodo de hoja y un escritor TLV, obtén los datos del destinatario.
IncrementVersion(void)
void

Tipos públicos

EventType

 EventType

Atributos públicos

mRootIsDirty

bool mRootIsDirty

Atributos protegidos

mManagedVersion

bool mManagedVersion

mSchemaEngine

const TraitSchemaEngine * mSchemaEngine

Funciones públicas

ClearRootDirty

void ClearRootDirty(
  void
)

GetSchemaEngine

const TraitSchemaEngine * GetSchemaEngine(
  void
) const 

GetVersion

uint64_t GetVersion(
  void
)

IsRootDirty

bool IsRootDirty(
  void
) const 

Bloquear

WEAVE_ERROR Lock(
  void
)

OnCustomCommand

virtual void OnCustomCommand(
  Command *aCommand,
  const nl::Weave::WeaveMessageInfo *aMsgInfo,
  nl::Weave::PacketBuffer *aPayload,
  const uint64_t & aCommandType,
  const bool aIsExpiryTimeValid,
  const int64_t & aExpiryTimeMicroSecond,
  const bool aIsMustBeVersionValid,
  const uint64_t & aMustBeVersion,
  nl::Weave::TLV::TLVReader & aArgumentReader
)

Controlador para el comando personalizado.

Este es un método virtual. Si no se anula, el comportamiento predeterminado es mostrar un informe de estado con el código de estado Common::kStatus_UnsupportedMessage

OnCustomCommand

virtual void OnCustomCommand(
  Command *aCommand,
  const nl::Weave::WeaveMessageInfo *aMsgInfo,
  nl::Weave::PacketBuffer *aPayload,
  nl::Weave::TLV::TLVReader & aArgumentReader
)

Controlador para el comando personalizado.

Este es un método virtual. Si no se anula, el comportamiento predeterminado es mostrar un informe de estado con el código de estado Common::kStatus_UnsupportedMessage

OnEvent

virtual WEAVE_ERROR OnEvent(
  uint16_t aType,
  void *aInEventParam
)

ReadData

WEAVE_ERROR ReadData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  TLV::TLVWriter & aWriter
)

SetDirty

void SetDirty(
  PropertyPathHandle aPropertyHandle
)

SetRootDirty

void SetRootDirty(
  void
)

SetVersion

void SetVersion(
  uint64_t version
)

TraitDataSource

 TraitDataSource(
  const TraitSchemaEngine *aEngine
)

Desbloquear

WEAVE_ERROR Unlock(
  void
)

~TraitDataSource

virtual  ~TraitDataSource()

Funciones protegidas

GetData

virtual WEAVE_ERROR GetData(
  PropertyPathHandle aHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter,
  bool & aIsNull,
  bool & aIsPresent
) __OVERRIDE

Con un controlador de ruta de acceso a un nodo, un escritor TLV y valores booleanos que indican si el valor es nulo o no está presente, obtén los datos de la fuente de la característica que creará una notificación.

Si el controlador de la ruta de acceso no es un nodo hoja, TDM se encargará de escribir valores en el escritor (como abrir contenedores, anular la struct, etcétera). Si un nodo que no es de hoja es nulo o no está presente, TDM no llamará a GetData para sus elementos secundarios.

Esta función solo se llamará para los controladores anulables, opcionales, efímeros o de hoja. Se espera que cualquier característica con controladores que tengan esas opciones habilitadas implemente la lógica adecuada para propagar aIsNull y aIsPresent.

Detalles
Parámetros
[in] aHandle
El PropertyPathHandle en cuestión.
[in] aTagToWrite
Es la etiqueta que se escribe para el aHandle.
[in,out] aWriter
El escritor al que se le deben escribir elementos TLV.
[out] aIsNull
¿Se anuló aHandle? Si es así, TDM escribirá un elemento nulo. Si aHandle no es una hoja, el TDM omitirá los elementos secundarios.
[out] aIsPresent
¿Hay aHandle presente? Si no es así, y si aHandle no es una hoja, TDM omitirá la ruta de acceso y sus elementos secundarios.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
other
No pudo recuperar datos y escribirlos en el escritor.

GetLeafData

virtual WEAVE_ERROR GetLeafData(
  PropertyPathHandle aLeafHandle,
  uint64_t aTagToWrite,
  nl::Weave::TLV::TLVWriter & aWriter
) __OVERRIDE=0

Con un controlador de ruta de acceso a un nodo de hoja y un escritor TLV, obtén los datos del destinatario.

Detalles
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
other
No pudo recuperar datos y escribirlos en el escritor.

IncrementVersion

void IncrementVersion(
  void
)