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=""> . </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'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{
|
énum < 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
< 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.