nl:: Weave:: System:: Platform:: Layer
Résumé
Fonctions |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Il s'agit d'un hook de post-initialisation de système Weave System Layer spécifique à la plate-forme.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Il s'agit d'un crochet de pré-arrêt Layer spécifique à la plate-forme.
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
Il s'agit d'un hook de distribution d'événement / de message spécifique à une plate-forme.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Il s'agit d'un hook de distribution d'événement / de message spécifique à une plate-forme.
|
GetClock_Monotonic(void)
|
uint64_t
Fonction spécifique à la plate-forme permettant d'obtenir le temps système monotone en microsecondes.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
Fonction spécifique à une plate-forme permettant d'obtenir un temps système monotone haute résolution en microsecondes.
|
GetClock_MonotonicMS(void)
|
uint64_t
Fonction spécifique à la plate-forme permettant d'obtenir un temps système monotone en millisecondes.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
Fonction spécifique à la plate-forme permettant d'obtenir le temps réel (civil) actuel au format de temps Unix en microsecondes.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
Fonction spécifique à la plate-forme permettant d'obtenir le temps réel (civil) actuel au format d'heure Unix en millisecondes.
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
Il s'agit d'un événement / message après hook spécifique à une plate-forme.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
Fonction spécifique à la plate-forme permettant de définir le temps réel (civil) actuel.
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
Il s'agit d'un hook de distribution d'événement / de message spécifique à une plate-forme.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Il s'agit d'un crochet de pré-initialisation de Layer Weave System spécifique à la plate-forme.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Il s'agit d'un crochet de pré-arrêt Layer spécifique à la plate-forme.
|
Fonctions
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
Il s'agit d'un hook de post-initialisation de système Weave System Layer spécifique à la plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
Il s'agit d'un crochet de pré-arrêt Layer spécifique à la plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Renvoie |
WEAVE_SYSTEM_NO_ERROR en cas de réussite Sinon, une erreur spécifique indiquant la raison de l'échec de l'arrêt. Le renvoi de l'état ayant échoué entraînera l'annulation de l'arrêt.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
Il s'agit d'un hook de distribution d'événement / de message spécifique à une plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
L'événement spécifié est alors envoyé pour être traité, en retirant le type et les arguments de l'événement pour les transférer à la méthode Layer::HandleEvent du système Weave pour la distribution réelle.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs renvoyées |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
Il s'agit d'un hook de distribution d'événement / de message spécifique à une plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Cela crée une boucle d'événements : il attend une file d'attente qui dessert cette instance, extrait les événements de cette file d'attente, puis les envoie pour qu'ils soient traités.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs renvoyées |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Fonction spécifique à la plate-forme permettant d'obtenir le temps système monotone en microsecondes.
Cette fonction est censée renvoyer le temps écoulé en microsecondes depuis une époque arbitraire définie par la plate-forme. Les implémentations de plate-forme sont tenues de renvoyer une valeur qui ne cesse d'augmenter (c'est-à-dire qui ne s'encapsule jamais) entre les redémarrages du système. De plus, la source temporelle sous-jacente est requise pour fonctionner en continu pendant tout mode de veille du système qui n'implique pas de redémarrage au démarrage.
L'époque pour l'heure renvoyée par cette fonction n'a pas besoin d'être identique à celle de toutes les autres fonctions GetClock..., y compris GetClock_MonotonicMS().
Cette fonction est censée être thread-safe sur toute plate-forme qui utilise des threads.
Détails | |
---|---|
Renvoie |
Temps écoulé en microsecondes depuis une époque arbitraire définie par la plate-forme.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
Fonction spécifique à une plate-forme permettant d'obtenir un temps système monotone haute résolution en microsecondes.
Cette fonction est censée renvoyer le temps écoulé en microsecondes depuis une époque arbitraire définie par la plate-forme. Les valeurs renvoyées par GetClock_MonotonicHiRes() doivent être croissantes (c'est-à-dire ne jamais encapsulées). Cependant, le minuteur sous-jacent n'est pas nécessaire pour tourner en continu pendant les états de sommeil profond du système.
La plate-forme est invitée à implémenter GetClock_MonotonicHiRes() à l'aide d'un minuteur haute résolution qui n'est pas soumis à des ajustements progressifs de l'horloge (balayage). Sur les plates-formes qui ne disposent pas d'un tel minuteur, GetClock_MonotonicHiRes() peut renvoyer la même valeur que GetClock_Monotonic().
L'époque pour l'heure renvoyée par cette fonction ne doit pas nécessairement être identique à celle des autres fonctions GetClock....
Cette fonction est censée être thread-safe sur toute plate-forme qui utilise des threads.
Détails | |
---|---|
Renvoie |
Temps écoulé en microsecondes depuis une époque arbitraire définie par la plate-forme.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
Fonction spécifique à la plate-forme permettant d'obtenir un temps système monotone en millisecondes.
Cette fonction doit renvoyer le temps écoulé en millisecondes depuis une époque arbitraire définie par la plate-forme. Les implémentations de plate-forme sont tenues de renvoyer une valeur qui ne cesse d'augmenter (c'est-à-dire qui ne s'encapsule jamais) entre les redémarrages du système. De plus, la source temporelle sous-jacente est requise pour fonctionner en continu pendant tout mode de veille du système qui n'implique pas de redémarrage au démarrage.
L'époque pour l'heure renvoyée par cette fonction n'a pas besoin d'être identique à celle des autres fonctions GetClock..., y compris GetClock_Monotonic().
Cette fonction est censée être thread-safe sur toute plate-forme qui utilise des threads.
Détails | |
---|---|
Renvoie |
Temps écoulé, en millisecondes, depuis une époque arbitraire définie par la plate-forme.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
Fonction spécifique à la plate-forme permettant d'obtenir le temps réel (civil) actuel au format de temps Unix en microsecondes.
Cette fonction doit renvoyer la notion de temps réel actuelle de la plate-forme locale, exprimée sous la forme d'une valeur de temps Unix mise à l'échelle en microsecondes. L'horloge sous-jacente doit être exécutée à une fréquence d'au moins au moins une seconde entière (valeurs de 1 000 000), mais elle peut être plus rapide.
Sur les plateformes qui sont capables de suivre le temps réel, GetClock_RealTime() doit renvoyer l'erreur WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED chaque fois que le système est désynchronisé avec le temps réel.
Les plates-formes incapables de suivre le temps réel ne doivent pas implémenter la fonction GetClock_RealTime(), entraînant ainsi des défaillances au moment de la liaison des fonctionnalités qui dépendent de l'accès au temps réel. Ces plates-formes peuvent également fournir une implémentation de GetClock_RealTime() qui renvoie l'erreur WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.
Cette fonction est censée être thread-safe sur toute plate-forme qui utilise des threads.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs renvoyées |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
Fonction spécifique à la plate-forme permettant d'obtenir le temps réel (civil) actuel au format d'heure Unix en millisecondes.
Cette fonction doit renvoyer la notion de temps réel actuelle de la plate-forme locale, exprimée sous la forme d'une valeur de temps Unix mise à l'échelle en millisecondes.
Pour en savoir plus sur le comportement attendu, consultez la documentation sur GetClock_RealTime().
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs renvoyées |
|
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
Il s'agit d'un événement / message après hook spécifique à une plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Cette commande publie un événement / message du type spécifié avec l'argument fourni dans la file d'attente de messages / d'événements spécifique à la plate-forme de cette instance.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Renvoie |
WEAVE_SYSTEM_NO_ERROR en cas de réussite Sinon, une erreur spécifique indiquant la raison de l'échec de l'initialisation.
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
Fonction spécifique à la plate-forme permettant de définir le temps réel (civil) actuel.
Weave appelle cette fonction pour définir la notion de temps réel de la plate-forme locale. La nouvelle heure actuelle est exprimée sous la forme d'une valeur de temps Unix mise à l'échelle en microsecondes.
Une fois définie, l'horloge sous-jacente de la plate-forme doit suivre en temps réel avec une précision d'au moins secondes entières.
Sur les plates-formes qui prennent en charge le suivi en temps réel, la fonction SetClock_RealTime() doit renvoyer l'erreur WEAVE_SYSTEM_ERROR_ACCESS_DENIED si l'application appelante ne dispose pas du droit de définir l'heure actuelle.
Les plates-formes incapables de suivre en temps réel ou qui n'offrent pas la possibilité de définir une valeur en temps réel ne doivent pas implémenter la fonction SetClock_RealTime(), entraînant ainsi des défaillances au moment de la liaison pour les fonctionnalités qui dépendent de la configuration du temps réel. Ces plates-formes peuvent également fournir une implémentation de SetClock_RealTime() qui renvoie l'erreur WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.
Cette fonction est censée être thread-safe sur toute plate-forme qui utilise des threads.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs renvoyées |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
Il s'agit d'un hook de distribution d'événement / de message spécifique à une plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs renvoyées |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
Il s'agit d'un crochet de pré-initialisation de Layer Weave System spécifique à la plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
WEAVE_SYSTEM_NO_ERROR en cas de réussite Sinon, une erreur spécifique indiquant la raison de l'échec de l'initialisation. Si l'état renvoyé a échoué, l'initialisation est annulée.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
Il s'agit d'un crochet de pré-arrêt Layer spécifique à la plate-forme.
Ce paramètre peut être ignoré en attribuant la définition du préprocesseur WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
WEAVE_SYSTEM_NO_ERROR en cas de réussite Sinon, une erreur spécifique indiquant la raison de l'échec de l'arrêt. Le renvoi de l'état ayant échoué entraînera l'annulation de l'arrêt.
|