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
}
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.

एक ही समय पर सुरक्षित.

रिलीज़ करें

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
)