nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
Jest to liczony przez odwołanie obiekt przydzielony z miejsca w obiekcie ObjectPool<t, n="">. </t,>
Podsumowanie
Uwaga: instancję tej klasy można utworzyć tylko za pomocą powiązanego szablonu klasy ObjectPool. Konstruktor kopiowania i operator przypisywania zostaną usunięte. Do śledzenia przechowywania instancji tej klasy używany jest system zliczania plików referencyjnych. Gdy obiekt jest początkowo przechowywany, jego liczba odwołań wynosi 1. Dodatkowe przechowywanie danych może zwiększać liczbę plików referencyjnych. Po zwolnieniu obiektu liczba odwołań się zmniejsza. Gdy liczba odwołań wynosi 0, obiekt wraca do puli w celu ponownej alokacji. Brak dostępnego destruktora. Podklasy muszą być zaprojektowane w taki sposób, aby wszystkie obudowane zasoby były uwalniane po wydaniu ostatecznej wersji przechowywania, a obiekt został poddany recyklingowi. Ta klasa jest zdefiniowana jako konkretna, zgodnie ze stylem Nest C++, należy ją jednak traktować jako abstrakcyjną.
Dziedziczenie
Bezpośrednie znane podklasy:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Typy chronione |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum | typ wyliczeniowy < Co zrobić, jeśli DeferredRelease nie publikuje zdarzenia 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 DeferredRelease nie publikuje zdarzenia 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.
Równoczesność jest bezpieczna.
Premiera
void Release( void )
Decrements the reference count for the Weave System Layer object.
Powoduje ponowne recykling obiektu do puli, jeśli liczba odwołań spadnie do 0. Nie jest wywoływany żaden destrukt.
Zachowaj
void Retain( void )
Increments the reference count for the Weave System Layer object.
Przyjmuje się, że obiekt 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.
Przyjmuje się, że obiekt jest aktywny.