Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl

Weave 固有の nlassert.h オーバーライド。

まとめ

列挙型

@357 列挙型
@358 列挙型
@359 列挙型
@360 列挙型
@361 列挙型
SerializedFieldType{
  SerializedFieldTypeBoolean = 0x00,
  SerializedFieldTypeUInt8,
  SerializedFieldTypeUInt16,
  SerializedFieldTypeUInt32,
  SerializedFieldTypeUInt64,
  SerializedFieldTypeInt8,
  SerializedFieldTypeInt16,
  SerializedFieldTypeInt32,
  SerializedFieldTypeInt64,
  SerializedFieldTypeFloatingPoint32,
  SerializedFieldTypeFloatingPoint64,
  SerializedFieldTypeUTF8String,
  SerializedFieldTypeByteString,
  SerializedFieldTypeStructure,
  SerializedFieldTypeArray
}
列挙型
TLV フィールドを使用して書き込む TLV タイプのリスト。
SerializedFieldTypeBits 列挙型
SerializedFieldType のビットフィールド。
SerializedFieldTypeMasks 列挙型
SerializedFieldType のビットにアクセスするためのマスク。

Typedef

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 *(*

Variables

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
このルーチンは、指定されたプロファイルに関連付けられたステータス コードを記述する、人間が読める形式の NULL で終わる C 文字列を返します。
sWeaveErrorFormatter = { nl::Weave::FormatWeaveError, &sASN1ErrorFormatter }

Functions

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 *
このルーチンは、指定されたエラーを記述した、人間が読める NULL で終わる C 文字列を返します。
ExtractManufacturingDateFromSerialNumber(const char *serialNum, uint16_t & year, uint8_t & month, uint8_t & day)
FindNullifiedFieldsArray(void *aStructureData, const SchemaFieldDescriptor *aSchemaDescriptor, uint8_t *& aNullifiedFields)
C 構造体の末尾にある null 値フィールド配列の場所を見つけるヘルパー関数。
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
指定されたエラーを記述する、人間が読める NULL で終わる C 文字列を生成します。
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)
TLV から読み取る前にデータが null 値許容または null 値かどうかを確認するリーダー関数。
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)
SerializedDataToTLVWriter をコンテナで囲むラッパーライター関数。
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 構造体に変換するリーダー関数。
TLVReaderToDeserializedDataHelper(nl::Weave::TLV::TLVReader & aReader, uint8_t aDataTag, void *aAppData, SerializationContext *aContext)
単一の 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)
TLV に書き込む前に、データが null 値許容または null 値許容かどうかを確認するライター関数。
secondsToMilliseconds(uint32_t seconds)
uint32_t

構造体

nl::ArrayLengthAndBuffer

配列を長さでラップするためのヘルパー。

nl::ErrorFormatter
nl::FieldDescriptor

スキーマ構造の TLV フィールドを記述して c 構造体のデータに関連付ける構造体。

nl::MemoryManagement

メモリ割り当て/フリー関数の c 構造体。

nl::SchemaFieldDescriptor

スキーマ記述子/構造を記述する FieldDescriptors の配列のラッパー。

nl::SerializationContext

シリアル化またはシリアル化解除に必要なコンテキストまたは状態を含む c 構造体。

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 構造体と StructureSchemaDescriptor をペアとして、そのデータに基づいて TLV 構造を書き込みます。

Namespace

nl::ArgParser
nl::Ble

この名前空間には、Bluetooth Low Energy(BLE)向けの Weave 内のすべてのインターフェースが含まれています。Bluetooth Smart とも呼ばれます。

nl::Inet
nl::NestCert

この名前空間には、Nest Weave 公開鍵基盤(PKI)証明書のグローバル シンボルが含まれます。

nl::PairingCode
nl::ウォーム
nl::Weave

列挙型

357

 @357

358

 @358

359

 @359

360

 @360

361

 @361

SerializedFieldType

 SerializedFieldType

TLV フィールドを使用して書き込む TLV タイプのリスト。

Properties
SerializedFieldTypeArray

配列型。

SerializedFieldTypeBoolean

ブール値。

SerializedFieldTypeByteString

バイト文字列型。

SerializedFieldTypeFloatingPoint32

32 ビット浮動小数点型

SerializedFieldTypeFloatingPoint64

64 ビット浮動小数点型

SerializedFieldTypeInt16

符号付き 16 ビット型。

SerializedFieldTypeInt32

符号付き 32 ビット型。

SerializedFieldTypeInt64

符号付き 64 ビット型。

SerializedFieldTypeInt8

符号付き 8 ビット型。

SerializedFieldTypeStructure

ユーザー定義の構造タイプ。

SerializedFieldTypeUInt16

符号なし 16 ビット型。

SerializedFieldTypeUInt32

32 ビット符号なし型。

SerializedFieldTypeUInt64

