nl::Weave::โปรไฟล์::เวลา::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

ข้อมูล Conversion

แอตทริบิวต์สาธารณะ

ขนาด m

uint8_t mSize

จํานวนรายการที่ถูกต้องใน mUtcOffsetRecord

mUtcOffsetRecord

UtcOffsetRecord mUtcOffsetRecord[WEAVE_CONFIG_TIME_NUM_UTC_OFFSET_RECORD]

รายการออฟเซ็ต UTC

แอตทริบิวต์สาธารณะแบบคงที่

บัฟเฟอร์ขนาด Fornncoding

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
จํานวนไบต์ที่ใช้ได้
การคืนสินค้า
WEhave_NO_ERROR สําเร็จแล้ว

เข้ารหัส

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

เข้ารหัส UTC เป็นบัฟเฟอร์

ประเภทข้อมูลสําหรับขนาดจะเหมือนกับ WeaveTLV.h

รายละเอียด
พารามิเตอร์
[out] aOutputBuf
ตัวชี้ไปยังบัฟเฟอร์ข้อมูลเอาต์พุต
[in,out] aDataSize
ตัวชี้ไปยังจํานวนไบต์ที่ใช้ได้ใน aเอาต์พุตBuf ขณะโทร และจะเปลี่ยนแปลงเพื่อระบุจํานวนไบต์ที่ใช้หลังจากฟังก์ชันกลับมา
การคืนสินค้า
WEhave_NO_ERROR สําเร็จแล้ว

รับเวลาท้องถิ่นปัจจุบัน

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

แปลงเวลา UTC เป็นเวลาท้องถิ่นโดยใช้การชดเชย UTC ที่เก็บไว้

รายละเอียด
พารามิเตอร์
[out] aLocalTime
ตัวชี้ไปยังเวลาท้องถิ่นที่ได้
[in] aUtcTime
เวลา UTC
การคืนสินค้า
WEhave_NO_ERROR สําเร็จแล้ว WEhave_ERROR_KEY_NOT_FOUND หากไม่พบผลลัพธ์ที่สมเหตุสมผล

ออฟเซ็ตเขตเวลา

 TimeZoneUtcOffset()