nl::Weave::System::Object

#include <src/system/SystemObject.h>

Ini mewakili objek yang dihitung referensi yang dialokasikan dari ruang yang terdapat dalam objek ObjectPool<t, n="">. </t,>

Ringkasan

Catatan:Instance class ini hanya dapat dibuat menggunakan template class ObjectPool terkait. Konstruktor salinan dan operator penetapan dihapus. Sistem penghitungan referensi digunakan untuk melacak retensi instance class ini. Saat objek pertama kali dipertahankan, jumlah referensinya adalah satu. Retensi tambahan dapat menambah jumlah referensi. Saat objek dirilis, jumlah referensi akan berkurang. Jika jumlah referensi nol, objek akan didaur ulang kembali ke kumpulan untuk alokasi ulang. Tidak ada destruktor yang tersedia. Subclass harus didesain untuk memastikan bahwa semua resource yang dienkapsulasi dirilis saat retensi akhir dirilis dan objek didaur ulang. Meskipun class ini didefinisikan sebagai konkret, sesuai dengan gaya Nest C++, class ini harus dianggap sebagai abstrak.

Inheritance

Subclass Langsung yang Diketahui:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

Jenis yang dilindungi

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< Yang harus dilakukan saat DeferredRelease gagal memposting kEvent_ReleaseObj.

Atribut publik

AppState
void *
Pointer generik ke data khusus aplikasi yang terkait dengan objek.

Fungsi publik

IsRetained(const Layer & aLayer) const
bool
Uji apakah objek ini dipertahankan oleh 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.

Fungsi yang dilindungi

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

Jenis yang dilindungi

ReleaseDeferralErrorTactic

 ReleaseDeferralErrorTactic

< Yang harus dilakukan saat DeferredRelease gagal memposting kEvent_ReleaseObj.

Atribut publik

AppState

void * AppState

Pointer generik ke data khusus aplikasi yang terkait dengan objek.

Fungsi publik

IsRetained

bool IsRetained(
  const Layer & aLayer
) const 

Uji apakah objek ini dipertahankan oleh aLayer.

Tests whether this object is retained by \c aLayer.

Aman secara serentak.

Rilis

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Mendaur ulang objek ke dalam kumpulan jika jumlah referensi dikurangi menjadi nol. Tidak ada destruktor yang dipanggil.

Pertahankan

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

Objek dianggap aktif.

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.

Objek dianggap aktif.

Fungsi yang dilindungi

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)