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]
UTC 时差的条目

公共静态属性

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 时差,将 UTC 时间转换为当地时间。

结构体

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

转化信息

公共属性

mSize

uint8_t mSize

mUtcOffsetRecord 中的有效条目数

mUtcOffsetRecord

UtcOffsetRecord mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]

UTC 时差的条目

公共静态属性

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 时差,将 UTC 时间转换为当地时间。

具体说明
参数
[out] aLocalTime
指向生成的本地时间的指针
[in] aUtcTime
UTC 时间
返回值
WEAVE_NO_ERROR;成功时。如果找不到合理的结果,则为 WEAVE_ERROR_KEY_NOT_FOUND

TimeZoneUtcOffset

 TimeZoneUtcOffset()