nl::Weave::System::Object

#include <src/system/SystemObject.h>

הוא מייצג אובייקט שנספר באמצעות הפניות שהוקצה משטח שנכלל באובייקט ObjectPole<t, n="">. </t,>

סיכום

הערה:ניתן ליצור את המופע של המחלקה הזו רק באמצעות תבנית המחלקה ObjectPool הקשורה. בנאי ההעתקה ואופרטור ההקצאה יימחקו. מערכת לספירת הפניות משמשת למעקב אחר שמירת מופעים של המחלקה הזו. כשאובייקט נשמר לראשונה, מספר ההפניות שלו הוא 1. שמירה נוספת עשויה להגדיל את מספר קובצי העזר. כאשר מפסיקים ללחוץ על האובייקט, מספר ההפניות מצטמצם. אם מספר ההפניות הוא אפס, האובייקט ממוחזר חזרה למאגר לצורך הקצאה מחדש. לא קיים כלי בנייה (destructor). צריך לעצב את מחלקות המשנה כך שיבטיח שכל המשאבים שמוקפים באנקפסולציה ישוחררו כשהשמירה הסופית תשוחרר וכשהאובייקט ימוחזר. אמנם המחלקה הזו מוגדרת כבטון, אבל בהתאם לסגנון Nest C++ יש להתייחס אליה כאל מופשטת.

ירושה

מחלקות משנה מוכרות ישירות:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

סוגים מוגנים

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
טיפוסים בני מנייה (enum)
< What to do if 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

< What to do if 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
)