64 ビット符号なし型。

SerializedFieldTypeUInt8

符号なし 8 ビット型。

SerializedFieldTypeUTF8String

UTF-8 文字列型。

SerializedFieldTypeBits

 SerializedFieldTypeBits

SerializedFieldType のビットフィールド。

SerializedFieldTypeMasks

 SerializedFieldTypeMasks

SerializedFieldType のビットにアクセスするためのマスク。

Typedef

Base64CharToValFunct

uint8_t(* Base64CharToValFunct)(uint8_t c)

Base64ValToCharFunct

char(* Base64ValToCharFunct)(uint8_t val)

メモリ割り当て

void *(* MemoryAllocate)(size_t size)

メモリ割り当て/空き関数ポインタ

メモリの空き容量なし

void(* MemoryFree)(void *ptr)

メモリの再割り当て

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

Variables

sASN1ErrorFormatter(英語)

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

要素サイズ

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]

このルーチンは、指定されたプロファイルに関連付けられたステータス コードを記述する、人間が読める形式の NULL で終わる C 文字列を返します。

詳細
パラメータ
[in] profileId
に関連付けられた Weave プロファイル ID。
[in] statusCode
profileId ステータス コード。説明的な文字列を提供します。
戻り値
指定されたプロファイル内で指定されたステータス コードを表す、NULL で終わる C 文字列へのポインタ。
関連情報:
WEAVE_CONFIG_SHORT_ERROR_STR

sWeaveErrorFormatter(英語)

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

Functions

AdjustDate

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

Base64CharToVal

uint8_t Base64CharToVal(
  uint8_t c
)

Base64 デコード

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

Base64 デコード

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
)

Base64 エンコード

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

Base64 エンコード

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
)

CalendarDateToDaysUntilEpoch

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
)

カレンダーの時間秒単位のエポック

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

フラグ

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
)

月間日数

uint8_t DaysInMonth(
  uint16_t year,
  uint8_t month
)

経過日数(エポックカレンダー日)

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

3 月 1 日

uint8_t DaysToMarch1(
  uint16_t year
)

DeassignDeserializedStructure

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

エラー

NL_DLL_EXPORT const char * ErrorStr(
  int32_t err
)

このルーチンは、指定されたエラーを記述した、人間が読める NULL で終わる C 文字列を返します。

詳細
パラメータ
[in] err
形式と説明のエラー。
戻り値
指定されたエラーを説明する、NULL で終わる C 文字列へのポインタ。

ExtractManufacturingDateFrom シリアル番号

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

FindNullifiedFieldArray

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

C 構造体の末尾にある null 値フィールド配列の場所を見つけるヘルパー関数。

C 構造体の nullified_fields メンバーは、FieldDescriptors の配列によって記述された最後のメンバーの直後に配置されます。フィールド記述子のリストには含まれていません。これは、null 値を許容するイベントの作成者と利用者にとっての隠されたユーティリティであるためです。この構造体メンバーは、null 値を許容するフィールドがないイベントには存在しませんが、セッターとゲッターを構築することで、範囲外のアクセスが発生することはありません。

詳細
パラメータ
[in] aStructureData
c 構造体へのポインタ。
[in] aSchemaDescriptor
c 構造体を記述する SchemaFieldDescriptors。
[out] aNullifiedFields
c 構造体の nullified_fields メンバーへのポインタ。
戻り値
WEAVE_NO_ERROR
成功
WEAVE_ERROR_INVALID_ARGUMENT
フィールド記述子ポインタが NULL の場合。
WEAVE_ERROR_INCORRECT_STATE
フィールド記述子の形式が想定と異なる。

FindStatusReportStr

const char * FindStatusReportStr(
  uint32_t inProfileId,
  uint16_t inStatusCode
)

初年度の平日

uint8_t FirstWeekdayOfYear(
  uint16_t year
)

FormatError

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

指定されたエラーを記述する、人間が読める NULL で終わる C 文字列を生成します。

詳細
パラメータ
[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
)

イスリープ年

bool IsLeapYear(
  uint16_t year
)

IsValidFieldType(有効)

bool IsValidFieldType(
  SerializedFieldType aType
)

IsValid シリアル番号

bool IsValidSerialNumber(
  const char *serialNum
)

ログイベント

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

ログイベント

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
)

3 月 1 日

uint8_t MarchBasedDayOfYearToMonth(
  uint16_t dayOfYear
)

3 月 30 日~ 12 月

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 構造体データへのポインタ
[in,out] aFieldPtr
フィールドと TLV タグを記述する FieldDescriptor。この関数は、ポインタ .t を増分します。FieldDescritor 配列の次の要素を指します。
[in] aType
フィールドの SerializedFieldType
[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
)

TLV から読み取る前にデータが null 値許容または null 値かどうかを確認するリーダー関数。

