Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

nl::Weave::Hồ sơ::Thời gian::TimeZoneUtc Offset

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

Codec cho độ lệch giờ so với múi giờ UTC.

Tóm tắt

Hàm dựng và hàm phá hủy

TimeZoneUtcOffset()

Thuộc tính công khai

mSize
uint8_t
số mục nhập hợp lệ trong mUtc OffsetGhi
mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]
mục nhập của số giờ chênh lệch so với giờ 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 mảng mảng.

Hàm công khai

Decode(const uint8_t *const aInputBuf, const uint32_t aDataSize)
giải mã độ lệch giờ 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ã hóa số lần bù giờ UTC vào bộ đệ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 số giờ chênh lệch so với giờ UTC lưu trữ.

Cấu trúc

nl::Weave::Profiles::Time::TimeZoneUtc Offset::Utc OffsetGhi

thông tin chuyển đổi

Thuộc tính công khai

mKích thước

uint8_t mSize

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

mUtcoffsetGhi

UtcOffsetRecord mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]

mục nhập của số giờ chênh lệch so với giờ 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 mảng mảng.

Người gọi phải chuẩn bị đủ kích thước bộ đệm để mã hóa hoàn tất thành công và BufferSizeForEncoding là bộ đệm dài nhất có thể.

Hàm công khai

Giải mã

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

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

Loại dữ liệu có kích thước giống với WeaveTLV.h

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

Mã hóa

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

mã hóa số lần bù giờ UTC vào bộ đệm.

Loại dữ liệu có kích thước giống với WeaveTLV.h

Thông tin chi tiết
Các thông số
[out] aOutputBuf
Con trỏ đến bộ đệm dữ liệu đầu ra
[in,out] aDataSize
Con trỏ tới 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 thành công

GetCurrentTimeTime

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 số giờ chênh lệch so với giờ UTC lưu trữ.

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

Múi giờ múi giờ

 TimeZoneUtcOffset()