nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
Dies stellt ein Objekt mit Referenzanzahl dar, das aus dem Bereich in einem ObjectPool<t, n="">-Objekt zugewiesen ist. </t,>
Zusammenfassung
Hinweis:Instanzen dieser Klasse können nur mit der zugehörigen ObjectPool-Klassenvorlage erstellt werden. Der Kopierkonstruktor und der Zuweisungsoperator werden gelöscht. Ein Referenzzählsystem wird verwendet, um die Aufbewahrung von Instanzen dieser Klasse zu verfolgen. Wenn ein Objekt anfänglich beibehalten wird, ist die Referenzzahl 1. Zusätzliche Aufbewahrungen können die Referenzanzahl erhöhen. Wenn das Objekt freigegeben wird, wird die Referenzanzahl verringert. Wenn die Referenzanzahl null ist, wird das Objekt zur Neuzuweisung in den Pool zurückversetzt. Es ist kein Destruktor verfügbar. Abgeleitete Klassen müssen so konzipiert sein, dass alle gekapselten Ressourcen freigegeben werden, wenn die endgültige Aufbewahrung freigegeben und das Objekt recycelt wird. Obwohl diese Klasse als konkret definiert ist, sollte sie gemäß dem Nest C++-Stil als abstrakt betrachtet werden.
Übernahme
Direkte bekannte Unterklassen:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Geschützte Typen |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum < Was zu tun ist, wenn DeferredRelease kein kEvent_ReleaseObj übermitteln kann. |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Generischer Verweis auf app-spezifische Daten, die dem Objekt zugeordnet sind.
|
Öffentliche Funktionen |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
Testen Sie, ob dieses Objekt von
aLayer aufbewahrt wird. |
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. |
Geschützte Funktionen |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
Geschützte Typen
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< Was zu tun ist, wenn DeferredRelease kein kEvent_ReleaseObj übermitteln kann.
Öffentliche Attribute
AppState
void * AppState
Generischer Verweis auf app-spezifische Daten, die dem Objekt zugeordnet sind.
Öffentliche Funktionen
IsRetained
bool IsRetained( const Layer & aLayer ) const
Testen Sie, ob dieses Objekt von aLayer
aufbewahrt wird.
Tests whether this object is retained by \c aLayer.
Gleichzeitigkeit sicher.
Release
void Release( void )
Decrements the reference count for the Weave System Layer object.
Setzt das Objekt wieder in den Pool zurück, wenn die Referenzanzahl auf null verringert wird. Es wird kein Destruktor aufgerufen.
Beibehalten
void Retain( void )
Increments the reference count for the Weave System Layer object.
Es wird angenommen, dass das Objekt live ist.
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.
Es wird angenommen, dass das Objekt live ist.