nl::Weave::النظام::كائن

#include <src/system/SystemObject.h>

ويمثل هذا عنصرًا تم احتسابه ومُخصَّصًا من مساحة مضمَّنة في كائن ObjectPool<t, n TalkBackquot;"> كائن. </t,>

الملخّص

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

الاكتساب

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

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

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
تعداد
< الإجراء الواجب اتخاذه عند إخفاق DederredRelease في نشر 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

< الإجراء الواجب اتخاذه عند إخفاق DederredRelease في نشر 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.

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

احتفاظ

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
)