nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
Jest to obiekt liczony jako odniesienie do obiektu przydzielonego z miejsca zawartego w puli obiektów<t, n=""> obiektu. </t,>
Podsumowanie
Uwaga: instancję tej klasy można utworzyć tylko przy użyciu powiązanego szablonu klasy ObjectPool. Konstruktor kopiowania i operator przypisania zostaną usunięte. Do śledzenia przechowywania instancji tej klasy używany jest system zliczania plików referencyjnych. Po początkowym zachowywaniu obiektu liczba odwołań wynosi 1. Dodatkowy okres przechowywania może zwiększyć liczbę plików referencyjnych. Po zwolnieniu obiektu liczba plików referencyjnych zmniejsza się. Gdy liczba odwołań wynosi 0, obiekt jest ponownie wracany do puli na potrzeby ponownej alokacji. Brak dostępnego niszczenia. Podklasy muszą być zaprojektowane tak, aby wszystkie zamknięte zasoby były zwolnione po wycofaniu ostatecznego przechowywania i recyklingu obiektu. Choć klasa ta jest definiowana jako konkretna, zgodnie ze stylem Nest C++ powinna być traktowana jako abstrakcyjna.
Dziedziczenie
Bezpośrednie znane podklasy:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Typy chronione |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum | typ wyliczeniowy < Co zrobić, jeśli OdroczoneRelease nie opublikuje parametru kEvent_ReleaseObj. |
Atrybuty publiczne |
|
---|---|
AppState
|
void *
Ogólny wskaźnik do danych aplikacji powiązanych z obiektem.
|
Funkcje publiczne |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
Sprawdź, czy ten obiekt jest przechowywany przez
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. |
Funkcje chronione |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
Typy chronione
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< Co zrobić, jeśli OdroczoneRelease nie opublikuje parametru kEvent_ReleaseObj.
Atrybuty publiczne
AppState
void * AppState
Ogólny wskaźnik do danych aplikacji powiązanych z obiektem.
Funkcje publiczne
IsRetained
bool IsRetained( const Layer & aLayer ) const
Sprawdź, czy ten obiekt jest przechowywany przez aLayer
.
Tests whether this object is retained by \c aLayer.
Bezpieczna współczesność.
Wersja
void Release( void )
Decrements the reference count for the Weave System Layer object.
Ponownie przesyła obiekt do puli, jeśli liczba odwołań spadnie do 0. Nie został wywołany niszczyciel.
Zachowaj
void Retain( void )
Increments the reference count for the Weave System Layer object.
Obiekt przyjmuje się, że jest aktywny.
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.
Obiekt przyjmuje się, że jest aktywny.