nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
Esto representa un objeto contado por referencia asignado desde el espacio contenido en un ObjectPool<t, n="">. . </t,>
Resumen
Nota: La instancia de esta clase solo se puede construir con la plantilla de clase ObjectPool relacionada. Se borran el constructor de copia y el operador de asignación. Se usa un sistema de recuento de referencias para realizar un seguimiento de las retenciones de instancias de esta clase. Cuando se retiene un objeto inicialmente, su recuento de referencias es uno. Es posible que las retenciones adicionales aumenten el recuento de referencias. Cuando se libera el objeto, se reduce el recuento de referencias. Cuando el recuento de referencias es cero, el objeto se recicla de vuelta al grupo para la reasignación. No hay destructores disponibles. Las subclases deben diseñarse para garantizar que todos los recursos encapsulados se liberen cuando se libere la retención final y se recicle el objeto. Si bien esta clase se define como concreta, de acuerdo con el estilo de Nest C++, debe considerarse como abstracta.
Herencia
Subclases conocidas directas:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Tipos protegidos |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum < Qué hacer cuando DeferredRelease no puede publicar un kEvent_ReleaseObj |
Atributos públicos |
|
---|---|
AppState
|
void *
Puntero genérico a datos específicos de la app asociados con el objeto.
|
Funciones públicas |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
Prueba si
aLayer retiene este objeto. |
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. |
Funciones protegidas |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
Tipos protegidos
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< Qué hacer cuando DeferredRelease no puede publicar un kEvent_ReleaseObj
Atributos públicos
AppState
void * AppState
Puntero genérico a datos específicos de la app asociados con el objeto.
Funciones públicas
IsRetained
bool IsRetained( const Layer & aLayer ) const
Prueba si aLayer
retiene este objeto.
Tests whether this object is retained by \c aLayer.
Simultaneidad segura.
Lanzamiento
void Release( void )
Decrements the reference count for the Weave System Layer object.
Recicla el objeto de nuevo en el grupo si el recuento de referencias se reduce a cero. No se invoca ningún destructor.
Retener
void Retain( void )
Increments the reference count for the Weave System Layer object.
Se supone que el objeto está activo.
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.
Se supone que el objeto está activo.