nl

שינויי nlassert.h ספציפיים ל-Weave.

סיכום

ערכים של ספירה

@357 טיפוסים בני מנייה (enum)
@358 טיפוסים בני מנייה (enum)
@359 טיפוסים בני מנייה (enum)
@360 טיפוסים בני מנייה (enum)
@361 טיפוסים בני מנייה (enum)
SerializedFieldType{
  SerializedFieldTypeBoolean = 0x00,
  SerializedFieldTypeUInt8,
  SerializedFieldTypeUInt16,
  SerializedFieldTypeUInt32,
  SerializedFieldTypeUInt64,
  SerializedFieldTypeInt8,
  SerializedFieldTypeInt16,
  SerializedFieldTypeInt32,
  SerializedFieldTypeInt64,
  SerializedFieldTypeFloatingPoint32,
  SerializedFieldTypeFloatingPoint64,
  SerializedFieldTypeUTF8String,
  SerializedFieldTypeByteString,
  SerializedFieldTypeStructure,
  SerializedFieldTypeArray
}
טיפוסים בני מנייה (enum)
רשימה של סוגי TLV לכתיבה עם שדה TLV.
SerializedFieldTypeBits טיפוסים בני מנייה (enum)
שדה ביט של SeriesizedFieldType.
SerializedFieldTypeMasks טיפוסים בני מנייה (enum)
מסכות לגישה לביטים של SeriesizedFieldType.

Typedefs

