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

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

時區 UTC 偏移的轉碼器。

摘要

建構函式和解構函式

TimeZoneUtcOffset()

公開屬性

mSize
uint8_t
mUtcOffsetRecord 中的有效項目數量
mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]
世界標準時間偏移項目

公開靜態屬性

BufferSizeForEncoding = 2 + 8 + 4 + (WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD - 1) * 8
const uint32_t
TimeZoneUtcOffset::BufferSizeForEncoding 是編譯時間常數,可用於宣告位元組陣列。

公用函式

Decode(const uint8_t *const aInputBuf, const uint32_t aDataSize)
從 Weave TLV 擷取位元組字串的 UTC 偏移值。
Encode(uint8_t *const aOutputBuf, uint32_t *const aDataSize)
將 UTC 偏移編碼成緩衝區。
GetCurrentLocalTime(timesync_t *const aLocalTime, const timesync_t aUtcTime) const
使用儲存的世界標準時間偏移,將世界標準時間時間轉換為當地時間。

結構

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

轉換資訊

公開屬性

mSize

uint8_t mSize

mUtcOffsetRecord 中的有效項目數量

mUtcOffsetRecord

UtcOffsetRecord mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]

世界標準時間偏移項目

公開靜態屬性

BufferSizeForEncoding

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

TimeZoneUtcOffset::BufferSizeForEncoding 是編譯時間常數,可用於宣告位元組陣列。

呼叫端應準備足夠的緩衝區空間,以便編碼順利完成,BufferSizeForEncoding 是可能所需的最長緩衝區。

公用函式

Decode

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

從 Weave TLV 擷取位元組字串的 UTC 偏移值。

WeaveTLV.h 相同

詳細說明
參數
[in] aInputBuf
輸入資料緩衝區的指標
[in] aDataSize
可用位元組數
傳回
成功時:WEAVE_NO_ERROR

編碼

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

將 UTC 偏移編碼成緩衝區。

WeaveTLV.h 相同

詳細說明
參數
[out] aOutputBuf
指向輸出資料緩衝區的指標
[in,out] aDataSize
指向在呼叫時 aOutputBuf 中可用位元組數量的指標,並會變更以指出函式傳回後使用的位元組數。
傳回
成功時:WEAVE_NO_ERROR

GetCurrentLocalTime

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

使用儲存的世界標準時間偏移,將世界標準時間時間轉換為當地時間。

詳細說明
參數
[out] aLocalTime
產生的當地時間指標
[in] aUtcTime
世界標準時間
傳回
WEAVE_NO_ERROR 成功時。如果找不到合理的結果,則為「WEAVE_ERROR_KEY_NOT_FOUND」

TimeZoneUtcOffset

 TimeZoneUtcOffset()