nl::Weave::Profiles::Time::TimeZoneUtcOffset

#include <src/lib/profiles/time/WeaveTime.h>

Codec dành cho độ lệch UTC của một múi giờ.

Tóm tắt

Hàm khởi tạo và hàm phá

TimeZoneUtcOffset()

Thuộc tính công khai

mSize
uint8_t
số mục nhập hợp lệ trong mUtcOffsetRecord
mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]
mục nhập độ lệch UTC

Thuộc tính tĩnh công khai

BufferSizeForEncoding = 2 + 8 + 4 + (WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD - 1) * 8
const uint32_t
TimeZoneUtcOffset::BufferSizeForEncoding là hằng số thời gian biên dịch, có thể dùng để khai báo các mảng byte.

Hàm công khai

Decode(const uint8_t *const aInputBuf, const uint32_t aDataSize)
giải mã độ lệch UTC từ một chuỗi byte, được trích xuất từ Weave TLV.
Encode(uint8_t *const aOutputBuf, uint32_t *const aDataSize)
mã hoá độ lệch UTC vào một vùng đệm.
GetCurrentLocalTime(timesync_t *const aLocalTime, const timesync_t aUtcTime) const
chuyển đổi giờ UTC sang giờ địa phương, sử dụng độ lệch UTC được lưu trữ.

Cấu trúc

nl::Weave::Profiles::Time::TimeZoneUtcOffset::UtcOffsetRecord

thông tin về lượt chuyển đổi

Thuộc tính công khai

mSize

uint8_t mSize

số mục nhập hợp lệ trong mUtcOffsetRecord

mUtcOffsetRecord

UtcOffsetRecord mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]

mục nhập độ lệch UTC

Thuộc tính tĩnh công khai

BufferSizeForEncoding

const uint32_t BufferSizeForEncoding = 2 + 8 + 4 + (WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD - 1) * 8

TimeZoneUtcOffset::BufferSizeForEncoding là hằng số thời gian biên dịch, có thể dùng để khai báo các mảng byte.

Người gọi sẽ chuẩn bị đủ dung lượng bộ nhớ đệm để quá trình mã hoá hoàn tất thành công và BufferSizeForEncoding là bộ đệm dài nhất có thể cần thiết.

Hàm công khai

Decode

WEAVE_ERROR Decode(
  const uint8_t *const aInputBuf,
  const uint32_t aDataSize
)

giải mã độ lệch UTC từ một chuỗi byte, được trích xuất từ Weave TLV.

loại dữ liệu cho kích thước giống như WeaveTLV.h

Thông tin chi tiết
Các tham số
[in] aInputBuf
Con trỏ tới vùng đệm dữ liệu đầu vào
[in] aDataSize
số byte còn trống
Trả về
WEAVE_NO_ERROR khi thành công

Mã hóa

WEAVE_ERROR Encode(
  uint8_t *const aOutputBuf,
  uint32_t *const aDataSize
)

mã hoá độ lệch UTC vào một vùng đệm.

loại dữ liệu cho kích thước giống như WeaveTLV.h

Thông tin chi tiết
Các tham số
[out] aOutputBuf
Con trỏ đến vùng đệm dữ liệu đầu ra
[in,out] aDataSize
Một con trỏ đến số byte có sẵn trong aOutputBuf khi gọi và sẽ được thay đổi để cho biết số byte được dùng sau khi hàm trả về.
Trả về
WEAVE_NO_ERROR khi thành công

GetCurrentLocalTime

WEAVE_ERROR GetCurrentLocalTime(
  timesync_t *const aLocalTime,
  const timesync_t aUtcTime
) const 

chuyển đổi giờ UTC sang giờ địa phương, sử dụng độ lệch UTC được lưu trữ.

Thông tin chi tiết
Các tham số
[out] aLocalTime
Con trỏ đến giờ địa phương kết quả
[in] aUtcTime
Giờ UTC
Trả về
WEAVE_NO_ERROR Khi thành công. WEAVE_ERROR_KEY_NOT_FOUND nếu không tìm thấy kết quả hợp lý

TimeZoneUtcOffset

 TimeZoneUtcOffset()