нл:: Переплетение:: Профили:: Сетевое обеспечение:: Информация о сети

#include <src/lib/profiles/network-provisioning/NetworkInfo.h>

Служебный класс для сериализации и десериализации полезных данных, передаваемых через профиль NetworkProvisioning : он инкапсулирует информацию, относящуюся к обнаружению и настройке сетей.

Краткое содержание

Класс полагается на промежуточное хранилище информации о предоставлении сети (промежуточное между конечным хранилищем информации и полезной нагрузкой сети) и использует динамическое управление памятью, чтобы обеспечить гибкое время выполнения результирующего объекта. По существу, этот класс не подходит для наиболее ограниченных сред, но может использоваться в более крупных системах.

Конструкторы и деструкторы

NetworkInfo ()
~NetworkInfo ()

Публичные типы

@210 перечисление
@211 перечисление

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

Hidden
bool
Скрытая сеть или нет.
NetworkId
int64_t
Идентификатор сети, присвоенный сети устройством, -1, если не указан.
NetworkType
Тип сети.
ThreadChannel
uint8_t
Текущий канал (в настоящее время [11..26]), на котором работает сеть потоков, или kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
Расширенный идентификатор PAN потока.
ThreadNetworkKey
uint8_t *
Сетевой ключ мастера потока или NULL, если не указан.
ThreadNetworkName
char *
Имя сети потоков или NULL, если не указано.
ThreadPANId
uint32_t
16-битный идентификатор PAN потока или kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Предварительный общий ключ потока для комиссара или NULL, если не указан.
WiFiKey
uint8_t *
Ключ WiFi или NULL, если не указан.
WiFiKeyLen
uint32_t
Длина ключа WiFi в байтах.
WiFiMode
Режим работы сети WiFi.
WiFiRole
Роль, которую играет устройство в сети Wi-Fi.
WiFiSSID
char *
SSID WiFi или NULL, если не указано.
WiFiSecurityType
Тип безопасности Wi-Fi.
WirelessSignalStrength
int16_t
Уровень сигнала сети или INT16_MIN, если он недоступен/применимо.

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

