nl :: Dệt :: Hồ sơ :: 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 máy khách WDM dành riêng cho ứng dụng.
Tóm lược
DMClient là ứng dụng khách WDM tiêu chuẩn. Việc triển khai tùy chọn bao gồm đăng ký / thông báo. Nó là sự kết hợp của lớp DM ProtocolEngine , lớp này xử lý việc quay vòng 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 đăng ký đượ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 đăng ký chủ yếu hoạt động như một bộ điều hợp mỏng trên đối tượng ClientNotifier . Những người triển khai lớp con nên cẩn thận để gọi các phương thức siêu lớp có liên quan để biến trình quản lý đăng ký quay trở lại.
Các phương thức yêu cầu DMClient thường có 2 chữ ký, một chữ ký có ID nút đích rõ ràng và chữ ký còn lại có điểm đến được chỉ định. Trong cả hai trường hợp, khả năng gửi tin nhắn đến nhà xuất bản phụ thuộc vào ràng buộc có sẵn trong ứng dụng khách, nhưng trong trường hợp đầu tiên, ID đích được dự định để chọn giữa nhiều đích được ràng buộc và trong trường hợp thứ hai, ID đích đầu tiên mục trong bảng ràng buộc được chọn làm mặc định. Điều này rất hữu ích, chẳng hạn, nếu khách hàng chỉ bị ràng buộc với một nhà xuất bản duy nhất.
Di sản
Kế thừa từ:nl :: Weave :: Profiles :: DataManagement_Legacy :: ProtocolEngine
nl :: Weave :: Profiles :: DataManagement_Legacy :: ClientDataManager
Người xây dựng và Người phá hủy | |
---|---|
DMClient (void) Hàm tạo mặc định cho các đối tượng DMClient . | |
~DMClient (void) Bộ hủy 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 trên 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] |
Chức năng công cộng | |
---|---|
CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError) | Yêu cầu hủy giao dịch đang thực hiện. |
Clear (void) | virtual void Xóa trạng thái bên trong đượ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ý "sự không hoàn thành" của một ràng buộc đang được khách hàng sử dụng. |
Các chức năng đượ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 chế độ xem dữ liệu do một nhà xuất bản từ xa đã chỉ định dựa trên và quản lý.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||
Giá trị trả lại |
| ||||||||
Lợi nhuận | Nếu không, WEAVE_ERROR phản ánh lỗi không thể khởi tạo 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 xem dữ liệu trên 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ý, tức là nhà xuất bản đầu tiên (hoặc duy nhất) trong bảng ràng buộc của khách hàng.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
| ||||||
Giá trị trả lại |
| ||||||
Lợi nhuận | Nếu không, WEAVE_ERROR phản ánh lỗi không thể khởi tạo 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 được quản lý.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||
Lợi nhuận | WEAVE_NO_ERROR 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 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 được quản lý. Phiên bản này hướng yêu cầu đến nhà xuất bản là mục tiêu của ràng buộc mặc định của khách hàng.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
| ||||||
Lợi nhuận | WEAVE_NO_ERROR 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, 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]
Chức năng công cộng
CancelTransactionRequest
WEAVE_ERROR CancelTransactionRequest( uint16_t aTxnId, WEAVE_ERROR aError )
Yêu cầu hủy giao dịch đang thực hiện.
Phương pháp này không tạo ra lưu lượng mạng mà chỉ giải phóng tài nguyên được phân bổ cho (các) giao dịch được chỉ định
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Lợi nhuận | WEAVE_NO_ERROR về thành công hoặc WEAVE_ERROR phản ánh không thể hủy giao dịch. |
Thông thoáng
virtual void Clear( void )
Xóa trạng thái bên trong được liên kết với đối tượng DMClient .
Đặc biệt, phương pháp này xóa tất cả các nhóm giao dịch của khách hàng. Đối với các khách hàng đã sử dụng, phương thức Finalize () thích hợp hơn vì nó cũng hủy đăng ký và dọn dẹp các bảng giao dịch và ràng buộc.
Xem thêm:Kết thúc ()
DMClient
DMClient( void )
Hoàn thiện
virtual void Finalize( void )
Tắt DMClient đang hoạt động.
Xóa tất cả trạng thái hoạt động liên quan đến ứng dụng khách và xóa tất cả các đăng ký liên quan khỏi trình thông báo. Sau khi gọi tới Finalize (), một DMClient có thể được khởi động lại bằng cách gọi Init (). Finalize () được gọi bởi trình hủy 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 bị lỗi hoặc tắt máy tạm thời, nhưng có thể cần được hoàn nguyên sau một thời gian.
IncompleteIndication
virtual void IncompleteIndication( Binding *aBinding, StatusReport & aReport )
Xử lý "sự không hoàn thành" của một ràng buộc đang được khách hàng sử dụng.
Khi một liên kết bị lỗi bất ngờ, 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 được gọi.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
~ DMClient
virtual ~DMClient( void )
Bộ hủy cho các đối tượng DMClient .
Xóa tất cả trạng thái nội bộ và nếu cần thì hủy các đăng ký đang chờ xử lý.
Các chức năng được bảo vệ
Cập nhật mới
Update * NewUpdate( void )
Xem mới
View * NewView( void )