nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
Điều này thể hiện một đối tượng được tính tham chiếu được phân bổ từ không gian chứa trong đối tượng ObjectPool<t, n="">. </t,>
Tóm tắt
Lưu ý: Bạn chỉ có thể tạo thực thể của lớp này bằng mẫu lớp ObjectPool có liên quan. Hàm khởi tạo sao chép và toán tử gán bị xoá. Hệ thống đếm tham chiếu dùng để theo dõi việc lưu giữ các thực thể của lớp này. Khi một đối tượng ban đầu được giữ lại, số lượng tham chiếu của đối tượng đó là 1. Việc lưu giữ bổ sung có thể làm tăng số lượng tệp đối chiếu. Khi đối tượng được giải phóng, số lượng tham chiếu sẽ giảm đi. Khi số lượng tham chiếu bằng 0, đối tượng sẽ được tái chế trở lại nhóm để phân bổ lại. Không có hàm khởi tạo. Các lớp con phải được thiết kế để đảm bảo rằng tất cả tài nguyên được đóng gói đều được giải phóng khi tỷ lệ giữ lại cuối cùng được giải phóng và đối tượng được tái chế. Mặc dù lớp này được định nghĩa là lớp cụ thể, nhưng theo kiểu Nest C++, lớp này nên được coi là lớp trừu tượng.
Tính kế thừa
Lớp con đã biết trực tiếp:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Kiểu được bảo vệ |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum < Việc cần làm khi DeferredRelease không đăng được kEvent_ReleaseObj. |
Thuộc tính công khai |
|
---|---|
AppState
|
void *
Con trỏ chung đến dữ liệu dành riêng cho ứng dụng được liên kết với đối tượng.
|
Hàm công khai |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
Kiểm tra xem đối tượng này có được
aLayer giữ lại hay không. |
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. |
Hàm được bảo vệ |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
Kiểu được bảo vệ
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< Việc cần làm khi DeferredRelease không đăng được kEvent_ReleaseObj.
Thuộc tính công khai
AppState
void * AppState
Con trỏ chung đến dữ liệu dành riêng cho ứng dụng được liên kết với đối tượng.
Hàm công khai
IsRetained
bool IsRetained( const Layer & aLayer ) const
Kiểm tra xem đối tượng này có được aLayer
giữ lại hay không.
Tests whether this object is retained by \c aLayer.
An toàn cho tính năng đồng thời.
Bản phát hành
void Release( void )
Decrements the reference count for the Weave System Layer object.
Khôi phục đối tượng trở lại nhóm nếu số lượng tham chiếu giảm xuống 0. Không gọi được hàm huỷ nào.
Lưu lại
void Retain( void )
Increments the reference count for the Weave System Layer object.
Đối tượng được giả định là đang hoạt động.
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.
Đối tượng được giả định là đang hoạt động.