nl:: Weave:: Sistema:: Objeto
#include <src/system/SystemObject.h>
Representa um objeto de referência referenciado alocado do espaço contido em um objeto ObjectPool<t, n=""> . </t;>
Resumo
Observação: a instância dessa classe só pode ser construída usando o modelo de classe ObjectPool relacionado. O construtor de cópia e o operador de atribuição são excluídos. Um sistema de contagem de referência é usado para monitorar retenções de instâncias dessa classe. Quando um objeto é retido inicialmente, sua contagem de referência é 1. Outras retenções podem aumentar a contagem de referência. Quando o objeto é liberado, a contagem de referência diminui. Quando a contagem de referência é zero, o objeto é reciclado no pool para realocar. Nenhum destruidor disponível. As subclasses precisam ser projetadas para garantir que todos os recursos encapsulados sejam liberados quando a retenção final for liberada e o objeto for reciclado. Embora essa classe seja definida como concreta, ela está em conformidade com o estilo Nest C++, mas precisa ser considerada abstrata.
Herança
Subclasses conhecidas:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Tipos protegidos |
|
---|---|
ReleaseDeferralErrorTactic{
|
tipo enumerado < O que fazer quando o DeferredRelease não postar uma kEvent_ReleaseObj. |
Atributos públicos |
|
---|---|
AppState
|
void *
Ponteiro genérico para dados específicos do aplicativo associados ao objeto.
|
Funções públicas |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
Teste se o objeto é retido pela
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. |
Funções protegidas |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
Tipos protegidos
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< O que fazer quando o DeferredRelease não postar uma kEvent_ReleaseObj.
Atributos públicos
Estado do aplicativo
void * AppState
Ponteiro genérico para dados específicos do aplicativo associados ao objeto.
Funções públicas
Retido
bool IsRetained( const Layer & aLayer ) const
Teste se o objeto é retido pela aLayer
.
Tests whether this object is retained by \c aLayer.
Simultaneidade segura.
Versão
void Release( void )
Decrements the reference count for the Weave System Layer object.
Recicla o objeto de volta ao pool se a contagem de referência diminuir para zero. Nenhum destrutor é invocado.
Retain
void Retain( void )
Increments the reference count for the Weave System Layer object.
Presume-se que o objeto está ativo.
Camada de 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.
Presume-se que o objeto está ativo.