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=""> . &lt;/t,&gt;

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{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
&lt; 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

&lt; 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.

Funzioni protette

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)