nl::Weave::System::Object

#include <src/system/SystemObject.h>

ObjectPool<t, n=""> 객체에 포함된 공간에서 할당된 참조로 집계되는 객체를 나타냅니다. </t,>

요약

참고: 이 클래스의 인스턴스는 관련 ObjectPool 클래스 템플릿을 사용해서만 생성할 수 있습니다. 복사 생성자와 할당 연산자가 삭제됩니다. 참조 계산 시스템은 이 클래스의 인스턴스 유지를 추적하는 데 사용됩니다. 객체가 처음 보관될 때는 참조 수가 1개입니다. 보관 기간을 추가하면 참조 수가 늘어날 수 있습니다. 객체가 해제되면 참조 수가 감소합니다. 참조 수가 0이면 재할당을 위해 객체가 풀로 다시 재활용됩니다. 사용할 수 있는 소멸자가 없습니다. 서브클래스는 최종 보관이 해제되고 객체가 재활용될 때 캡슐화된 모든 리소스가 해제되도록 설계되어야 합니다. 이 클래스는 구체적인 클래스로 정의되지만 Nest C++ 스타일에 따라 추상 클래스로 간주되어야 합니다.

상속

직접 알려진 서브클래스:
  nl::Inet::InetLayerBasis
  nl::Weave::System::Timer

보호된 유형

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< 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

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

참조 수가 0으로 감소하면 객체를 풀로 다시 재활용합니다. 소멸자가 호출되지 않습니다.

유지

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
)