нл:: Переплетение:: Профили:: Время:: 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)
декодировать смещения UTC из байтовой строки, извлеченной из Weave TLV .
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

Публичные статические атрибуты

Буферсизефорэнкодинг

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

TimeZoneUtcOffset::BufferSizeForEncoding — это константа времени компиляции, которую можно использовать для объявления массивов байтов.

Вызывающие стороны должны подготовить достаточный размер буфера для успешного завершения кодирования, а BufferSizeForEncoding — это самый длинный буфер, который может потребоваться.

Общественные функции

Декодировать

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

декодировать смещения UTC из байтовой строки, извлеченной из Weave TLV .

тип данных для размера такой же, как 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()