nl::Weave::Profiles::NetworkProvisioning::NetworkInfo

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

Một lớp tiện ích để chuyển đổi tuần tự và giải trình tự các tải trọng được trao đổi thông qua hồ sơ NetworkProvisioning: lớp này đóng gói thông tin liên quan đến việc phát hiện và định cấu hình mạng.

Tóm tắt

Lớp này dựa vào kho lưu trữ trung gian của thông tin cấp phép mạng (trung gian giữa kho lưu trữ thông tin cuối cùng và tải trọng mạng) và sử dụng tính năng quản lý bộ nhớ động để cung cấp cho đối tượng kết quả thời gian chạy linh hoạt. Do đó, lớp này không phù hợp với các môi trường hạn chế nhất, nhưng có thể dùng được trên các hệ thống lớn hơn.

Hàm khởi tạo và hàm phá

NetworkInfo()
~NetworkInfo()

Loại công khai

@210 enum
@211 enum

Thuộc tính công khai

Hidden
bool
Liệu mạng có bị ẩn hay không.
NetworkId
int64_t
Mã mạng do thiết bị chỉ định cho mạng, -1 nếu không được chỉ định.
NetworkType
Loại mạng.
ThreadChannel
uint8_t
Kênh hiện tại (hiện là [11..26]) mà mạng Thread hoạt động hoặc kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
Mã PAN được mở rộng cho chuỗi.
ThreadNetworkKey
uint8_t *
Khoá mạng chính của Thread hoặc NULL nếu không được chỉ định.
ThreadNetworkName
char *
Tên của mạng Thread (Chuỗi) hoặc NULL (Rỗng) nếu không được chỉ định.
ThreadPANId
uint32_t
Mã PAN theo luồng 16 bit hoặc kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Tạo chuỗi khoá chia sẻ trước cho quản trị viên, hoặc giá trị NULL nếu không được chỉ định.
WiFiKey
uint8_t *
Khoá Wi-Fi hoặc NULL nếu không được chỉ định.
WiFiKeyLen
uint32_t
Độ dài tính bằng byte của khoá Wi-Fi.
WiFiMode
Chế độ hoạt động của mạng Wi-Fi.
WiFiRole
Vai trò của thiết bị trên mạng Wi-Fi.
WiFiSSID
char *
SSID Wi-Fi hoặc NULL nếu không được chỉ định.
WiFiSecurityType
Loại bảo mật Wi-Fi.
WirelessSignalStrength
int16_t
Cường độ tín hiệu của mạng hoặc INT16_MIN nếu không có/có thể áp dụng.

Hàm công khai

Clear(void)
void
Đặt lại về mặc định và giải phóng tất cả các giá trị trong đối tượng NetworkInfo này.
CopyTo(NetworkInfo & dest)
Thay thế nội dung của đối tượng NetworkInfo này bằng bản sao sâu của nội dung của đối số.
Decode(nl::Weave::TLV::TLVReader & reader)
Giải trình tự nội dung của đối tượng NetworkInfo này bằng cách biểu diễn TLV của đối tượng.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Chuyển đổi tuần tự nội dung của đối tượng NetworkInfo này thành bản trình bày TLV.
MergeTo(NetworkInfo & dest)
Hợp nhất nội dung của đối tượng NetworkInfo này với bản sao sâu của nội dung của đối số.

Hàm tĩnh công khai

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Giải tuần tự danh sách các phần tử NetworkInfo qua bản trình bày TLV của nó.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Chuyển đổi tuần tự một loạt đối tượng NetworkInfo thành bản trình bày 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)
Chuyển đổi tuần tự một loạt đối tượng NetworkInfo thành nội dung biểu diễn TLV chỉ chọn các mạng thuộc một loại cụ thể.

Loại công khai

@210

 @210

@211

 @211

Thuộc tính công khai

Đã ẩn

bool Hidden

Liệu mạng có bị ẩn hay không.

NetworkId

int64_t NetworkId

Mã mạng do thiết bị chỉ định cho mạng, -1 nếu không được chỉ định.

NetworkType

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

Loại mạng.

ThreadChannel

uint8_t ThreadChannel

