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

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

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

Tóm tắt

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

TimeZoneUtcOffset()

Các thuộc tính công khai

mSize
uint8_t
số lượng mục hợp lệ trong mUtcOffsetRecord
mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]
mục nhập của độ 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ừ TLV của Weave.
Encode(uint8_t *const aOutputBuf, uint32_t *const aDataSize)
mã hoá độ lệch UTC vào vùng đệm.
GetCurrentLocalTime(timesync_t *const aLocalTime, const timesync_t aUtcTime) const
chuyển đổi giờ UTC thành giờ địa phương bằng cách sử dụng giá trị chênh lệch so với giờ UTC được lưu trữ.

Cấu trúc

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

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

Các thuộc tính công khai

mSize

uint8_t mSize

số lượng mục hợp lệ trong mUtcOffsetRecord

mUtcOffsetRecord

UtcOffsetRecord mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]

mục nhập của độ 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.

Phương thức gọi phải 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ừ TLV của Weave.

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

Chi tiết
Tham số
[in] aInputBuf
Con trỏ trỏ tới vùng đệm dữ liệu đầu vào
[in] aDataSize
số byte có sẵn
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 vùng đệm.

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

Chi tiết
Tham số
[out] aOutputBuf
Con trỏ trỏ đến vùng đệm dữ liệu đầu ra
[in,out] aDataSize
Con trỏ trỏ đến số byte có 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 thành giờ địa phương bằng cách sử dụng giá trị chênh lệch so với giờ UTC được lưu trữ.

Chi tiết
Tham số
[out] aLocalTime
Con trỏ tới giờ địa phương kết quả
[in] aUtcTime
Giờ UTC
Trả về
WEAVE_NO_ERROR Trên 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()