Base64CharToValFunct)(uint8_t c) typedef
uint8_t(*
Base64ValToCharFunct)(uint8_t val) typedef
char(*
MemoryAllocate)(size_t size) typedef
void *(*
מצביעים להקצאת זיכרון/לפונקציות פנויות.
MemoryFree)(void *ptr) typedef
void(*
MemoryReallocate)(void *ptr, size_t size) typedef
void *(*

משתנים

sASN1ErrorFormatter = { nl::Weave::ASN1::FormatASN1Error, NULL }
sElementSize = { sizeof(bool), sizeof(uint8_t), sizeof(uint16_t), sizeof(uint32_t), sizeof(uint64_t), sizeof(int8_t), sizeof(int16_t), sizeof(int32_t), sizeof(int64_t), sizeof(float), sizeof(double), sizeof(char *), sizeof(SerializedByteString), sizeof(void *), sizeof(void *) }[]
const uint8_t
sErrorFormatterList = &sWeaveErrorFormatter
const ErrorFormatter *
רשימה מקושרת של פונקציות בפורמט שגיאה.
sErrorStr[WEAVE_CONFIG_ERROR_STR_SIZE]
char
מאגר נתונים זמני לצורך אחסון מחרוזת השגיאה בפורמט.
sErrorStr[1024]
char
התרחיש הזה מחזיר מחרוזת C שסומנה על ידי NULL, שאנשים יכולים לקרוא, ומתארים את קוד הסטטוס שסופק, המשויך לפרופיל שצוין.
sWeaveErrorFormatter = { nl::Weave::FormatWeaveError, &sASN1ErrorFormatter }

פונקציות

AdjustCalendarDate(uint16_t & year, uint8_t & month, uint8_t & dayOfMonth, int32_t relativeDays)
void
Base64CharToVal(uint8_t c)
uint8_t
Base64Decode(const char *in, uint16_t inLen, uint8_t *out, Base64CharToValFunct charToValFunct)
uint16_t
Base64Decode(const char *in, uint16_t inLen, uint8_t *out)
uint16_t
Base64Decode32(const char *in, uint32_t inLen, uint8_t *out, Base64CharToValFunct charToValFunct)
uint32_t
Base64Decode32(const char *in, uint32_t inLen, uint8_t *out)
uint32_t
Base64Encode(const uint8_t *in, uint16_t inLen, char *out, Base64ValToCharFunct valToCharFunct)
uint16_t
Base64Encode(const uint8_t *in, uint16_t inLen, char *out)
uint16_t
Base64Encode32(const uint8_t *in, uint32_t inLen, char *out, Base64ValToCharFunct valToCharFunct)
uint32_t
Base64Encode32(const uint8_t *in, uint32_t inLen, char *out)
uint32_t
Base64URLCharToVal(uint8_t c)
uint8_t
Base64URLDecode(const char *in, uint16_t inLen, uint8_t *out)
uint16_t
Base64URLEncode(const uint8_t *in, uint16_t inLen, char *out)
uint16_t
Base64URLValToChar(uint8_t val)
char
Base64ValToChar(uint8_t val)
char
CalendarDateToDaysSinceEpoch(uint16_t year, uint8_t month, uint8_t dayOfMonth, uint32_t & daysSinceEpoch)
bool
CalendarDateToOrdinalDate(uint16_t year, uint8_t month, uint8_t dayOfMonth, uint16_t & dayOfYear)
void
CalendarTimeToSecondsSinceEpoch(uint16_t year, uint8_t month, uint8_t dayOfMonth, uint8_t hour, uint8_t minute, uint8_t second, uint32_t & secondsSinceEpoch)
bool
ClearFlag(FlagsT & inFlags, const FlagT inFlag)
void
DateToManufacturingWeek(uint16_t year, uint8_t month, uint8_t day, uint16_t & mfgYear, uint8_t & mfgWeek)
void
DaysInMonth(uint16_t year, uint8_t month)
uint8_t
DaysSinceEpochToCalendarDate(uint32_t daysSinceEpoch, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth)
void
DaysToMarch1(uint16_t year)
uint8_t
DeallocateDeserializedStructure(void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors, SerializationContext *aContext)
ErrorStr(int32_t err)
NL_DLL_EXPORT const char *
התרחיש הזה מחזיר מחרוזת C שסומנה על ידי NULL, שאנשים יכולים לקרוא, ומתארת את השגיאה שסופקה.
ExtractManufacturingDateFromSerialNumber(const char *serialNum, uint16_t & year, uint8_t & month, uint8_t & day)
FindNullifiedFieldsArray(void *aStructureData, const SchemaFieldDescriptor *aSchemaDescriptor, uint8_t *& aNullifiedFields)
פונקציה מסייעת למצוא את המיקום של מערך השדות שבוטלו בסוף מבנה C.
FindStatusReportStr(uint32_t inProfileId, uint16_t inStatusCode)
const char *
FirstWeekdayOfYear(uint16_t year)
uint8_t
FormatError(char *buf, uint16_t bufSize, const char *subsys, int32_t err, const char *desc)
void
יוצרת מחרוזת C שמסתיימת ב-NULL, שבודק אנושי יכול לקרוא, ומתארת את השגיאה שסופקה.
GetArrayElementSize(uint32_t & aOutSize, const FieldDescriptor *aFieldPtr, SerializedFieldType aType)
GetFlag(const FlagsT & inFlags, const FlagT inFlag)
bool
IsBase34NoIOChar(char ch)
bool
IsLeapYear(uint16_t year)
bool
IsValidFieldType(SerializedFieldType aType)
bool
IsValidSerialNumber(const char *serialNum)
bool
LogEvent(TEvent *aEvent)
nl::Weave::Profiles::DataManagement::event_id_t
LogEvent(TEvent *aEvent, const nl::Weave::Profiles::DataManagement::EventOptions & aOptions)
nl::Weave::Profiles::DataManagement::event_id_t
ManufacturingWeekToDate(uint16_t mfgYear, uint8_t mfgWeek, uint16_t & year, uint8_t & month, uint8_t & day)
void
MarchBasedDayOfYearToMonth(uint16_t dayOfYear)
uint8_t
MarchBasedMonthToDayOfYear(uint8_t month)
uint16_t
NullifyAllEventFields(TEvent *aEvent)
void
OrdinalDateToCalendarDate(uint16_t year, uint16_t dayOfYear, uint8_t & month, uint8_t & dayOfMonth)
void
ReadDataForType(TLVReader & aReader, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aInArray, SerializationContext *aContext)
פונקציית קריאה לקריאת רשומה ספציפית מ-TLV על סמך נתוני מבנה.
ReadNullableDataForType(TLVReader & aReader, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool & aIsNullified, SerializationContext *aContext)
פונקציית קריאה שבודקת אם הנתונים יכולים להיות null או מבוטלים לפני קריאה מ-TLV.
RegisterErrorFormatter(ErrorFormatter *errFormatter)
NL_DLL_EXPORT void
מוסיפים פונקציה חדשה לעיצוב שגיאות לרשימה הגלובלית של הכלי לעיצוב שגיאות.
SecondsSinceEpochToCalendarTime(uint32_t secondsSinceEpoch, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth, uint8_t & hour, uint8_t & minute, uint8_t & second)
void
SerializedDataToTLVWriter(TLVWriter & aWriter, void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors)
פונקציית כתיבה שמאפשרת להמיר מבנה נתונים למבנה TLV.
SerializedDataToTLVWriterHelper(TLVWriter & aWriter, uint8_t aDataTag, void *aAppData)
פונקציית כתיבה של wrapper שמקיפה את ה-SeriesizedDataToTLVWriter באמצעות קונטיינר.
SetFlag(FlagsT & inFlags, const FlagT inFlag)
void
SetFlag(FlagsT & inFlags, const FlagT inFlag, const bool inValue)
void
StatusReportStr(uint32_t profileId, uint16_t statusCode)
const char *
TLVReaderToDeserializedData(nl::Weave::TLV::TLVReader & aReader, void *aStructureData, const SchemaFieldDescriptor *aFieldDescriptors, SerializationContext *aContext)
פונקציית קריאה להמרת TLV ל-C-struct.
TLVReaderToDeserializedDataHelper(nl::Weave::TLV::TLVReader & aReader, uint8_t aDataTag, void *aAppData, SerializationContext *aContext)
פונקציה מסייעת שמבצעת פעולת deserialization לרכיב נתונים יחיד של TLV.
WriteArrayData(TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *aFieldPtr)
פונקציית כתיבה שכותבת מבנה של מערך.
WriteDataForType(TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aInArray)
פונקציית כתיבה כותבת רשומה ספציפית ל-TLV על סמך נתוני מבנה.
WriteNullableDataForType(TLVWriter & aWriter, void *aStructureData, const FieldDescriptor *& aFieldPtr, SerializedFieldType aType, bool aIsNullified)
פונקציית כתיבה שבודקת אם הנתונים יכולים להיות null או מבוטלים לפני הכתיבה ב-TLV.
secondsToMilliseconds(uint32_t seconds)
uint32_t

מבנים

nl::ArrayLengthAndBuffer

כלי עזר לגלישת מערך לאורך.

nl::ErrorFormatter
nl::FieldDescriptor

מבנה שמתאר שדה TLV במבנה סכימה ומקשר אותו לנתונים במבנה c-struct.

nl::MemoryManagement

מבנה ג של פונקציות להקצאת זיכרון/לפינוי מקום.

nl::SchemaFieldDescriptor

גלישה במערך של FieldDescriptors כדי לתאר מבנה/מבנה של סכימה.

nl::SerializationContext

c-build שמכיל הקשר או מצב כלשהם שדרושים לנו ליצירת סריאליזציה או המרה (deserialize).

nl::SerializedByteString
nl::SerializedFieldTypeBoolean_array
nl::SerializedFieldTypeByteString_array
nl::SerializedFieldTypeFloatingPoint32_array
nl::SerializedFieldTypeFloatingPoint64_array
nl::SerializedFieldTypeInt16_array
nl::SerializedFieldTypeInt32_array
nl::SerializedFieldTypeInt64_array
nl::SerializedFieldTypeInt8_array
nl::SerializedFieldTypeUInt16_array
nl::SerializedFieldTypeUInt32_array
nl::SerializedFieldTypeUInt64_array
nl::SerializedFieldTypeUInt8_array
nl::SerializedFieldTypeUTF8String_array
nl::StructureSchemaPointerPair

שילוב של נתונים עם c-structor של נתונים ועם StructureSchemaDescriptor כדי לכתוב מבנה TLV על סמך הנתונים האלה.

מרחבי שמות

nl::ArgParser
nl::Ble

מרחב השמות הזה כולל את כל הממשקים של Weave ל-Bluetooth Low Energy (BLE), שמכונים Bluetooth Smart.

nl::Inet
nl::NestCerts

מרחב השמות הזה כולל סמלים גלובליים לאישורי תשתית של מפתחות ציבוריים של Nest Weave (PKI).

nl::PairingCode
nl::חם
nl::Weave

ערכים של ספירה

@357

 @357

@358

 @358

@359

 @359

@360

 @360

@361

 @361

SerializedFieldType

 SerializedFieldType

רשימה של סוגי TLV לכתיבה עם שדה TLV.

מאפיינים
SerializedFieldTypeArray

סוג המערך.

SerializedFieldTypeBoolean

סוג בוליאני.

SerializedFieldTypeByteString

סוג מחרוזת בייט.

SerializedFieldTypeFloatingPoint32

סוג הצף (float) של 32 ביט

SerializedFieldTypeFloatingPoint64

סוג הצף (float) של 64 ביט

SerializedFieldTypeInt16

סוג חתום ב-16 ביט.

SerializedFieldTypeInt32

סוג 32 ביט חתום.

SerializedFieldTypeInt64

סוג חתום של 64 ביט.

SerializedFieldTypeInt8

סוג 8 ביט חתום.

SerializedFieldTypeStructure

סוג המבנה שהוגדר על ידי המשתמש.

SerializedFieldTypeUInt16

סוג לא חתום של 16 ביט.

SerializedFieldTypeUInt32

סוג לא חתום של 32 סיביות.

SerializedFieldTypeUInt64

סוג לא חתום של 64 ביט.

SerializedFieldTypeUInt8

סוג לא חתום של 8 ביט.

SerializedFieldTypeUTF8String

סוג המחרוזת UTF-8.

SerializedFieldTypeBits

 SerializedFieldTypeBits

שדה ביט של SeriesizedFieldType.

SerializedFieldTypeMasks

 SerializedFieldTypeMasks

מסכות לגישה לביטים של SeriesizedFieldType.

Typedefs

Base64CharToValFunct

uint8_t(* Base64CharToValFunct)(uint8_t c)

Base64ValToCharFunct

char(* Base64ValToCharFunct)(uint8_t val)

MemoryAllocate

void *(* MemoryAllocate)(size_t size)

מצביעים להקצאת זיכרון/לפונקציות פנויות.

MemoryFree

void(* MemoryFree)(void *ptr)

MemoryReallocate

void *(* MemoryReallocate)(void *ptr, size_t size)

משתנים

sASN1ErrorFormatter

const ErrorFormatter sASN1ErrorFormatter =
{
    nl::Weave::ASN1::FormatASN1Error,
    NULL
}

sElementSize

const uint8_t sElementSize[] =
{
    sizeof(bool),                   
    sizeof(uint8_t),                
    sizeof(uint16_t),               
    sizeof(uint32_t),               
    sizeof(uint64_t),               
    sizeof(int8_t),                 
    sizeof(int16_t),                
    sizeof(int32_t),                
    sizeof(int64_t),                
    sizeof(float),                  
    sizeof(double),                 
    sizeof(char *),                 
    sizeof(SerializedByteString),   
    sizeof(void *),                 
    sizeof(void *)                  
}

sErrorFormatterList

const ErrorFormatter * sErrorFormatterList = &sWeaveErrorFormatter

רשימה מקושרת של פונקציות בפורמט שגיאה.

sErrorStr

char sErrorStr[WEAVE_CONFIG_ERROR_STR_SIZE]

מאגר נתונים זמני לצורך אחסון מחרוזת השגיאה בפורמט.

sErrorStr

char sErrorStr[1024]

התרחיש הזה מחזיר מחרוזת C שסומנה על ידי NULL, שאנשים יכולים לקרוא, ומתארים את קוד הסטטוס שסופק, המשויך לפרופיל שצוין.

פרטים
פרמטרים
[in] profileId
מזהה פרופיל Weave שמשויך ל- .
[in] statusCode
קוד הסטטוס ב-profileId שיש לספק בשבילו מחרוזת תיאורית.
החזרות
מצביע למחרוזת C עם סיום NULL, שמתאר את קוד הסטטוס שסופק בפרופיל שצוין.
למידע נוסף:
WEAVE_CONFIG_SHORT_ERROR_STR

sWeaveErrorFormatter

const ErrorFormatter sWeaveErrorFormatter =
{
    nl::Weave::FormatWeaveError,
    &sASN1ErrorFormatter
}

פונקציות

AdjustCalendarDate

void AdjustCalendarDate(
  uint16_t & year,
  uint8_t & month,
  uint8_t & dayOfMonth,
  int32_t relativeDays
)

בסיס 64CharToVal

uint8_t Base64CharToVal(
  uint8_t c
)

Base64Decode

uint16_t Base64Decode(
  const char *in,
  uint16_t inLen,
  uint8_t *out,
  Base64CharToValFunct charToValFunct
)

Base64Decode

uint16_t Base64Decode(
  const char *in,
  uint16_t inLen,
  uint8_t *out
)

Base64Decode32

uint32_t Base64Decode32(
  const char *in,
  uint32_t inLen,
  uint8_t *out,
  Base64CharToValFunct charToValFunct
)

Base64Decode32

uint32_t Base64Decode32(
  const char *in,
  uint32_t inLen,
  uint8_t *out
)

Base64Encode

uint16_t Base64Encode(
  const uint8_t *in,
  uint16_t inLen,
  char *out,
  Base64ValToCharFunct valToCharFunct
)

Base64Encode

uint16_t Base64Encode(
  const uint8_t *in,
  uint16_t inLen,
  char *out
)

Base64Encode32

uint32_t Base64Encode32(
  const uint8_t *in,
  uint32_t inLen,
  char *out,
  Base64ValToCharFunct valToCharFunct
)

Base64Encode32

uint32_t Base64Encode32(
  const uint8_t *in,
  uint32_t inLen,
  char *out
)

Base64URLCharToVal

uint8_t Base64URLCharToVal(
  uint8_t c
)

Base64URLDecode

uint16_t Base64URLDecode(
  const char *in,
  uint16_t inLen,
  uint8_t *out
)

Base64URLEncode

uint16_t Base64URLEncode(
  const uint8_t *in,
  uint16_t inLen,
  char *out
)

Base64URLValToChar

char Base64URLValToChar(
  uint8_t val
)

Base64ValToChar

char Base64ValToChar(
  uint8_t val
)

CalendarDateToDaysSinceEpoch

bool CalendarDateToDaysSinceEpoch(
  uint16_t year,
  uint8_t month,
  uint8_t dayOfMonth,
  uint32_t & daysSinceEpoch
)

CalendarDateToOrdinalDate

void CalendarDateToOrdinalDate(
  uint16_t year,
  uint8_t month,
  uint8_t dayOfMonth,
  uint16_t & dayOfYear
)

CalendarTimeToSecondsSinceEpoch

bool CalendarTimeToSecondsSinceEpoch(
  uint16_t year,
  uint8_t month,
  uint8_t dayOfMonth,
  uint8_t hour,
  uint8_t minute,
  uint8_t second,
  uint32_t & secondsSinceEpoch
)

ClearFlag

void ClearFlag(
  FlagsT & inFlags,
  const FlagT inFlag
)

DateToManufacturingWeek

void DateToManufacturingWeek(
  uint16_t year,
  uint8_t month,
  uint8_t day,
  uint16_t & mfgYear,
  uint8_t & mfgWeek
)

DaysInMonth

uint8_t DaysInMonth(
  uint16_t year,
  uint8_t month
)

DaysSinceEpochToCalendarDate

void DaysSinceEpochToCalendarDate(
  uint32_t daysSinceEpoch,
  uint16_t & year,
  uint8_t & month,
  uint8_t & dayOfMonth
)

DaysToMarch1

uint8_t DaysToMarch1(
  uint16_t year
)

DeallocateDeserializedStructure

WEAVE_ERROR DeallocateDeserializedStructure(
  void *aStructureData,
  const SchemaFieldDescriptor *aFieldDescriptors,
  SerializationContext *aContext
)

ErrorStr

NL_DLL_EXPORT const char * ErrorStr(
  int32_t err
)

התרחיש הזה מחזיר מחרוזת C שסומנה על ידי NULL, שאנשים יכולים לקרוא, ומתארת את השגיאה שסופקה.

פרטים
פרמטרים
[in] err
שגיאה לגבי פורמט ותיאור.
החזרות
מצביע למחרוזת C שמסתיימת ב-NULL, שמתאר את השגיאה שסופקה.

ExtractManufacturingDateFromSerialNumber

WEAVE_ERROR ExtractManufacturingDateFromSerialNumber(
  const char *serialNum,
  uint16_t & year,
  uint8_t & month,
  uint8_t & day
)

FindNullifiedFieldsArray

WEAVE_ERROR FindNullifiedFieldsArray(
  void *aStructureData,
  const SchemaFieldDescriptor *aSchemaDescriptor,
  uint8_t *& aNullifiedFields
)

פונקציה מסייעת למצוא את המיקום של מערך השדות שבוטלו בסוף מבנה C.

האיבר nullified_fields במבנה C אמור להיות ימוקם מיד אחרי האיבר האחרון שתואר על ידי המערך של FieldDescriptors. הוא לא מופיע ברשימת תיאורי השדות, כי הוא נועד לשמש ככלי נסתר ליוצרים ולצרכנים של אירועים שהם null. איבר ה-Build הזה לא קיים עבור אירועים שאין בהם שדות שאינם ניתנים לביטול, אבל על-ידי יצירה של מקבעים וקצרים, לא אמורה להתבצע גישה מחוץ לתחום.

פרטים
פרמטרים
[in] aStructureData
מצביע ל-c-struct.
[in] aSchemaDescriptor
SchemaFieldDescriptors כדי לתאר את ה-c struct.
[out] aNullifiedFields
מצביע אל הרכיב nullified_fields ב-c struct.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
WEAVE_ERROR_INVALID_ARGUMENT
אם הסמן של מתאר השדה הוא NULL.
WEAVE_ERROR_INCORRECT_STATE
אם הפורמט של תיאורי השדות לא תואם לציפיות.

FindStatusReportStr

const char * FindStatusReportStr(
  uint32_t inProfileId,
  uint16_t inStatusCode
)

FirstWeekdayOfYear

uint8_t FirstWeekdayOfYear(
  uint16_t year
)

FormatError

void FormatError(
  char *buf,
  uint16_t bufSize,
  const char *subsys,
  int32_t err,
  const char *desc
)

יוצרת מחרוזת C שמסתיימת ב-NULL, שקריאה לאנשים ומתארת את השגיאה שסופקה.

פרטים
פרמטרים
[in] buf
מאגר נתונים זמני שבו תמוקם מחרוזת השגיאה.
[in] bufSize
גודל המאגר שסופק בבייטים.
[in] subsys
מחרוזת קצרה שמתארת את מערכת המשנה שייצרה את השגיאה, או NULL אם מקור השגיאה לא ידוע/לא זמין. המחרוזת צריכה להיות באורך 10 תווים לכל היותר.
[in] err
השגיאה שצריך לעצב.
[in] desc
מחרוזת שמתארת את הסיבה או המשמעות של השגיאה, או NULL אם אין מידע כזה.

GetArrayElementSize

WEAVE_ERROR GetArrayElementSize(
  uint32_t & aOutSize,
  const FieldDescriptor *aFieldPtr,
  SerializedFieldType aType
)

GetFlag

bool GetFlag(
  const FlagsT & inFlags,
  const FlagT inFlag
)

IsBase34NoIOChar

bool IsBase34NoIOChar(
  char ch
)

IsLeapYear

bool IsLeapYear(
  uint16_t year
)

IsValidFieldType

bool IsValidFieldType(
  SerializedFieldType aType
)

IsValidSerialNumber

bool IsValidSerialNumber(
  const char *serialNum
)

LogEvent

nl::Weave::Profiles::DataManagement::event_id_t LogEvent(
  TEvent *aEvent
)

LogEvent

nl::Weave::Profiles::DataManagement::event_id_t LogEvent(
  TEvent *aEvent,
  const nl::Weave::Profiles::DataManagement::EventOptions & aOptions
)

ManufacturingWeekToDate

void ManufacturingWeekToDate(
  uint16_t mfgYear,
  uint8_t mfgWeek,
  uint16_t & year,
  uint8_t & month,
  uint8_t & day
)

MarchBasedDayOfYearToMonth

uint8_t MarchBasedDayOfYearToMonth(
  uint16_t dayOfYear
)

MarchBasedMonthToDayOfYear

uint16_t MarchBasedMonthToDayOfYear(
  uint8_t month
)

NullifyAllEventFields

void NullifyAllEventFields(
  TEvent *aEvent
)

OrdinalDateToCalendarDate

void OrdinalDateToCalendarDate(
  uint16_t year,
  uint16_t dayOfYear,
  uint8_t & month,
  uint8_t & dayOfMonth
)

ReadDataForType

WEAVE_ERROR ReadDataForType(
  TLVReader & aReader,
  void *aStructureData,
  const FieldDescriptor *& aFieldPtr,
  SerializedFieldType aType,
  bool aInArray,
  SerializationContext *aContext
)

פונקציית קריאה לקריאת רשומה ספציפית מ-TLV על סמך נתוני מבנה.

פרטים
פרמטרים
[in] aReader
הקורא לשימוש בקריאה במבנה
[in] aStructureData
מצביע לנתונים של ה-c-structure לקריאה
[in,out] aFieldPtr
FieldDescriptor לתיאור השדות ותג ה-TLV. הפונקציה תגדיל את מספר הסמן s.t. היא תצביע לאלמנט הבא במערך FieldDescritor
[in] aType
הערך SeriesizedFieldType של השדה.
[in] aInArray
True אם אנחנו קוראים מערך (משתמשים בתג אנונימי)
[in] aContext
הקשר של עריכה בהמשכים שכולל את כל המצבים הנדרשים לפעולה.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות אחרות שהוחזרו מה-aReader.

ReadNullableDataForType

WEAVE_ERROR ReadNullableDataForType(
  TLVReader & aReader,
  void *aStructureData,
  const FieldDescriptor *& aFieldPtr,
  SerializedFieldType aType,
  bool & aIsNullified,
  SerializationContext *aContext
)

פונקציית קריאה שבודקת אם הנתונים יכולים להיות null או מבוטלים לפני קריאה מ-TLV.

פרטים
פרמטרים
[in] aReader
הקורא לשימוש בקריאה במבנה
[in] aStructureData
מצביע לנתונים של ה-c-structure לקריאה
[in,out] aFieldPtr
FieldDescriptor לתיאור השדות ותג ה-TLV. הפונקציה תגדיל את מספר הסמן s.t. היא תצביע לאלמנט הבא במערך FieldDescriptor
[in] aType
הערך SeriesizedFieldType של השדה.
[out] aIsNullified
הגדרה שמציינת ששדה מסוים מתבטל.
[in] aContext
הקשר של עריכה בהמשכים שכולל את כל המצבים הנדרשים לפעולה.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות TLV בזמן הכתיבה.

RegisterErrorFormatter

NL_DLL_EXPORT void RegisterErrorFormatter(
  ErrorFormatter *errFormatter
)

מוסיפים פונקציה חדשה לעיצוב שגיאות לרשימה הגלובלית של הכלי לעיצוב שגיאות.

פרטים
פרמטרים
[in] errFormatter
מבנה מסוג ErrorFormatter שמכיל מצביע לפונקציית השגיאה החדשה. חשוב לשים לב שהסמן של המבנה ErrorFormatter שסופק יישמר על ידי הפונקציה. לכן הזיכרון של המבנה חייב להישאר שמור.

SecondsSinceEpochToCalendarTime

void SecondsSinceEpochToCalendarTime(
  uint32_t secondsSinceEpoch,
  uint16_t & year,
  uint8_t & month,
  uint8_t & dayOfMonth,
  uint8_t & hour,
  uint8_t & minute,
  uint8_t & second
)

SerializedDataToTLVWriter

WEAVE_ERROR SerializedDataToTLVWriter(
  TLVWriter & aWriter,
  void *aStructureData,
  const SchemaFieldDescriptor *aFieldDescriptors
)

פונקציית כתיבה שמאפשרת להמיר מבנה נתונים למבנה TLV.

משתמשים ב-SchemaFieldDescriptor כדי לפרש את מבנה הנתונים ולכתוב ב-TLV.

פרטים
פרמטרים
[in] aWriter
הכותב שבו צריך להשתמש כדי לכתוב את המבנה
[in] aStructureData
מצביע על הנתונים של ה-c-structure שיש לכתוב על סמך SchemaFieldDescriptor
[in] aFieldDescriptors
SchemaFieldDescriptors לתיאור של c struct ו-TLV
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות אחרות שהוחזרו מה-aWriter.

SerializedDataToTLVWriterHelper

WEAVE_ERROR SerializedDataToTLVWriterHelper(
  TLVWriter & aWriter,
  uint8_t aDataTag,
  void *aAppData
)

פונקציית כתיבה של wrapper שמקיפה את SeriesizedDataToTLVWriter באמצעות קונטיינר.

בנוסף, ניתן לפצל StructureSchemaPointerPair לנתוני מבנה ולתארים להעברה.

פרטים
פרמטרים
[in] aWriter
הכותב שבו צריך להשתמש כדי לכתוב את המבנה
[in] aDataTag
תיוג לכתיבה
[in] aAppData
StructureSchemaPointerPair שמכילה מצביע למבנה נתונים ומתארי שדות. מבוטל* עקב אב הטיפוס
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות אחרות שהוחזרו מה-aWriter.

SetFlag

void SetFlag(
  FlagsT & inFlags,
  const FlagT inFlag
)

SetFlag

void SetFlag(
  FlagsT & inFlags,
  const FlagT inFlag,
  const bool inValue
)

StatusReportStr

const char * StatusReportStr(
  uint32_t profileId,
  uint16_t statusCode
)

TLVReaderToDeserializedData

WEAVE_ERROR TLVReaderToDeserializedData(
  nl::Weave::TLV::TLVReader & aReader,
  void *aStructureData,
  const SchemaFieldDescriptor *aFieldDescriptors,
  SerializationContext *aContext
)

פונקציית קריאה להמרת TLV ל-C-struct.

נעשה שימוש ב-SchemaFieldDescriptor כדי לפרש את מבנה הנתונים.

הוא צריך להיות חזק גם לקידוד שדות לא ידועים וגם כדי לא להיתקל בשדה צפוי.

פרטים
פרמטרים
[in] aReader
הקורא לשימוש בקריאה בנתונים
[in] aStructureData
מצביע אל הנתונים של מבנה c היעד שבו נקרא על סמך SchemaFieldDescriptor.
[in] aFieldDescriptors
SchemaFieldDescriptors לתיאור של c struct ו-TLV
[in] aContext
הקשר של עריכה בהמשכים שכולל את כל המצבים הנדרשים לפעולה.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות אחרות שעשויות לחזור מ-aReader.

TLVReaderToDeserializedDataHelper

WEAVE_ERROR TLVReaderToDeserializedDataHelper(
  nl::Weave::TLV::TLVReader & aReader,
  uint8_t aDataTag,
  void *aAppData,
  SerializationContext *aContext
)

פונקציה תומכת שמבצעת פעולת deserialization לרכיב נתונים יחיד של TLV.

הפונקציה מפצלת את StructureSchemaPointerPair לנתוני מבנה ולמתארים, כדי לעבור אל ReadDataForType.

פרטים
פרמטרים
[in] aReader
הקורא שמכיל את הנתונים שמיועדים להמרה
[in] aDataTag
לא נעשה שימוש כרגע
[in] aAppData
StructureSchemaPointerPair שמכילה מצביע למבנה נתונים ומתארי שדות. מבוטל* עקב אב הטיפוס
[in] aContext
הקשר של עריכה בהמשכים שכולל את כל המצבים הנדרשים לפעולה.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות אחרות שהוחזרו מה-aReader.

WriteArrayData

WEAVE_ERROR WriteArrayData(
  TLVWriter & aWriter,
  void *aStructureData,
  const FieldDescriptor *aFieldPtr
)

פונקציית כתיבה שכותבת מבנה של מערך.

פרטים
פרמטרים
[in] aWriter
הכותב שבו צריך להשתמש כדי לכתוב את המבנה
[in] aStructureData
מצביע על הנתונים של ה-c-structor שצריך לכתוב על סמך FieldDescriptor.
[in] aFieldPtr
FieldDescriptor לתיאור המערך c struct ו-TLV
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות אחרות שהוחזרו מה-aWriter.

WriteDataForType

WEAVE_ERROR WriteDataForType(
  TLVWriter & aWriter,
  void *aStructureData,
  const FieldDescriptor *& aFieldPtr,
  SerializedFieldType aType,
  bool aInArray
)

פונקציית כתיבה כותבת רשומה ספציפית ל-TLV על סמך נתוני מבנה.

פרטים
פרמטרים
[in] aWriter
הכותב שבו צריך להשתמש כדי לכתוב את המבנה
[in] aStructureData
מצביע לנתונים של מבנה ה-c לכתיבה
[in,out] aFieldPtr
FieldDescriptor לתיאור השדות ותג ה-TLV. הפונקציה תגדיל את מספר הסמן s.t. היא תצביע לאלמנט הבא במערך FieldDescritor
[in] aType
הערך SeriesizedFieldType של השדה.
[in] aInArray
True אם אנחנו כותבים מערך (משתמשים בתג אנונימי)
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות אחרות שהוחזרו מה-aWriter.

WriteNullableDataForType

WEAVE_ERROR WriteNullableDataForType(
  TLVWriter & aWriter,
  void *aStructureData,
  const FieldDescriptor *& aFieldPtr,
  SerializedFieldType aType,
  bool aIsNullified
)

פונקציית כתיבה שבודקת אם הנתונים יכולים להיות null או מבוטלים לפני הכתיבה ב-TLV.

פרטים
פרמטרים
[in] aWriter
הכותב שבו צריך להשתמש כדי לכתוב את המבנה
[in] aStructureData
מצביע לנתונים של ה-c-structure לקריאה
[in,out] aFieldPtr
FieldDescriptor לתיאור השדות ותג ה-TLV. הפונקציה תגדיל את מספר הסמן s.t. היא תצביע לאלמנט הבא במערך FieldDescriptor
[in] aType
הערך SeriesizedFieldType של השדה.
[in] aIsNullified
אם זה נכון, תג TLV יבוטל.
מוחזר ערכים
WEAVE_NO_ERROR
הצלחה.
other
שגיאות TLV בזמן הכתיבה.

secondsToMilliseconds

uint32_t secondsToMilliseconds(
  uint32_t seconds
)