nl::Weave::System::Object

#include <src/system/SystemObject.h>

يمثل هذا كائنًا تم حسابه كمرجع وتخصيصه من مساحة مضمنة في ObjectPool<t, n=""> الخاص بك. &lt;/t,&gt;

ملخّص

ملاحظة:لا يمكن إنشاء مثيل من هذه الفئة إلا باستخدام نموذج فئة ObjectPool ذي الصلة. يتم حذف الدالة الإنشائية للنسخ وعامل التعيين. يتم استخدام نظام احتساب المراجع لتتبع الاحتفاظ بالمثيلات من هذه الفئة. عندما يتم الاحتفاظ بأحد العناصر في البداية، يكون عدد المراجع الخاصة به واحدًا. قد تؤدي عمليات الاحتفاظ بالبيانات الإضافية إلى زيادة عدد المراجع. وعند تحرير العنصر، يتم تقليل عدد المراجع. عندما يكون عدد المراجع صفرًا، يُعاد تدوير العنصر إلى وحدة التجميع لإعادة تخصيصه. لا توجد أداة تدمير متاحة. يجب تصميم الفئات الفرعية لضمان إطلاق جميع الموارد المغلفة عند تحرير التغليف النهائي وإعادة تدوير العنصر. على الرغم من أنّ هذه الفئة مُصنَّفة على أنّها خرسانية، إلا أنّها تتوافق مع نمط Nest C++ ، إلا أنّه يجب اعتبارها مجردة.

الاكتساب

الفئات الفرعية المعروفة المباشرة:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

الأنواع المحمية

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
تعداد
< ما يجب فعله عند تعذُّر نشر kEvent_ReleaseObj في DeferredRelease.

السمات العامة

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

< ما يجب فعله عند تعذُّر نشر kEvent_ReleaseObj في DeferredRelease.

السمات العامة

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.

إعادة تدوير العنصر إلى مجموعة إذا تم تقليل عدد المراجع إلى صفر. لم يتم استدعاء أي عامل تدمير.

الاحتفاظ

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
)