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{
|
טיפוסים בני מנייה (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.
ההנחה היא שהאובייקט פעיל.