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

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

時區 (世界標準時間) 的轉碼器。

摘要

建構函式和解構函式

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
使用儲存的 UTC 偏移量,將世界標準時間轉換為當地時間。

Structs

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 

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

詳細資料
參數
[out] aLocalTime
指向產生的當地時間的指標
[in] aUtcTime
世界標準時間
傳回
WEAVE_NO_ERROR 成功時。WEAVE_ERROR_KEY_NOT_FOUND 找不到合理的結果

TimeZoneUtcOffset

 TimeZoneUtcOffset()