nl::Weave::System::Object

#include <src/system/SystemObject.h>

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

ملخّص

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

الاكتساب

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

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

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
تعداد
< ما يجب فعله عند إخفاق 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.

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

الاحتفاظ

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
)