Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Profile::DataManagement_Current::TraitDataSource

Dies ist eine abstrakte Klasse.

Fazit

Übernahme

Übernimmt von: nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
Direct Bekannte Unterklassen: nl::Weave::DeviceLayer::Internal::DeviceIdentityTraitDataSource

Konstrukteur und Zerstörer

TraitDataSource(const TraitSchemaEngine *aEngine)
~TraitDataSource()

Öffentliche Typen

EventType enum

Öffentliche Attribute

mRootIsDirty
bool

Geschützte Attribute

mManagedVersion
bool
mSchemaEngine

Öffentliche Funktionen

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
Handler für einen benutzerdefinierten Befehl.
OnCustomCommand(Command *aCommand, const nl::Weave::WeaveMessageInfo *aMsgInfo, nl::Weave::PacketBuffer *aPayload, nl::Weave::TLV::TLVReader & aArgumentReader)
virtual void
Handler für einen benutzerdefinierten Befehl.
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)

Geschützte Funktionen

GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
virtual WEAVE_ERROR
Wenn Sie einen Pfad-Handle für einen Knoten, einen TLV-Autor und boolesche Werte verwenden, die angeben, ob der Wert null ist oder nicht vorhanden ist, rufen Sie die Daten aus der Quellquelle ab, die eine Benachrichtigung erstellt.
GetLeafData(PropertyPathHandle aLeafHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter) __OVERRIDE=0
virtual WEAVE_ERROR
Wenn Sie einen Pfadgriff zu einem Blattknoten und einen TLV-Autor haben, rufen Sie die Daten vom Aufrufer ab.
IncrementVersion(void)
void

Öffentliche Typen

EventType

 EventType

Öffentliche Attribute

Logo: mRootIsDirty

bool mRootIsDirty

Geschützte Attribute

mManagedVersion

bool mManagedVersion

mSchemaEngine

const TraitSchemaEngine * mSchemaEngine

Öffentliche Funktionen

Logo: ClearRootDirty

void ClearRootDirty(
  void
)

SchemaSchema abrufen

const TraitSchemaEngine * GetSchemaEngine(
  void
) const 

Version abrufen

uint64_t GetVersion(
  void
)

IsrootDirty

bool IsRootDirty(
  void
) const 

Sperren

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
)

Handler für einen benutzerdefinierten Befehl.

Dies ist eine virtuelle Methode. Wenn der Wert nicht überschrieben wird, wird standardmäßig ein Statuscode mit dem Statuscode Common::kStatus_SupportedMessage zurückgegeben.

OnCustomCommand

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

Handler für einen benutzerdefinierten Befehl.

Dies ist eine virtuelle Methode. Wenn der Wert nicht überschrieben wird, wird standardmäßig ein Statuscode mit dem Statuscode Common::kStatus_SupportedMessage zurückgegeben.

Veranstaltung

virtual WEAVE_ERROR OnEvent(
  uint16_t aType,
  void *aInEventParam
)

Daten lesen

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

Setty

void SetDirty(
  PropertyPathHandle aPropertyHandle
)

SetRootSchmutzig

void SetRootDirty(
  void
)

Set-Version

void SetVersion(
  uint64_t version
)

Logo: TraitDataSource

 TraitDataSource(
  const TraitSchemaEngine *aEngine
)

Entsperren

WEAVE_ERROR Unlock(
  void
)

~TraitDataSource (~TraitDataSource)

virtual  ~TraitDataSource()

Geschützte Funktionen

Daten abrufen

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

Wenn Sie einen Pfad-Handle für einen Knoten, einen TLV-Autor und boolesche Werte verwenden, die angeben, ob der Wert null ist oder nicht vorhanden ist, rufen Sie die Daten aus der Quellquelle ab, die eine Benachrichtigung erstellt.

Wenn der Pfadgriff kein Blattknoten ist, verarbeitet TDM die Werte für den Autor (z. B. Container öffnen, Struktur neutralisieren usw.). Wenn ein Nicht-Blatt-Knoten null oder nicht vorhanden ist, ruft TDM GetData nicht für seine untergeordneten Elemente auf.

Diese Funktion wird nur für Ziehpunkte aufgerufen, die null, optional, sitzungsspezifisch oder Blätter sind. Es wird erwartet, dass alle Merkmale mit Ziehpunkten, für die diese Optionen aktiviert sind, eine geeignete Logik zum Füllen von aIsNull und aIspresent implementieren.

Details
Parameter
[in] aHandle
Der betreffende PropertyPathHandle.
[in] aTagToWrite
Das Tag, das für den aHandle geschrieben werden soll.
[in,out] aWriter
Der Autor, in den TLV-Elemente geschrieben werden sollen.
[out] aIsNull
Ist ein Alias NULL? Wenn ja, wird in TDM ein Nullelement geschrieben. Wenn ein Alias kein Blatt ist, überspringt der TDM seine untergeordneten Elemente.
[out] aIsPresent
Ist ein Alias vorhanden? Wenn „Nein“ und wenn ein Alias kein Blatt ist, überspringt der TDM den Pfad und seine untergeordneten Elemente.
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
other
Daten konnten nicht abgerufen und in den Autor geschrieben werden.

GetLeafData

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

Wenn Sie einen Pfadgriff zu einem Blattknoten und einen TLV-Autor haben, rufen Sie die Daten vom Aufrufer ab.

Details
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
other
Daten konnten nicht abgerufen und in den Autor geschrieben werden.

Inkrementelle Version

void IncrementVersion(
  void
)