nl::Weave::System::Object

#include <src/system/SystemObject.h>

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

Ringkasan

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

Inheritance

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

Jenis yang dilindungi

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< Apa yang harus dilakukan jika DeferredRelease gagal memposting kEvent_ReleaseObj.

Atribut publik

AppState
void *
Pointer umum ke data khusus aplikasi yang dikaitkan 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

< Apa yang harus dilakukan jika DeferredRelease gagal memposting kEvent_ReleaseObj.

Atribut publik

AppState

void * AppState

Pointer umum ke data khusus aplikasi yang dikaitkan 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 bersamaan.

Rilis

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Mendaur ulang objek kembali ke 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 diasumsikan 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 diasumsikan aktif.

Fungsi yang dilindungi

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)