nl::Weave::System::Object

#include <src/system/SystemObject.h>

ค่านี้แสดงออบเจ็กต์จำนวนอ้างอิงที่จัดสรรจากพื้นที่ที่มีอยู่ในออบเจ็กต์ ObjectPool<t, n=""> </t,>

สรุป

หมายเหตุ: อินสแตนซ์ของคลาสนี้จะสร้างขึ้นโดยใช้เทมเพลตคลาส ObjectPool ที่เกี่ยวข้องเท่านั้น ระบบจะลบตัวสร้างการคัดลอกและโอเปอเรเตอร์การมอบหมาย ระบบนับข้อมูลอ้างอิงใช้เพื่อติดตามการเก็บรักษาอินสแตนซ์ของคลาสนี้ เมื่อมีการเก็บรักษาออบเจ็กต์ครั้งแรก จำนวนการอ้างอิงคือ 1 การเก็บรักษาเพิ่มเติมอาจทำให้จำนวนข้อมูลอ้างอิงเพิ่มขึ้น เมื่อมีการปล่อยออบเจ็กต์ จำนวนการอ้างอิงจะลดลง เมื่อจำนวนการอ้างอิงเป็น 0 ระบบจะนำออบเจ็กต์กลับไปที่พูลเพื่อจัดสรรใหม่ ไม่มีตัวทำลายที่ใช้ได้ คลาสย่อยต้องออกแบบให้ปล่อยทรัพยากรที่ปกปิดไว้ทั้งหมดเมื่อปล่อยการเก็บรักษาขั้นสุดท้ายและนำวัตถุกลับคืนมาแล้ว แม้ว่าคลาสนี้จะได้รับการกำหนดเป็นคอนกรีต แต่สอดคล้องกับรูปแบบ Nest C++ แต่ก็ควรพิจารณาว่าเป็นนามธรรม

การสืบทอด

คลาสย่อยที่รู้จักโดยตรง:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

ประเภทที่ได้รับการป้องกัน

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< สิ่งที่ต้องทำเมื่อ DeferredRelease โพสต์ kEvent_ReleaseObj ไม่สำเร็จ

แอตทริบิวต์สาธารณะ

AppState
void *
ตัวชี้ทั่วไปไปยังข้อมูลเฉพาะแอปที่เชื่อมโยงกับออบเจ็กต์

ฟังก์ชันสาธารณะ

IsRetained(const Layer & aLayer) const
bool
ทดสอบว่า 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.

ฟังก์ชันที่มีการป้องกัน

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

ประเภทที่ได้รับการป้องกัน

ReleaseDeferralErrorTactic

 ReleaseDeferralErrorTactic

< สิ่งที่ต้องทำเมื่อ DeferredRelease โพสต์ kEvent_ReleaseObj ไม่สำเร็จ

แอตทริบิวต์สาธารณะ

AppState

void * AppState

ตัวชี้ทั่วไปไปยังข้อมูลเฉพาะแอปที่เชื่อมโยงกับออบเจ็กต์

ฟังก์ชันสาธารณะ

IsRetained

bool IsRetained(
  const Layer & aLayer
) const 

ทดสอบว่า aLayer เก็บรักษาออบเจ็กต์นี้หรือไม่

Tests whether this object is retained by \c aLayer.

ดำเนินการพร้อมกันได้อย่างปลอดภัย

เผยแพร่

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

นำวัตถุกลับไปที่พูลหากมีการลดจำนวนการอ้างอิงเป็น 0 ไม่มีการเรียกใช้ตัวทำลาย

เก็บไว้

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

ระบบถือว่าออบเจ็กต์พร้อมใช้งาน

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.

ระบบถือว่าออบเจ็กต์พร้อมใช้งาน

ฟังก์ชันที่มีการป้องกัน

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)