nl :: Dệt :: Hồ sơ :: DataManagement_Current :: Chỉ huy
#include <src/lib/profiles/data-management/Current/Command.h>
Tóm lược
Lưu ý: Lớp này được thiết kế để che giấu một chi tiết nào đó trong việc xử lý lệnh. Quyết định đã được thực hiện để ẩn các chi tiết của ExchangeContext và xác nhận thực hiện chứng thực, trong khi để xử lý PacketBuffers đến lớp ứng dụng. Tiện ích của trình bao bọc này xung quanh việc xử lý lệnh thực sự bị hạn chế, chủ yếu là do sự phức tạp / linh hoạt liên quan đến xác thực bảo mật và tuần tự hóa / hủy tuần tự hóa dữ liệu.
Các chi tiết để xác thực lệnh vẫn là TBD
Để điều chỉnh thời gian truyền lại cho In-Progress, Báo cáo tình trạng, và cũng Response message, lớp ứng dụng sẽ phải bằng cách nào đó đối phó với ExchangeContext đối tượng. Cách tốt nhất vẫn là TBD, nhưng lớp ứng dụng có ba lựa chọn sau:
1) Có được bối cảnh Exchange thông qua GetExchangeContext và trực tiếp đánh giá / điều chỉnh nó. 2) Pre-phân bổ và cấu hình một Binding trong khi khởi động lên, trước khi bất kỳ lệnh đến, và cấu hình nó đúng 3) Tạo một tạm thời Ràng buộc sử dụng chức năng này BindingPool :: NewResponderBindingFromExchangeContext
Trong cả (2) và (3), lớp ứng dụng có thể thực thi cài đặt bảo mật / thời gian thông qua Binding :: ConfigureExistingExchangeContext. Các Ràng buộc là không bao giờ sử dụng để tạo bối cảnh trao đổi mới cho các lệnh tùy chỉnh, vì vậy nó không phải được lưu trữ trong xử lý này.
Bộ đệm gói yêu cầu cũng không được lưu trong xử lý này, vì không có cách sử dụng rõ ràng. Điều này đặc biệt đúng nếu lớp ứng dụng có thể xử lý lệnh này và gửi phản hồi trực tiếp.
Lớp ứng dụng sẽ nhận bộ đệm gói từ cùng một cuộc gọi lại mà nó nhận lệnh xử lý này. Nếu nó quyết định xử lý lệnh này theo cách không đồng bộ, nó sẽ phải lưu trữ cả lệnh xử lý và bộ đệm gói.
Các loại công khai | |
---|---|
CommandFlags { | enum Các lệnh bit cờ. |
CommandFlags | typedef Các lệnh bit cờ. |
Thuộc tính công cộng | |
---|---|
actionTimeMicroSecond | int64_t |
commandType | uint64_t |
expiryTimeMicroSecond | int64_t |
initiationTimeMicroSecond | int64_t |
mustBeVersion | uint64_t |
Chức năng công cộng | |
---|---|
Close (void) | void |
GetExchangeContext (void) const | Truy xuất đối tượng ngữ cảnh trao đổi được sử dụng bởi lệnh đến này. |
IsActionTimeValid (void) const | bool |
IsExpiryTimeValid (void) const | bool |
IsInitiationTimeValid (void) const | bool |
IsMustBeVersionValid (void) const | bool |
IsOneWay (void) const | bool |
SendError (uint32_t aProfileId, uint16_t aStatusCode, WEAVE_ERROR aWeaveError) | |
SendInProgress (void) | |
SendResponse (uint32_t traitInstanceVersion, nl::Weave::System::PacketBuffer *apPayload) | |
ValidateAuthenticator ( nl::Weave::System::PacketBuffer *aRequestBuffer) |
Các loại công khai
CommandFlags
CommandFlags
Các lệnh bit cờ.
CommandFlags
enum nl::Weave::Profiles::DataManagement_Current::Command::CommandFlags CommandFlags
Các lệnh bit cờ.
Thuộc tính công cộng
actionTimeMicroSecond
int64_t actionTimeMicroSecond
commandType
uint64_t commandType
Hạn sử dụngTimeMicroSecond
int64_t expiryTimeMicroSecond
khởi tạoTimeMicroSecond
int64_t initiationTimeMicroSecond
mustBeVersion
uint64_t mustBeVersion
Chức năng công cộng
Đóng
void Close( void )
GetExchangeContext
nl::Weave::ExchangeContext * GetExchangeContext( void ) const
Truy xuất đối tượng ngữ cảnh trao đổi được sử dụng bởi lệnh đến này.
Chi tiết | |
---|---|
Lợi nhuận | Một con trỏ đến đối tượng ngữ cảnh trao đổi được sử dụng bởi lệnh đến này |
IsActionTimeValid
bool IsActionTimeValid( void ) const
IsExpiryTimeValid
bool IsExpiryTimeValid( void ) const
IsInitiationTimeValid
bool IsInitiationTimeValid( void ) const
IsMustBeVersionValid
bool IsMustBeVersionValid( void ) const
IsOneWay
bool IsOneWay( void ) const
SendError
WEAVE_ERROR SendError( uint32_t aProfileId, uint16_t aStatusCode, WEAVE_ERROR aWeaveError )
SendInProgress
WEAVE_ERROR SendInProgress( void )
Gửi phản hồi
WEAVE_ERROR SendResponse( uint32_t traitInstanceVersion, nl::Weave::System::PacketBuffer *apPayload )
ValidateAuthenticator
WEAVE_ERROR ValidateAuthenticator( nl::Weave::System::PacketBuffer *aRequestBuffer )