nl::Weave::ระบบ::วัตถุ

#include <src/system/SystemObject.h>

ค่านี้แสดงถึงออบเจ็กต์ที่นับข้อมูลอ้างอิงจากช่องว่างในออบเจ็กต์ ObjectPool<t, ndefaultquot;"> </t,>

สรุป

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

การสืบทอด

คลาสย่อยที่เป็นที่รู้จักโดยตรง:
nl::Inet::InetLayerBasis
nl::Weave::System::ตัวจับเวลา

ประเภทที่ป้องกัน

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

ประเภทที่ป้องกัน

ปล่อยข้อผิดพลาด Tactic

 ReleaseDeferralErrorTactic

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

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

สถานะแอป

void * AppState

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

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

เก็บรักษาไว้

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.

ออบเจ็กต์นี้จะถือว่าใช้งานแล้ว

ระบบเลเยอร์

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.

ออบเจ็กต์นี้จะถือว่าใช้งานแล้ว

ฟังก์ชันที่ได้รับการคุ้มครอง

เลื่อนกําหนดการ

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)