Kênh hiện tại (hiện là [11..26]) mà mạng Thread hoạt động hoặc kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Mã PAN được mở rộng cho chuỗi.

Đây là một mảng được phân bổ động gồm 8 octect do lớp sở hữu. Bị huỷ bỏ trong bất kỳ điều kiện nào gọi Clear() trên đối tượng.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Khoá mạng chính của Thread hoặc NULL nếu không được chỉ định.

Đây là một mảng octet tuỳ ý được phân bổ động, thuộc sở hữu của lớp. Huỷ bỏ theo bất kỳ điều kiện nào gọi Clear() trên đối tượng.

ThreadNetworkName

char * ThreadNetworkName

Tên của mạng Thread (Chuỗi) hoặc NULL (Rỗng) nếu không được chỉ định.

Đây là một chuỗi C được phân bổ động, kết thúc theo NUL, thuộc sở hữu của lớp. Bị huỷ bỏ trong bất kỳ điều kiện nào gọi Clear() trên đối tượng.

ThreadPANId

uint32_t ThreadPANId

Mã PAN theo luồng 16 bit hoặc kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

Tạo chuỗi khoá chia sẻ trước cho quản trị viên, hoặc giá trị NULL nếu không được chỉ định.

Đây là một mảng octet tuỳ ý được phân bổ động, thuộc sở hữu của lớp. Huỷ bỏ theo bất kỳ điều kiện nào gọi Clear() trên đối tượng.

WiFiKey

uint8_t * WiFiKey

Khoá Wi-Fi hoặc NULL nếu không được chỉ định.

Đây là một mảng được phân bổ động gồm các octet tuỳ ý do lớp sở hữu và có độ dài do WiFiKeyLen chỉ định. Bị huỷ bỏ trong bất kỳ điều kiện nào gọi Clear() trên đối tượng.

WiFiKeyLen

uint32_t WiFiKeyLen

Độ dài tính bằng byte của khoá Wi-Fi.

WiFiMode

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

Chế độ hoạt động của mạng Wi-Fi.

WiFiRole

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

Vai trò của thiết bị trên mạng Wi-Fi.

WiFiSSID

char * WiFiSSID

SSID Wi-Fi hoặc NULL nếu không được chỉ định.

Đây là một chuỗi C được phân bổ động, kết thúc theo NUL, thuộc sở hữu của lớp. Bị huỷ bỏ trong bất kỳ điều kiện nào gọi Clear() trên đối tượng.

WiFiSecurityType

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

Loại bảo mật Wi-Fi.

WirelessSignalStrength

int16_t WirelessSignalStrength

Cường độ tín hiệu của mạng hoặc INT16_MIN nếu không có/có thể áp dụng.

Hàm công khai

Xoá

void Clear(
  void
)

Đặt lại về mặc định và giải phóng tất cả các giá trị trong đối tượng NetworkInfo này.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Thay thế nội dung của đối tượng NetworkInfo này bằng bản sao sâu của nội dung của đối số.

Thông tin chi tiết
Thông số
[in] dest
Đối tượng NetworkInfo chứa thông tin sẽ được sao chép vào đối tượng này.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_NOT_IMPLEMENTED
Khi nền tảng không hỗ trợ Malloc hoặc miễn phí.
WEAVE_ERROR_NO_MEMORY
Khi lỗi phân bổ bộ nhớ.

Decode

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

Giải trình tự nội dung của đối tượng NetworkInfo này bằng cách biểu diễn TLV của đối tượng.

Thông tin chi tiết
Thông số
[in] reader
TLVReader đã định vị phần tử cấu trúc chứa thông tin mạng.
Trả về
WEAVE_NO_ERROR Khi thành công, WEAVE_ERROR_INVALID_TLV_ELEMENT trên mọi phần tử không tuân theo hồ sơ cấp phép mạng, mọi lỗi trình đọc TLV khi giải mã phần tử không chính xác.

Mã hóa

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

Chuyển đổi tuần tự nội dung của đối tượng NetworkInfo này thành bản trình bày TLV.

