nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Lớp cơ sở trừu tượng cho các ứng dụng WDM dành riêng cho ứng dụng.
Tóm tắt
DMClient là ứng dụng WDM tiêu chuẩn. Việc triển khai bao gồm gói thuê bao/thông báo (không bắt buộc). Lớp này là sự kết hợp giữa lớp DM ProtocolEngine xử lý việc quay vòng giao tiếp và lớp ClientDataManager hoàn toàn trừu tượng, với một số phương thức liên quan đến gói thuê bao được triển khai để các lớp cao hơn không phải lo lắng về các phương thức đó.
Trình xử lý cho các tác vụ liên quan đến gói thuê bao chủ yếu hoạt động như một bộ chuyển đổi mỏng trên đối tượng ClientNotifier. Người triển khai lớp con cần chú ý gọi các phương thức của lớp cấp cao có liên quan để điều chỉnh trình quản lý gói thuê bao.
Các phương thức yêu cầu DMClient thường có 2 chữ ký, một chữ ký có mã nút đích rõ ràng và phương thức còn lại có đích đến được chỉ định. Trong cả hai trường hợp, khả năng gửi thông báo đến nhà xuất bản phụ thuộc vào liên kết có sẵn trong ứng dụng. Tuy nhiên, trong trường hợp đầu tiên, mã đích đến được dùng để chọn giữa nhiều đích đến ràng buộc và trong trường hợp thứ hai, mục đầu tiên trong bảng liên kết được chọn làm mặc định. Điều này hữu ích, chẳng hạn như khi khách hàng chỉ liên kết với một nhà xuất bản duy nhất.
Tính kế thừa
Kế thừa từ:nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
nl::Weave::Profiles::DataManagement_Legacy::ClientDataManager
Hàm khởi tạo và phá huỷ |
|
---|---|
DMClient(void)
Hàm khởi tạo mặc định cho các đối tượng DMClient.
|
|
~DMClient(void)
Hàm huỷ cho các đối tượng DMClient.
|
ViewRequest(const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yêu cầu xem dữ liệu đã xuất bản.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yêu cầu xem dữ liệu về nhà xuất bản mặc định.
|
UpdateRequest(const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yêu cầu cập nhật dữ liệu đã xuất bản.
|
UpdateRequest(ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yêu cầu cập nhật dữ liệu của nhà xuất bản mặc định.
|
Thuộc tính được bảo vệ |
|
---|---|
mUpdatePool[kUpdatePoolSize]
|
|
mViewPool[kViewPoolSize]
|
Hàm công khai |
|
---|---|
CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
|
Yêu cầu huỷ một giao dịch đang thực thi.
|
Clear(void)
|
virtual void
Xoá trạng thái nội bộ liên kết với đối tượng DMClient.
|
Finalize(void)
|
virtual void
Tắt DMClient đang hoạt động.
|
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
|
virtual void
Xử lý lỗi "chưa hoàn thành" của liên kết đang được ứng dụng sử dụng.
|
Hàm được bảo vệ |
|
---|---|
NewUpdate(void)
|
Update *
|
NewView(void)
|
View *
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Yêu cầu xem dữ liệu đã xuất bản.
Yêu cầu xem dữ liệu do một nhà xuất bản từ xa được chỉ định quản lý và lưu trữ.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Giá trị trả về |
|
||||||||
Trả về |
Nếu không, lỗi WEAVE_ERROR cho biết lỗi không khởi động hoặc bắt đầu được giao dịch.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Yêu cầu xem dữ liệu về nhà xuất bản mặc định.
Yêu cầu xem dữ liệu được lưu trữ và quản lý theo chế độ "mặc định" nhà xuất bản, tức là nhà xuất bản đầu tiên (hoặc duy nhất) trong bảng liên kết của khách hàng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
||||||
Trả về |
Nếu không, lỗi WEAVE_ERROR cho biết lỗi không khởi động hoặc bắt đầu được giao dịch.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Yêu cầu cập nhật dữ liệu đã xuất bản.
Yêu cầu nhà xuất bản từ xa cập nhật dữ liệu thuộc quyền quản lý.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||
Trả về |
WEAVE_NO_ERROR khi thành công hoặc WEAVE_ERROR_NO_MEMORY nếu không thể phân bổ giao dịch cập nhật. Nếu không, hãy trả về WEAVE_ERROR phản ánh lỗi cập nhật.
|
UpdateRequest
virtual WEAVE_ERROR UpdateRequest( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout )
Yêu cầu cập nhật dữ liệu của nhà xuất bản mặc định.
Yêu cầu nhà xuất bản từ xa cập nhật dữ liệu thuộc quyền quản lý. Phiên bản này chuyển yêu cầu đến nhà xuất bản là mục tiêu của liên kết mặc định của ứng dụng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Trả về |
WEAVE_NO_ERROR khi thành công hoặc WEAVE_ERROR_NO_MEMORY nếu không thể phân bổ giao dịch cập nhật. Nếu không, hãy trả về WEAVE_ERROR phản ánh lỗi cập nhật.
|
Thuộc tính được bảo vệ
mUpdatePool
Update mUpdatePool[kUpdatePoolSize]
mViewPool
View mViewPool[kViewPoolSize]
Hàm công khai
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Yêu cầu huỷ một giao dịch đang thực thi.
Phương thức này không tạo ra lưu lượng truy cập mạng mà chỉ giải phóng tài nguyên được phân bổ cho(các) giao dịch đã chỉ định
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Trả về |
WEAVE_NO_ERROR khi thành công hoặc lỗi WEAVE_ERROR cho biết không huỷ được giao dịch.
|
Xóa
virtual void Clear( void )
Xoá trạng thái nội bộ liên kết với đối tượng DMClient.
Cụ thể, phương thức này xoá tất cả các nhóm giao dịch khách. Đối với những ứng dụng đang sử dụng phương thức Finalize(), bạn nên dùng phương thức này vì phương thức này cũng sẽ huỷ các gói thuê bao cũng như dọn dẹp các bảng giao dịch và liên kết.
Xem thêm:Kết thúc()
DMClient
DMClient( void )
Hoàn tất
virtual void Finalize( void )
Tắt DMClient đang hoạt động.
Xoá tất cả trạng thái hoạt động được liên kết với ứng dụng và xoá tất cả gói thuê bao có liên quan khỏi trình thông báo. Sau lệnh gọi đến Finalize(), DMClient có thể được khởi động lại chỉ bằng cách gọi Init(). Finalize() được gọi bởi hàm khởi tạo DMClient nhưng có thể được gọi trong trường hợp DMClient yêu cầu dọn dẹp, ví dụ: trong trường hợp không thành công hoặc bị tắt tạm thời, nhưng có thể cần được khôi phục sau này.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Xử lý lỗi "chưa hoàn thành" của liên kết đang được ứng dụng sử dụng.
Khi một liên kết bị lỗi đột ngột, ví dụ: nếu kết nối liên quan đến liên kết bị đóng, thì phương thức này sẽ được gọi.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
~DMClient
virtual ~DMClient( void )
Hàm huỷ cho các đối tượng DMClient.
Xoá tất cả trạng thái nội bộ và huỷ các gói thuê bao đang chờ xử lý (nếu cần).