nl::Weave::System::Object

#include <src/system/SystemObject.h>

Représente un objet compté par les références alloué depuis l'espace contenu dans un objet ObjectPool<t, n=""> . &lt;/t,&gt;

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'attribution sont supprimés. Un système de comptage des références est utilisé pour suivre la rétention des instances de cette classe. Lorsqu'un objet est initialement conservé, son nombre de références est égal à 1. Des durées de conservation 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 nul, l'objet est recyclé dans le pool pour être réaffecté. Aucun destructeur 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 libéré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
}
énum
&lt; Que faire lorsque DeferredRelease ne parvient pas à publier un 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

&lt; Que faire lorsque DeferredRelease ne parvient pas à publier un 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.

Sécurisation de la simultanéité

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 réduit à 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 actif.

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 actif.

Fonctions protégées

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)