nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient
#include <src/lib/profiles/data-management/Legacy/DMClient.h>
Lớp cơ sở trừu tượng dành 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. Quá trình triển khai có bao gồm gói thuê bao/thông báo (không bắt buộc). Đây là sự kết hợp của lớp ProtocolEngine của DM, lớp này xử lý việc chuyển đổi 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ề chúng.
Cá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. Trình triển khai lớp con cần cẩn thận trong việc gọi các phương thức siêu lớp có liên quan để xoay vòng trình quản lý gói thuê bao.
Phương thức yêu cầu DMClient thường có 2 chữ ký, một chữ ký có mã nhận dạng nút đích rõ ràng và chữ ký còn lại có đích đến đã 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 một mối 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 được liên kết. Trong trường hợp thứ hai, mục đầu tiên trong bảng liên kết sẽ được chọn làm mặc định. Điều này rất hữu ích, ví dụ như trong trường hợp khách hàng chỉ được 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à hàm phá |
|
---|---|
DMClient(void)
Hàm khởi tạo mặc định cho đối tượng DMClient.
|
|
~DMClient(void)
Hàm khởi tạo 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 chế độ xem dữ liệu đã xuất bản.
|
ViewRequest(ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
|
virtual WEAVE_ERROR
Yêu cầu chế độ 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 trên 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ộ được 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ý trường hợp "chưa hoàn tất" của một liên kết mà ứng dụng đang 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 chế độ xem dữ liệu đã xuất bản.
Yêu cầu chế độ 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 | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||
Giá trị trả về |
|
||||||||
Trả về |
Nếu không, lỗi WEAVE_ERROR cho biết không thể khởi chạy hoặc bắt đầu giao dịch.
|
ViewRequest
virtual WEAVE_ERROR ViewRequest( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout )
Yêu cầu chế độ xem dữ liệu về nhà xuất bản mặc định.
Yêu cầu chế độ xem dữ liệu do nhà xuất bản "mặc định" quản lý và lưu trữ, 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 ứng dụng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
||||||
Trả về |
Nếu không, lỗi WEAVE_ERROR cho biết không thể khởi chạy hoặc bắt đầu 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 trong phần quản lý.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||
Trả về |
WEAVE_NO_ERROR khi thành công hoặc WEAVE_ERROR_NO_MEMORY nếu không phân bổ được giao dịch cập nhật. Nếu không, hãy trả về WEAVE_ERROR cho biết 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 trên 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 trong phầ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 khách hàng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Trả về |
WEAVE_NO_ERROR khi thành công hoặc WEAVE_ERROR_NO_MEMORY nếu không phân bổ được giao dịch cập nhật. Nếu không, hãy trả về WEAVE_ERROR cho biết 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 | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
WEAVE_NO_ERROR khi giao dịch thành công hoặc WEAVE_ERROR cho biết không thể huỷ giao dịch.
|
Xoá
virtual void Clear( void )
Xoá trạng thái nội bộ được liên kết với đối tượng DMClient.
Cụ thể, phương thức này sẽ xoá tất cả nhóm giao dịch của khách hàng. Bạn nên sử dụng phương thức Finalize() đối với những ứng dụng khách vì phương thức này cũng huỷ các gói thuê bao, đồng thời dọn dẹp giao dịch và bảng liên kết.
Xem thêm:Finalize()
DMClient
DMClient( void )
Hoàn tất
virtual void Finalize( void )
Tắt DMClient đang hoạt động.
Xoá mọi trạng thái hoạt động liên kết với ứng dụng và xoá mọi gói thuê bao có liên quan khỏi trình thông báo. Sau khi thực hiện lệnh gọi đến Finalize(), DMClient có thể được khởi chạy 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ụ như trong trường hợp không thành công hoặc tắt tạm thời, nhưng có thể cần phải hoàn tất lại sau này.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Xử lý trường hợp "chưa hoàn tất" của một liên kết mà ứng dụng đang sử dụng.
Khi một liên kết bị lỗi đột ngột, chẳng hạn như nếu kết nối trong liên kết bị đóng, thì phương thức này sẽ được gọi.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
~DMClient
virtual ~DMClient( void )
Hàm khởi tạo 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).