nl::Weave::System::Object

#include <src/system/SystemObject.h>

Bu, bir ObjectPool<t, n=""> nesnesinde yer alan alandan ayrılmış referans sayılan bir nesneyi temsil eder. </t,>

Özet

Not: Bu sınıf örneği yalnızca ilgili ObjectPool sınıf şablonu kullanılarak oluşturulabilir. Kopya oluşturucu ve atama operatörü silinir. Bu sınıfın örneklerinin saklama kayıtlarını izlemek için bir referans sayma sistemi kullanılır. Bir nesne ilk kez saklandığında referans sayısı bir olur. Ek saklamalar referans sayısını artırabilir. Nesne serbest bırakıldığında referans sayısı azalır. Referans sayısı sıfır olduğunda nesne yeniden kullanılmak üzere havuza geri gönderilir. Yıkıcı yok. Alt sınıflar, nihai saklama süresi kullanıma sunulduğunda ve nesne geri dönüştürüldüğünde kapsüllenmiş tüm kaynakların serbest bırakılmasını sağlayacak şekilde tasarlanmalıdır. Bu sınıf somut olarak tanımlansa da, Nest C++ stiline uygun olarak soyut olarak kabul edilmelidir.

Devralma

Doğrudan Bilinen Alt Sınıflar:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

Korunan türler

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< DefferRelease, kEvent_ReleaseObj yayınlayamazsa ne yapmalıyım?

Herkese açık özellikler

AppState
void *
Nesneyle ilişkilendirilen uygulamaya özel verilere genel işaretçi.

Kamu işlevleri

IsRetained(const Layer & aLayer) const
bool
Bu nesnenin aLayer tarihine kadar saklanıp saklanmadığını test edin.
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.

Korunan işlevler

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

Korunan türler

ReleaseDeferralErrorTactic

 ReleaseDeferralErrorTactic

< DefferRelease, kEvent_ReleaseObj yayınlayamazsa ne yapmalıyım?

Herkese açık özellikler

AppState

void * AppState

Nesneyle ilişkilendirilen uygulamaya özel verilere genel işaretçi.

Kamu işlevleri

IsRetained

bool IsRetained(
  const Layer & aLayer
) const 

Bu nesnenin aLayer tarihine kadar saklanıp saklanmadığını test edin.

Tests whether this object is retained by \c aLayer.

Eş zamanlılık açısından güvenli.

Lansman

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Referans sayısı sıfıra düşürülürse nesneyi tekrar havuza dönüştürür. Hiçbir yıkıcı çağrılmaz.

Koru

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

Nesnenin aktif olduğu varsayılır.

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.

Nesnenin aktif olduğu varsayılır.

Korunan işlevler

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)