nl::Weave::Sistema::Oggetto

#include <src/system/SystemObject.h>

Rappresenta un oggetto conteggiato di riferimento allocato dallo spazio contenuto in un oggetto ObjectPool<t, n={quot;"> </t,&GT;

Riepilogo

Nota: l'istanza di questa classe può essere creata solo utilizzando il modello di classe ObjectPool correlato. Il costruttore di copie e l'operatore di assegnazione vengono eliminati. Viene utilizzato un sistema di conteggio dei riferimenti per monitorare le conservazioni di istanze di questa classe. Quando un oggetto viene conservato inizialmente, il suo numero di riferimento è uno. Ulteriori conservazioni potrebbero incrementare il conteggio dei riferimenti. Quando l'oggetto viene rilasciato, il conteggio dei riferimenti viene ridotto. Quando il numero di riferimento è zero, l'oggetto viene riciclato nel pool per la riassegnazione. Nessun distruttore disponibile. Le sottoclassi devono essere progettate per garantire che tutte le risorse incapsulate vengano rilasciate al momento del rilascio della conservazione finale e dell'oggetto riciclato. Anche se questa classe è definita in cemento, in conformità con lo stile Nest C++, deve essere considerata astratta.

Eredità

Subclassi note direttamente:
nl::Inet::Inet LayerBasis
nl::Weave::System::Timer

Tipi protetti

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< Cosa fare quando DeferredRelease non riesce a pubblicare un kEvent_ReleaseObj.

Attributi pubblici

AppState
void *
Puntatore generico ai dati specifici dell'app associati all'oggetto.

Funzioni pubbliche

IsRetained(const Layer & aLayer) const
bool
Verifica se l'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 quando DeferredRelease non riesce a pubblicare un kEvent_ReleaseObj.

Attributi pubblici

StatoApp

void * AppState

Puntatore generico ai dati specifici dell'app associati all'oggetto.

Funzioni pubbliche

Conservato

bool IsRetained(
  const Layer & aLayer
) const 

Verifica se l'oggetto viene conservato da aLayer.

Tests whether this object is retained by \c aLayer.

Massima sicurezza.

Rilascio

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Riutilizza l'oggetto nel pool se il conteggio dei riferimenti viene ridotto a zero. Non viene richiamato alcun distruttore.

Retain

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

Si presume che l'oggetto sia attivo.

Livello di sistema

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

Release differita

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)