Thông tin chi tiết
Thông số
[in] writer
TLVWriter được định vị ở vị trí mà đối tượng sẽ được tuần tự hoá. Hàm phát ra một thẻ ẩn danh cho đối tượng này khi đối tượng này là một phần của mảng phần tử hoặc là một thẻ hồ sơ cho kTag_NetworkInformation khi được phát dưới dạng một phần tử độc lập.
[in] encodeFlags
Cờ kiểm soát xem thông tin xác thực của NetworkInfo có được chuyển đổi tuần tự hay không.
Trả về
WEAVE_NO_ERROR Khi thành công, WEAVE_ERROR_INVALID_TLV_ELEMENT trên mọi phần tử không tuân theo hồ sơ cấp phép mạng, mọi lỗi trình đọc TLV khi giải mã phần tử không chính xác.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Hợp nhất nội dung của đối tượng NetworkInfo này với bản sao sâu của nội dung của đối số.

Tất cả giá trị không mặc định từ đối tượng đối số đều thay thế các giá trị trong đối tượng này.

Thông tin chi tiết
Thông số
[in] dest
Đối tượng NetworkInfo chứa thông tin sẽ được sao chép vào đối tượng này.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_NOT_IMPLEMENTED
Khi nền tảng không hỗ trợ Malloc hoặc miễn phí.
WEAVE_ERROR_NO_MEMORY
Khi lỗi phân bổ bộ nhớ.

NetworkInfo

 NetworkInfo()

~Thông tin mạng

 ~NetworkInfo()

Hàm tĩnh công khai

DecodeList

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

Giải tuần tự danh sách các phần tử NetworkInfo qua bản trình bày TLV của nó.

Thông tin chi tiết
Thông số
[in] reader
TLVReader được định vị ở đầu mảng. Khi trả về thành công, đối tượng ghi sẽ được định vị sau điểm cuối của mảng.
[in,out] elemCount
Số phần tử tối đa cần giải trình tự trên đầu vào của TLVReader. Trên đầu ra, số lượng phần tử thực sự đã giải trình tự từ luồng.
[in,out] elemArray
Tham chiếu đến mảng phần tử NetworkInfo sẽ chứa các đối tượng NetworkInfo đã giải tuần tự. Khi giá trị mảng là NULL, mảng đó sẽ được hàm dưới đây phân bổ nội bộ, nếu không thì giả định rằng mảng được phân bổ bên ngoài chứa ít nhất đối tượng elemCount.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
WEAVE_ERROR_NOT_IMPLEMENTED
trên các nền tảng không hỗ trợ quản lý bộ nhớ động.
other
Hàm Decode() trả về lỗi.

EncodeList

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

Chuyển đổi tuần tự một loạt đối tượng NetworkInfo thành bản trình bày TLV.

Mảng này sẽ là một phần tử ẩn danh trong cách biểu diễn TLV.

Thông tin chi tiết
Thông số
[in] writer
TLVWriter được đặt ở vị trí thích hợp
[in] elemCount
Số phần tử trong elemArray.
[in] elemArray
Mảng các đối tượng NetworkInfo sẽ được chuyển đổi tuần tự.
[in] encodeFlags
Cờ kiểm soát xem thông tin xác thực của NetworkInfo có được chuyển đổi tuần tự hay không.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
Other
Hàm Encode() trả về lỗi.

EncodeList

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
)

Chuyển đổi tuần tự một loạt đối tượng NetworkInfo thành nội dung biểu diễn TLV chỉ chọn các mạng thuộc một loại cụ thể.

Thông tin chi tiết
Thông số
[in] writer
TLVWriter được đặt ở vị trí thích hợp
[in] arrayLen
Số phần tử trong elemArray.
[in] elemArray
Mảng các đối tượng NetworkInfo sẽ được chuyển đổi tuần tự.
[in] networkType
Loại đối tượng NetworkInfo sẽ chuyển đổi tuần tự
[in] encodeFlags
Cờ kiểm soát xem thông tin xác thực của NetworkInfo có được chuyển đổi tuần tự hay không.
[out] encodedElemCount
Số phần tử thực sự được chuyển đổi tuần tự.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
Other
Hàm Encode() trả về lỗi.