nl:: बुनाई::सिस्टम::ऑब्जेक्ट

#include <src/system/SystemObject.h>

यह एक ऑब्जेक्ट की संबंधित पहचान-गिनती ऑब्जेक्ट दिखाता है जो किसी ObjectPool<t, n=&QUt;&kot;> ऑब्जेक्ट में शामिल है. </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

सुरक्षित प्रकार

ReleaseDerralErrorTactic

 ReleaseDeferralErrorTactic

< अगर स्थगित रिलीज़ kEvent_ReleaseObj पोस्ट नहीं कर पाता, तो क्या करें.

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

AppState

void * AppState

ऑब्जेक्ट से जुड़े ऐप्लिकेशन के लिए खास डेटा के लिए जेनरिक पॉइंटर.

सार्वजनिक फ़ंक्शन

बरकरार है

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.

ऑब्जेक्ट को लाइव माना जाता है.

सिस्टम लेयर

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.

ऑब्जेक्ट को लाइव माना जाता है.

सुरक्षित किए गए फ़ंक्शन

स्थगित रिलीज़

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)