nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
Rappresenta un oggetto conteggiato da un riferimento allocato dallo spazio contenuto in un pool di oggetti<t, n=""> . </t,>
Riepilogo
Nota: l'istanza di questa classe può essere creata solo utilizzando il modello della classe ObjectPool correlato. Il costruttore di copia e l'operatore di assegnazione vengono eliminati. Un sistema di conteggio dei riferimenti viene utilizzato per tenere traccia delle conservazioni delle istanze di questa classe. Quando un oggetto viene inizialmente conservato, il suo conteggio di riferimento è uno. Ulteriori conservazioni potrebbero incrementare il conteggio dei riferimenti. Quando l'oggetto viene rilasciato, il conteggio dei riferimenti viene diminuito. Quando il conteggio dei riferimenti è zero, l'oggetto viene riciclato di nuovo nel pool per la riallocazione. Nessun distruttore disponibile. Le sottoclassi devono essere progettate per garantire che tutte le risorse incapsulate vengano rilasciate quando viene rilasciata la conservazione finale e l'oggetto viene riciclato. Sebbene questa classe sia definita come concreta, in conformità allo stile C++ di Nest, deve essere considerata astratta.
Eredità
Sottoclassi note direttamente:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Tipi protetti |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum < Cosa fare se DeferredRelease non riesce a pubblicare un kEvent_ReleaseObj. |
Attributi pubblici |
|
---|---|
AppState
|
void *
Puntatore generico a dati specifici dell'app associati all'oggetto.
|
Funzioni pubbliche |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
Verifica se questo oggetto viene conservato da
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. |
Funzioni protette |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
Tipi protetti
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< Cosa fare se DeferredRelease non riesce a pubblicare un kEvent_ReleaseObj.
Attributi pubblici
AppState
void * AppState
Puntatore generico a dati specifici dell'app associati all'oggetto.
Funzioni pubbliche
IsRetained
bool IsRetained( const Layer & aLayer ) const
Verifica se questo oggetto viene conservato da aLayer
.
Tests whether this object is retained by \c aLayer.
Situazione sicura.
Rilascia
void Release( void )
Decrements the reference count for the Weave System Layer object.
Ricicla l'oggetto nel pool se il conteggio dei riferimenti viene ridotto a zero. Non viene richiamato alcun distruttore.
Conservazione
void Retain( void )
Increments the reference count for the Weave System Layer object.
Si presume che l'oggetto sia attivo.
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.
Si presume che l'oggetto sia attivo.