nl::Weave::System::Object

#include <src/system/SystemObject.h>

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

סיכום

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

ירושה

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

סוגים מוגנים

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
טיפוסים בני מנייה (enum)
< מה עושים אם הפרסום של קובץ 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

< מה עושים אם הפרסום של קובץ kEvent_ReleaseObj לא תקין.

מאפיינים ציבוריים

AppState

void * AppState

מצביע גנרי לנתונים ספציפיים לאפליקציה שמשויכים לאובייקט.

פונקציות ציבוריות

IsRetained

bool IsRetained(
  const Layer & aLayer
) const 

אפשר לבדוק אם האובייקט הזה נשמר על ידי aLayer.

Tests whether this object is retained by \c aLayer.

יש הגנה על בו-זמניות (concurrency).

פריט תוכן

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
)