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

nl::Weave::System::Plattform::Ebene

Fazit

Funktionen

DidInit(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
Dies ist ein plattformspezifischer Layer-Weave-System-Webhook nach der Initialisierung.
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
NL_DLL_EXPORT void
Das ist ein plattformspezifischer Layer-Weave-System-Vorabsperren.
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
NL_DLL_EXPORT Error
Dies ist ein plattformspezifischer Hook für die Ereignis-/Nachrichtenweiterleitung.
DispatchEvents(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
Dies ist ein plattformspezifischer Hook für die Ereignis-/Nachrichtenweiterleitung.
GetClock_Monotonic(void)
uint64_t
Plattformspezifische Funktion zum Abrufen der monotonen Systemzeit in Mikrosekunden
GetClock_MonotonicHiRes(void)
uint64_t
Plattformspezifische Funktion zum Abrufen von monotonem monotonem System in Mikrosekunden mit hoher Auflösung.
GetClock_MonotonicMS(void)
uint64_t
Plattformspezifische Funktion zum Abrufen der monotonen Systemzeit in Millisekunden.
GetClock_RealTime(uint64_t & curTime)
Error
Plattformspezifische Funktion zum Abrufen der aktuellen Echtzeitzeit (Zivilzeit) im Mikrosekunden-Format von Unix.
GetClock_RealTimeMS(uint64_t & curTimeMS)
Error
Plattformspezifische Funktion zum Abrufen der aktuellen echten (Zivilzeit)-Zeit im Unix-Zeitformat.
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
NL_DLL_EXPORT Error
Dies ist ein plattformspezifischer Ereignis-/Nachrichtenpost-Webhook.
SetClock_RealTime(uint64_t newCurTime)
Error
Plattformspezifische Funktion zum Festlegen der aktuellen echten Zivilzeit
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
NL_DLL_EXPORT Error
Dies ist ein plattformspezifischer Hook für die Ereignis-/Nachrichtenweiterleitung.
WillInit(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
Dies ist ein plattformspezifischer Initialisierungsschicht-Webhook von Weave System.
WillShutdown(Layer & aLayer, void *aContext)
NL_DLL_EXPORT Error
Das ist ein plattformspezifischer Layer-Weave-System-Vorabsperren.

Funktionen

Ursprüngliche

NL_DLL_EXPORT void DidInit(
  Layer & aLayer,
  void *aContext,
  Error aStatus
)

Dies ist ein plattformspezifischer Layer-Weave-System-Webhook nach der Initialisierung.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS geltend machen.

Details
Parameter
[in,out] aLayer
Ein Verweis auf die Weave System Layer-Instanz, die initialisiert wird.
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Ebeneninitialisierungsmethode "::Init" übergeben werden
[in] anError
Der Gesamtstatus, der über die Ebene "::Init"-Weave-Systemmethode zurückgegeben wird.

Hat heruntergefahren

NL_DLL_EXPORT void DidShutdown(
  Layer & aLayer,
  void *aContext,
  Error aStatus
)

Das ist ein plattformspezifischer Layer-Weave-System-Vorabsperren.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS geltend machen.

Details
Parameter
[in,out] aLayer
Ein Verweis auf die Weave System Layer-Instanz, die heruntergefahren wird.
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Initialisierungsmethode für Ebenen übergeben werden: ::Herunterfahren
[in] anError
Der Gesamtstatus, der über die Ebene ::Herunterfahren-Methode des Weave-Systems zurückgegeben wird.
Rückgabe
WEAVE_SYSTEM_NO_ERROR bei Erfolg. Andernfalls wird ein bestimmter Fehler angegeben, der den Grund für das Herunterfahren angibt. Wenn Sie den Status nicht senden, wird das Herunterfahren abgebrochen.

Ereignis

NL_DLL_EXPORT Error DispatchEvent(
  Layer & aLayer,
  void *aContext,
  Event aEvent
)

Dies ist ein plattformspezifischer Hook für die Ereignis-/Nachrichtenweiterleitung.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS geltend machen.

Dadurch wird das angegebene Ereignis zur Verarbeitung gesendet und der Typ und die Argumente für das Ereignis werden nicht übergeben, damit sie an das Weave-System Layer::HandleEvent gesendet werden.

Details
Parameter
[in,out] aLayer
Ein Verweis auf die Ebeneninstanz, für die Ereignisse oder Nachrichten ausgelöst werden.
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Ebeneninitialisierungsmethode "::Init" übergeben werden
[in] anEvent
Das plattformspezifische Ereignisobjekt zur Verarbeitung.
Rückgabewerte
#WEAVE_SYSTEM_ERROR_BAD_ARGS
Wenn #aLayer oder das Ereignisziel NULL ist.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
Der Ereignistyp wird nicht erkannt.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Wenn der Status des Layer-Objekts des Weave-Systems unerwartet ist.
WEAVE_SYSTEM_NO_ERROR
Erfolg.

Ereignisse

NL_DLL_EXPORT Error DispatchEvents(
  Layer & aLayer,
  void *aContext
)

Dies ist ein plattformspezifischer Hook für die Ereignis-/Nachrichtenweiterleitung.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS geltend machen.

Dies wirkt sich auf eine Ereignisschleife aus, wartet auf eine Warteschlange, die diese Instanz betreut, ruft Ereignisse aus dieser Warteschlange ab und sendet sie dann zur Verarbeitung.

Details
Parameter
[in,out] aLayer
Ein Verweis auf die Ebeneninstanz, für die Ereignisse oder Nachrichten ausgelöst werden.
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Ebeneninitialisierungsmethode "::Init" übergeben werden
Rückgabewerte
#WEAVE_SYSTEM_ERROR_BAD_ARGS
Wenn #aLayer oder #aContext NULL ist.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Wenn der Status des Layer-Objekts des Weave-Systems unerwartet ist.
#WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
Wenn ein Ereignistyp nicht erkannt wird.
WEAVE_SYSTEM_NO_ERROR
Erfolg.

GetClock_Monotonic

uint64_t GetClock_Monotonic(
  void
)

Plattformspezifische Funktion zum Abrufen der monotonen Systemzeit in Mikrosekunden

Es wird erwartet, dass diese Funktion die verstrichene Zeit in Mikrosekunden seit einer beliebigen, plattformdefinierten Epoche zurückgibt. Plattformimplementierungen müssen einen Wert zurückgeben, der sich nach einem Neustart des Systems immer erhöht (das heißt, niemals umgebrochen wird). Außerdem muss die zugrunde liegende Zeitquelle während aller System-Ruhemodi, die keinen Neustart nach dem Aufwachen erfordern, aktiviert werden.

Die Epoche, für die von dieser Funktion zurückgegeben wird, muss nicht dieselbe sein wie für alle anderen GetClock...-Funktionen, einschließlich GetClock_MonotonicMS().

Diese Funktion ist auf allen Plattformen, in denen Threading verwendet wird, threadsicher.

Details
Rückgabe
Verstrichene Zeit in Mikrosekunden seit einer beliebigen plattformdefinierten Epoche.

GetClock_MonotonicHiResTM

uint64_t GetClock_MonotonicHiRes(
  void
)

Plattformspezifische Funktion zum Abrufen von monotonem monotonem System in Mikrosekunden mit hoher Auflösung.

Es wird erwartet, dass diese Funktion die verstrichene Zeit in Mikrosekunden seit einer beliebigen, plattformdefinierten Epoche zurückgibt. Die Werte von GetClock_MonotonicHiRes() müssen immer größer werden (d.h. niemals umgebrochen werden). Der zugrunde liegende Timer ist jedoch nicht erforderlich, um während des Tiefschlafzustands fortlaufend zu reagieren.

Die Plattform wird empfohlen, GetClock_MonotonicHiRes() mit einem Timer mit hoher Auflösung zu implementieren, der nicht nach und nach eingestellt wird. Auf Plattformen ohne Timer kann GetClock_MonotonicHiRes() denselben Wert wie GetClock_Monotonic() zurückgeben.

Die Epoche ist die gleiche, die für diese Funktion zurückgegeben wird.

Diese Funktion ist auf allen Plattformen, in denen Threading verwendet wird, threadsicher.

Details
Rückgabe
Verstrichene Zeit in Mikrosekunden seit einer beliebigen plattformdefinierten Epoche.

GetClock_MonotonicMS

uint64_t GetClock_MonotonicMS(
  void
)

Plattformspezifische Funktion zum Abrufen der monotonen Systemzeit in Millisekunden.

Für diese Funktion wird die verstrichene Zeit in Millisekunden seit einer beliebigen, plattformdefinierten Epoche zurückgegeben. Plattformimplementierungen müssen einen Wert zurückgeben, der sich nach einem Neustart des Systems immer erhöht (das heißt, niemals umgebrochen wird). Außerdem muss die zugrunde liegende Zeitquelle während aller System-Ruhemodi, die keinen Neustart nach dem Aufwachen erfordern, aktiviert werden.

Die Epoche, für die von dieser Funktion zurückgegeben wird, muss nicht dieselbe sein wie für alle anderen GetClock...-Funktionen, einschließlich GetClock_Monotonic().

Diese Funktion ist auf allen Plattformen, in denen Threading verwendet wird, threadsicher.

Details
Rückgabe
Verstrichene Zeit in Millisekunden seit einer beliebigen plattformdefinierten Epoche.

GetClock_RealTime-Programm

Error GetClock_RealTime(
  uint64_t & curTime
)

Plattformspezifische Funktion zum Abrufen der aktuellen Echtzeitzeit (Zivilzeit) im Mikrosekunden-Format von Unix.

Es wird erwartet, dass diese Funktion den Wert der aktuellen Echtzeit in der lokalen Plattform zurückgibt, ausgedrückt als Unix-Zeitwert, aufgeschlüsselt nach Mikrosekunden. Die zugrunde liegende Uhr ist mit einer Frequenz von mindestens ganzen Sekunden (Werte von 1.000.000) erforderlich, kann aber auch schneller reagieren.

Auf diesen Plattformen, die in Echtzeit erfasst werden können, muss GetClock_RealTime() den Fehler WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED zurückgeben, wenn das System nicht in Echtzeit synchronisiert wird.

Plattformen, die keine Nachverfolgung in Echtzeit ermöglichen, sollten die Funktion „GetClock_RealTime()“ nicht implementieren. Dadurch werden Fehler bei der Linkzeit erzwungen, wenn der Zugriff auf Echtzeitinformationen notwendig ist. Alternativ können solche Plattformen eine Implementierung von GetClock_RealTime() bereitstellen, die den Fehler WEAVE_SYSTEM_ERROR_NOT_SUPPORTED zurückgibt.

Diese Funktion ist auf allen Plattformen, in denen Threading verwendet wird, threadsicher.

Details
Parameter
[out] curTime
Die aktuelle Uhrzeit als Unix-Zeit skaliert in Mikrosekunden.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Wenn die Methode erfolgreich war.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Wenn die Plattform in Echtzeit erfasst werden kann, aber derzeit nicht synchronisiert ist.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Wenn die Plattform nicht in Echtzeit erfasst werden kann.

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

Plattformspezifische Funktion zum Abrufen der aktuellen echten (Zivilzeit)-Zeit im Unix-Zeitformat.

Es wird erwartet, dass diese Funktion den Vorschlag der aktuellen Plattform in Echtzeit als Unix-Zeitwert in Millisekunden angibt.

Weitere Informationen zum erwarteten Verhalten finden Sie in der Dokumentation zu GetClock_RealTime().

Details
Parameter
[out] curTime
Die aktuelle Uhrzeit in Unix-Zeit in Millisekunden.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Wenn die Methode erfolgreich war.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Wenn die Plattform in Echtzeit erfasst werden kann, aber derzeit nicht synchronisiert ist.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Wenn die Plattform nicht in Echtzeit erfasst werden kann.

Postevent

NL_DLL_EXPORT Error PostEvent(
  Layer & aLayer,
  void *aContext,
  Object & aTarget,
  EventType aType,
  uintptr_t aArgument
)

Dies ist ein plattformspezifischer Ereignis-/Nachrichtenpost-Webhook.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS geltend machen.

Dadurch wird ein Ereignis bzw. eine Nachricht des angegebenen Typs mit dem bereitgestellten Argument an die plattformspezifische Ereignis- bzw. Nachrichtenwarteschlange gepostet.

Details
Parameter
[in,out] aLayer
Ein Verweis auf die Ebeneninstanz, an die das Ereignis oder die Nachricht gesendet wird
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Ebeneninitialisierungsmethode "::Init" übergeben werden
[in,out] aTarget
Ein Zeiger auf das Weave System Layer-Objekt, das die Post-Anfrage sendet.
[in] aType
Der Typ der Veranstaltung, die gepostet werden soll
[in,out] anArg
Das Argument, das mit dem zu postenden Ereignis verknüpft ist
Rückgabe
WEAVE_SYSTEM_NO_ERROR bei Erfolg. Andernfalls gibt es einen bestimmten Fehler, der den Grund für die Initialisierung angibt.

Satzuhrzeit

Error SetClock_RealTime(
  uint64_t newCurTime
)

Plattformspezifische Funktion zum Festlegen der aktuellen echten Zivilzeit

Mit Weave wird diese Funktion aufgerufen, um den Stand der lokalen Plattform für die aktuelle Echtzeit festzulegen. Die neue aktuelle Uhrzeit wird als Unix-Zeitwert ausgedrückt, der auf Mikrosekunden skaliert ist.

Nach der Festlegung wird die zugrunde liegende Plattformuhr in Echtzeit mit einer Genauigkeit von mindestens ganzen Sekunden verfolgt.

Auf Plattformen, die das Tracking in Echtzeit unterstützen, muss die SetClock_RealTime()-Funktion den Fehler WEAVE_SYSTEM_ERROR_ACCESS_DENIED zurückgeben, wenn die aufrufende Anwendung nicht die Berechtigung hat, die aktuelle Zeit festzulegen.

Plattformen, mit denen keine Echtzeitverfolgung möglich ist oder die keine Möglichkeit zur Festlegung von Echtzeitdaten bieten, sollten die SetClock_RealTime()-Funktion nicht implementieren. Dadurch werden Fehler bei der Linkzeit erzwungen, wenn dies auf die Festlegung von Echtzeiteinstellungen zurückzuführen ist. Alternativ können solche Plattformen eine Implementierung von SetClock_RealTime() bereitstellen, die den Fehler WEAVE_SYSTEM_ERROR_NOT_SUPPORTED zurückgibt.

Diese Funktion ist auf allen Plattformen, in denen Threading verwendet wird, threadsicher.

Details
Parameter
[in] newCurTime
Die neue aktuelle Uhrzeit als Unix-Zeit skaliert in Mikrosekunden.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Wenn die Methode erfolgreich war.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Wenn die Plattform nicht in Echtzeit erfasst werden kann.
#WEAVE_SYSTEM_ERROR_ACCESS_DENIED
Wenn die anrufende Anwendung nicht berechtigt ist, die aktuelle Zeit festzulegen.

StartTimer

NL_DLL_EXPORT Error StartTimer(
  Layer & aLayer,
  void *aContext,
  uint32_t aMilliseconds
)

Dies ist ein plattformspezifischer Hook für die Ereignis-/Nachrichtenweiterleitung.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS geltend machen.

Details
Parameter
[in,out] aLayer
Ein Verweis auf die Ebeneninstanz, für die Ereignisse oder Nachrichten ausgelöst werden.
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Ebeneninitialisierungsmethode "::Init" übergeben werden
[in] aMilliseconds
Die Anzahl der Millisekunden, die für den Timer festgelegt werden soll.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Ist immer erfolgreich, sofern es nicht überschrieben wird.

Willit

NL_DLL_EXPORT Error WillInit(
  Layer & aLayer,
  void *aContext
)

Dies ist ein plattformspezifischer Initialisierungsschicht-Webhook von Weave System.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS geltend machen.

Details
Parameter
[in,out] aLayer
Ein Verweis auf die Weave System Layer-Instanz, die initialisiert wird.
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Ebeneninitialisierungsmethode "::Init" übergeben werden
Rückgabe
WEAVE_SYSTEM_NO_ERROR bei Erfolg. Andernfalls gibt es einen bestimmten Fehler, der den Grund für die Initialisierung angibt. Wenn Sie den Status nicht senden, wird die Initialisierung abgebrochen.

Wird heruntergefahren

NL_DLL_EXPORT Error WillShutdown(
  Layer & aLayer,
  void *aContext
)

Das ist ein plattformspezifischer Layer-Weave-System-Vorabsperren.

Dies kann überschrieben werden, indem Sie die Präprozessordefinition WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS geltend machen.

Details
Parameter
[in,out] aLayer
Ein Zeiger auf die Weave System Layer-Instanz, die heruntergefahren wird.
[in,out] aContext
Plattformspezifische Kontextdaten, die an die Initialisierungsmethode für Ebenen übergeben werden: ::Herunterfahren
Rückgabe
WEAVE_SYSTEM_NO_ERROR bei Erfolg. Andernfalls wird ein bestimmter Fehler angegeben, der den Grund für das Herunterfahren angibt. Wenn Sie den Status nicht senden, wird das Herunterfahren abgebrochen.