Clear (void)
void
Восстановите значения по умолчанию и освободите все значения в этом объекте NetworkInfo .
CopyTo ( NetworkInfo & dest)
Замените содержимое этого объекта NetworkInfo глубокой копией содержимого аргумента.
Decode ( nl::Weave::TLV::TLVReader & reader)
Десериализуйте содержимое этого объекта NetworkInfo из его представления TLV .
Encode ( nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Сериализуйте содержимое этого объекта NetworkInfo в его представление TLV .
MergeTo ( NetworkInfo & dest)
Объедините содержимое этого объекта NetworkInfo с глубокой копией содержимого аргумента.

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

DecodeList ( nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Десериализовать список элементов NetworkInfo из его представления TLV .
EncodeList ( nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Сериализуйте массив объектов NetworkInfo в его представление TLV .
EncodeList ( nl::Weave::TLV::TLVWriter & writer, uint16_t arrayLen, const NetworkInfo *elemArray, :: nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType, uint8_t encodeFlags, uint16_t & encodedElemCount)
Сериализуйте массив объектов NetworkInfo в его представление TLV , выбирая только сети определенного типа.

Публичные типы

@210

 @210

@211

 @211

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

Скрытый

bool Hidden

Скрытая сеть или нет.

идентификатор сети

int64_t NetworkId

Идентификатор сети, присвоенный сети устройством, -1, если не указан.

Тип сети

::nl::Weave::Profiles::NetworkProvisioning::NetworkType NetworkType

Тип сети.

Канал потока

uint8_t ThreadChannel

Текущий канал (в настоящее время [11..26]), на котором работает сеть потоков, или kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Расширенный идентификатор PAN потока.

Это динамически выделяемый массив из 8 октетов, принадлежащий классу. Уничтожается при любом условии, вызывающем Clear() для объекта.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Сетевой ключ мастера потока или NULL, если не указан.

Это динамически выделяемый массив произвольных октетов, принадлежащий классу Destroyed при любом условии, вызывающем Clear() для объекта.

имя сети потока

char * ThreadNetworkName

Имя сети потоков или NULL, если не указано.

Это динамически выделяемая строка C, завершающаяся NUL, принадлежащая классу. Уничтожается при любом условии, вызывающем Clear() для объекта.

ThreadPANId

uint32_t ThreadPANId

16-битный идентификатор PAN потока или kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

Предварительный общий ключ потока для комиссара или NULL, если не указан.

Это динамически выделяемый массив произвольных октетов, принадлежащий классу Destroyed при любом условии, вызывающем Clear() для объекта.

WiFiКлюч

uint8_t * WiFiKey

Ключ WiFi или NULL, если не указан.

Это динамически выделяемый массив произвольных октетов, принадлежащий классу, длина которого указана WiFiKeyLen . Уничтожается при любом условии, вызывающем Clear() для объекта.

WiFiKeyLen

uint32_t WiFiKeyLen

Длина ключа WiFi в байтах.

Режим Wi-Fi

::nl::Weave::Profiles::NetworkProvisioning::WiFiMode WiFiMode

Режим работы сети WiFi.

Роль Wi-Fi

::nl::Weave::Profiles::NetworkProvisioning::WiFiRole WiFiRole

Роль, которую играет устройство в сети Wi-Fi.

Wi-FiSSID

char * WiFiSSID

SSID Wi-Fi или NULL, если не указано.

Это динамически выделяемая строка C, завершающаяся NUL, принадлежащая классу. Уничтожается при любом условии, вызывающем Clear() для объекта.

Тип безопасности WiFi

::nl::Weave::Profiles::NetworkProvisioning::WiFiSecurityType WiFiSecurityType

Тип безопасности Wi-Fi.

Беспроводная связьСигналСила

int16_t WirelessSignalStrength

Уровень сигнала сети или INT16_MIN, если он недоступен/применимо.

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

Прозрачный

void Clear(
  void
)

Восстановите значения по умолчанию и освободите все значения в этом объекте NetworkInfo .

КопироватьТо

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Замените содержимое этого объекта NetworkInfo глубокой копией содержимого аргумента.

Подробности
Параметры
[in] dest
Объект NetworkInfo, содержащий информацию, которая будет скопирована в этот объект.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_NOT_IMPLEMENTED
Когда платформа не поддерживает malloc или free.
WEAVE_ERROR_NO_MEMORY
О сбоях выделения памяти.

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

WEAVE_ERROR Decode(
  nl::Weave::TLV::TLVReader & reader
)

Десериализуйте содержимое этого объекта NetworkInfo из его представления TLV .

Подробности
Параметры
[in] reader
TLVReader позиционируется как элемент структуры, содержащий информацию о сети.
Возврат
WEAVE_NO_ERROR В случае успеха WEAVE_ERROR_INVALID_TLV_ELEMENT для любого элемента, не соответствующего профилю обеспечения сети, любая ошибка считывателя TLV при неправильном декодировании элементов.

Кодировать

WEAVE_ERROR Encode(
  nl::Weave::TLV::TLVWriter & writer,
  uint8_t encodeFlags
) const 

Сериализуйте содержимое этого объекта NetworkInfo в его представление TLV .

Подробности
Параметры
[in] writer
TLVWriter расположен в том месте, куда будет сериализован объект. Функция создает анонимный тег для этого объекта, когда этот объект является частью массива элементов, или тег профиля для kTag_NetworkInformation, когда он создается как отдельный элемент.
[in] encodeFlags
Флаги, управляющие необходимостью сериализации учетных данных NetworkInfo .
Возврат
WEAVE_NO_ERROR В случае успеха WEAVE_ERROR_INVALID_TLV_ELEMENT для любого элемента, не соответствующего профилю обеспечения сети, любая ошибка считывателя TLV при неправильном декодировании элементов.

Слияние с

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Объедините содержимое этого объекта NetworkInfo с глубокой копией содержимого аргумента.

Все значения, отличные от значений по умолчанию, из объекта аргумента заменяют значения в этом объекте.

Подробности
Параметры
[in] dest
Объект NetworkInfo, содержащий информацию, которая будет скопирована в этот объект.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_NOT_IMPLEMENTED
Когда платформа не поддерживает malloc или free.
WEAVE_ERROR_NO_MEMORY
О сбоях выделения памяти.

Информация о сети

 NetworkInfo()

~Информация о сети

 ~NetworkInfo()

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

Список декодирования

WEAVE_ERROR DecodeList(
  nl::Weave::TLV::TLVReader & reader,
  uint16_t & elemCount,
  NetworkInfo *& elemArray
)

Десериализовать список элементов NetworkInfo из его представления TLV .

Подробности
Параметры
[in] reader
TLVReader расположен в начале массива. При успешном возврате средство записи располагается после конца массива.
[in,out] elemCount
При вводе максимальное количество элементов для десериализации из TLVReader. На выходе — количество элементов, фактически десериализованных из потока.
[in,out] elemArray
Ссылка на массив элементов NetworkInfo , который будет содержать десериализованные объекты NetworkInfo . Если массив имеет значение NULL, он выделяется внутри с помощью приведенной ниже функции, в противном случае предполагается, что выделенный извне массив содержит как минимум объекты elemCount.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_NOT_IMPLEMENTED
на платформах, которые не поддерживают динамическое управление памятью.
other
Ошибки, возвращаемые функцией Decode() .

Кодировать список

WEAVE_ERROR EncodeList(
  nl::Weave::TLV::TLVWriter & writer,
  uint16_t elemCount,
  const NetworkInfo *elemArray,
  uint8_t encodeFlags
)

Сериализуйте массив объектов NetworkInfo в его представление TLV .

Массив будет анонимным элементом в представлении TLV .

Подробности
Параметры
[in] writer
Правильно расположенный TLVWriter
[in] elemCount
Количество элементов в elemArray .
[in] elemArray
Массив объектов NetworkInfo , подлежащих сериализации.
[in] encodeFlags
Флаги, управляющие необходимостью сериализации учетных данных NetworkInfo .
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
Other
Ошибки, возвращаемые функцией Encode() .

Кодировать список

WEAVE_ERROR EncodeList(
  nl::Weave::TLV::TLVWriter & writer,
  uint16_t arrayLen,
  const NetworkInfo *elemArray,
  ::nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType,
  uint8_t encodeFlags,
  uint16_t & encodedElemCount
)

Сериализуйте массив объектов NetworkInfo в его представление TLV , выбирая только сети определенного типа.

Подробности
Параметры
[in] writer
Правильно расположенный TLVWriter
[in] arrayLen
Количество элементов в elemArray .
[in] elemArray
Массив объектов NetworkInfo , подлежащих сериализации.
[in] networkType
Тип объектов NetworkInfo для сериализации.
[in] encodeFlags
Флаги, управляющие необходимостью сериализации учетных данных NetworkInfo .
[out] encodedElemCount
Количество фактически сериализованных элементов.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
Other
Ошибки, возвращаемые функцией Encode() .