nl::Weave::System::Object

#include <src/system/SystemObject.h>

यह किसी ObjectPool<t, n=""> में मौजूद स्पेस से असाइन किए गए रेफ़रंस के तौर पर गिना गया ऑब्जेक्ट दिखाता है ऑब्जेक्ट है. &lt;/t,&gt;

खास जानकारी

ध्यान दें: इस क्लास का इंस्टेंस सिर्फ़ मिलते-जुलते ObjectPool क्लास टेंप्लेट का इस्तेमाल करके बनाया जा सकता है. कॉपी कंस्ट्रक्टर और असाइनमेंट ऑपरेटर को मिटा दिया जाता है. इस क्लास के इंस्टेंस को बनाए रखने के मामलों को ट्रैक करने के लिए, रेफ़रंस की गिनती करने वाले सिस्टम का इस्तेमाल किया जाता है. जब किसी ऑब्जेक्ट को शुरुआत में बनाए रखा जाता है, तो उसकी रेफ़रंस संख्या एक होती है. अतिरिक्त रखरखाव बनाए रखने से पहचान फ़ाइलों की संख्या बढ़ सकती है. ऑब्जेक्ट रिलीज़ किए जाने पर, पहचान संख्या कम हो जाती है. जब रेफ़रंस की संख्या शून्य होती है, तो ऑब्जेक्ट को फिर से असाइन करने के लिए, उसे वापस पूल में रीसाइकल किया जाता है. कोई डिस्ट्रक्टर उपलब्ध नहीं है. सब-क्लास को यह पक्का करने के लिए डिज़ाइन किया जाना चाहिए कि जब डेटा के रखरखाव के आखिरी चरण को रिलीज़ किया जाए और ऑब्जेक्ट को रीसाइकल करें, तो सभी एनकैप्सुलेट किए गए रिसॉर्स को रिलीज़ कर दिया जाए. वैसे तो इस क्लास को कंक्रीट के तौर पर परिभाषित किया गया है, लेकिन यह Nest C++ स्टाइल के मुताबिक है, लेकिन इसे ऐब्स्ट्रैक्ट माना जाना चाहिए.

इनहेरिटेंस

पहले से मालूम सब-क्लास:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

सुरक्षित किए गए टाइप

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< किसी kEvent_ReleaseObj को पोस्ट न कर पाने की स्थिति में, DeedRelease न मिलने पर क्या करें.

सार्वजनिक विशेषताएं

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 को पोस्ट न कर पाने की स्थिति में, DeedRelease न मिलने पर क्या करें.

सार्वजनिक विशेषताएं

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
)