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. &lt;/t,&gt;

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{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
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.

Funkcje chronione

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)