nl::Weave::System::Object

#include <src/system/SystemObject.h>

Celui-ci représente un objet comptabilisé en référence alloué à partir de l'espace contenu dans un objet ObjectPool<t, n="">. </t,>

Résumé

Remarque:L'instance de cette classe ne peut être créée qu'à l'aide du modèle de classe ObjectPool associé. Le constructeur de copie et l'opérateur d'affectation sont supprimés. Un système de comptabilisation de référence permet de suivre la conservation des instances de cette classe. Lorsqu'un objet est initialement conservé, son nombre de références est égal à un. Les conservations supplémentaires peuvent augmenter le nombre de références. Lorsque l'objet est libéré, le nombre de références est décrémenté. Lorsque le nombre de références est égal à zéro, l'objet est recyclé dans le pool en vue de sa réaffectation. Aucun destructeur n'est disponible. Les sous-classes doivent être conçues pour garantir que toutes les ressources encapsulées sont libérées lorsque la conservation finale est levée et que l'objet est recyclé. Bien que cette classe soit définie comme concrète, conformément au style C++ de Nest, elle doit être considérée comme abstraite.

Héritage

Sous-classes directes connues:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

Types protégés

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< Que faire lorsque DeferredRelease ne parvient pas à publier de kEvent_ReleaseObj ?

Attributs publics

AppState
void *
Pointeur générique vers les données spécifiques à l'application associées à l'objet.

Fonctions publiques

IsRetained(const Layer & aLayer) const
bool
Vérifiez si cet objet est conservé par aLayer.
Release(void)
void
Decrements the reference count for the Weave System Layer object.
Retain(void)
void
Increments the reference count for the Weave System Layer object.
SystemLayer(void) const
Layer &
Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding
object pool instance.

Fonctions protégées

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

Types protégés

ReleaseDeferralErrorTactic

 ReleaseDeferralErrorTactic

< Que faire lorsque DeferredRelease ne parvient pas à publier de kEvent_ReleaseObj ?

Attributs publics

AppState

void * AppState

Pointeur générique vers les données spécifiques à l'application associées à l'objet.

Fonctions publiques

IsRetained

bool IsRetained(
  const Layer & aLayer
) const 

Vérifiez si cet objet est conservé par aLayer.

Tests whether this object is retained by \c aLayer.

Simultanéité sûre.

Version

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Recycle l'objet dans le pool si le nombre de références est décrémenté à zéro. Aucun destructeur n'est appelé.

Conservation

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

L'objet est supposé être en ligne.

SystemLayer

Layer & SystemLayer(
  void
) const 

Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding
object pool instance.

L'objet est supposé être en ligne.

Fonctions protégées

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)