詳細
パラメータ
[in] aReader
構造内の読み取りに使用するリーダー
[in] aStructureData
読み取る c 構造体データへのポインタ
[in,out] aFieldPtr
フィールドと TLV タグを記述する FieldDescriptor。この関数はポインタを増分します。.FieldDescriptor 配列内の次の要素を指します。
[in] aType
フィールドの SerializedFieldType
[out] aIsNullified
フィールドが null であることを示すために設定します。
[in] aContext
オペレーションに必要な状態を含むシリアル化コンテキスト。
戻り値
WEAVE_NO_ERROR
成功
other
書き込み中に TLV エラーが発生する。

RegisterErrorFormatter

NL_DLL_EXPORT void RegisterErrorFormatter(
  ErrorFormatter *errFormatter
)

エラー フォーマッタのグローバル リストに新しいエラー フォーマッタ関数を追加しました。

詳細
パラメータ
[in] errFormatter
新しいエラー関数へのポインタを含む ErrorFormatter 構造体。指定された ErrorFormatter 構造体へのポインタは関数によって保持されます。したがって、構造体のメモリは予約されたままにする必要があります。

SecondsAfterEpochToCalendarTime

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
SchemaFieldDescriptor に基づいて書き込みを行う c 構造体データへのポインタ
[in] aFieldDescriptors
cSTRUCT と TLV を記述する SchemaFieldDescriptors
戻り値
WEAVE_NO_ERROR
成功
other
その他のエラーは aWriter から返されます。

SerializedDataToTLVWriterHelper

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

SerializedDataToTLVWriter をコンテナで囲むラッパーライター関数。

また、StructureSchemaPointerPair を、構造データと記述子に分割して、渡します。

詳細
パラメータ
[in] aWriter
構造の書き出しに使用するライター
[in] aDataTag
書き込み対象のタグ
[in] aAppData
構造体とフィールド記述子へのポインタを含む StructureSchemaPointerPair。プロトタイプのため、void* です。
戻り値
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 構造体に変換するリーダー関数。

SchemaFieldDescriptor を使用して、データ構造を解釈します。

不明なフィールドの指定にも、想定されたフィールドが検出されない場合にも対応できる堅牢性を確保する必要があります。

詳細
パラメータ
[in] aReader
データの読み取りに使用するリーダー
[in] aStructureData
SchemaFieldDescriptor に基づいて読み取る先の c 構造データへのポインタ
[in] aFieldDescriptors
cSTRUCT と TLV を記述する SchemaFieldDescriptors
[in] aContext
オペレーションに必要な状態を含むシリアル化コンテキスト。
戻り値
WEAVE_NO_ERROR
成功
other
aReader から返される可能性のあるその他のエラー。

TLVReaderToDeserializedDataHelper

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

単一の TLV データ要素を逆シリアル化するヘルパー関数。

この関数は、StructureSchemaPointerPair を構造化データと記述子に分割し、ReadDataForType に渡します。

詳細
パラメータ
[in] aReader
シリアル化解除されるデータを含むリーダー
[in] aDataTag
現時点では使用していません
[in] aAppData
構造体とフィールド記述子へのポインタを含む StructureSchemaPointerPair。プロトタイプのため、void* です。
[in] aContext
オペレーションに必要な状態を含むシリアル化コンテキスト。
戻り値
WEAVE_NO_ERROR
成功
other
その他のエラーは aReader から返されます。

WriteArrayData

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

配列構造を書き込む書き込み関数。

詳細
パラメータ
[in] aWriter
構造の書き出しに使用するライター
[in] aStructureData
FieldDescriptor に基づいて書き込みを行う c 構造体データへのポインタ
[in] aFieldPtr
FieldDescriptor - 配列の c 構造体と 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
フィールドと TLV タグを記述する FieldDescriptor。この関数は、ポインタ .t を増分します。FieldDescritor 配列の次の要素を指します。
[in] aType
フィールドの SerializedFieldType
[in] aInArray
配列を作成している場合は True(匿名タグを使用)
戻り値
WEAVE_NO_ERROR
成功
other
その他のエラーは aWriter から返されます。

WriteNullableDataForType の使用

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

TLV に書き込む前に、データが null 値許容または null 値許容かどうかを確認するライター関数。

詳細
パラメータ
[in] aWriter
構造の書き出しに使用するライター
[in] aStructureData
読み取る c 構造体データへのポインタ
[in,out] aFieldPtr
フィールドと TLV タグを記述する FieldDescriptor。この関数はポインタを増分します。.FieldDescriptor 配列内の次の要素を指します。
[in] aType
フィールドの SerializedFieldType
[in] aIsNullified
true の場合、TLV タグは無効になります。
戻り値
WEAVE_NO_ERROR
成功
other
書き込み中に TLV エラーが発生する。

秒とミリ秒

uint32_t secondsToMilliseconds(
  uint32_t seconds
)