nl:: Tenun:: Sistem:: Objek
#include <src/system/SystemObject.h>
Ini mewakili objek yang dihitung referensi yang dialokasikan dari ruang yang terdapat dalam objek ObjectKumpulan<t, n="">. </t,>
Ringkasan
Catatan:Instance class ini hanya dapat dibuat menggunakan template class Object Pool terkait. Konstruktor penyalinan dan operator penetapan akan dihapus. Sistem penghitungan referensi digunakan untuk melacak retensi instance dari class ini. Saat sebuah objek pertama kali dipertahankan, jumlah referensinya adalah satu. Retensi tambahan dapat menambah jumlah referensi. Saat objek dilepaskan, jumlah referensi akan berkurang. Jika jumlah referensi bernilai nol, objek akan didaur ulang ke kumpulan objek untuk alokasi ulang. Destruktor tidak tersedia. Subclass harus dirancang untuk memastikan bahwa semua resource yang dienkapsulasi dilepaskan saat retensi akhir dilepaskan dan objek didaur ulang. Meskipun didefinisikan sebagai konkret, class ini harus sesuai dengan gaya Nest C++ dan harus dianggap sebagai abstrak.
Warisan
Subclass Langsung yang Diketahui:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Jenis yang dilindungi |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum < Apa yang harus dilakukan jika 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
RilisDeferralErrorTactic
ReleaseDeferralErrorTactic
< Apa yang harus dilakukan jika DeferredRelease gagal memposting kEvent_ReleaseObj.
Atribut publik
StatusAplikasi
void * AppState
Pointer generik ke data khusus aplikasi yang terkait dengan objek.
Fungsi publik
Disimpan
bool IsRetained( const Layer & aLayer ) const
Uji apakah objek ini dipertahankan oleh aLayer
.
Tests whether this object is retained by \c aLayer.
Aman serentak.
Rilis
void Release( void )
Decrements the reference count for the Weave System Layer object.
Mendaur ulang objek kembali ke kumpulan jika jumlah referensi berkurang hingga nol. Tidak ada destruktor yang dipanggil.
Pertahankan
void Retain( void )
Increments the reference count for the Weave System Layer object.
Objek ini dianggap aktif.
SistemLayer
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 ini dianggap aktif.