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