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{
|
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.