Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

nl::Weave::Profiles::NetworkProvides::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 tuần tự các trọng tải được thông báo qua hồ sơ Mạng cấp phép: bao gồm 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 bộ nhớ 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à trọng tải mạng) và sử dụng tính năng quản lý bộ nhớ động để cung cấp thời gian chạy linh hoạt cho đối tượng. Do đó, lớp này không phù hợp với những môi trường hạn chế nhất, nhưng có thể được dùng trên các hệ thống lớn hơn.

Hàm dựng và hàm dựng

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 được 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 tại [11..26]) mà mạng Thread hoạt động hoặc kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
Mã PAN mở rộng của chuỗi.
ThreadNetworkKey
uint8_t *
Khóa mạng chính của luồng hoặc NULL nếu không được chỉ định.
ThreadNetworkName
char *
Tên của mạng Thread hay NULL nếu không chỉ định.
ThreadPANId
uint32_t
Mã PAN luồng 16 bit hoặc kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Chuỗi được chia sẻ trước cho chuỗi có uỷ quyền hoặc NULL nếu không chỉ định.
WiFiKey
uint8_t *
Khóa Wi-Fi hoặc NULL nếu không 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ó sẵn/áp dụng.

Hàm công khai

Clear(void)
void
Hãy đặt lại giá trị 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 nội dung của đối số.
Decode(nl::Weave::TLV::TLVReader & reader)
Giải tuần tự nội dung của đối tượng NetworkInfo này khỏi nội dung đại diện TLV của đối tượng đó.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Tuần tự hoá nội dung của đối tượng NetworkInfo này thành đại diện TLV của đối tượng đó.
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 đố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 từ đại diện TLV của phần tử đó.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Tuần tự hoá một mảng các đối tượng NetworkInfo thành đại diện 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)
Tuần tự hoá một mảng các đối tượng NetworkInfo thành đại diện TLV chỉ chọn các mạng thuộc một loại cụ thể.

Loại công khai

@1.200

 @210

@1.211

 @211

Thuộc tính công khai

Ẩn

bool Hidden

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

Mã mạng

int64_t NetworkId

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

Loại mạng

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

Loại mạng.

Kênh chuỗi

uint8_t ThreadChannel

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

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Mã PAN mở rộng của chuỗi.

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

Khoá mạng

uint8_t * ThreadNetworkKey

Khóa mạng chính của luồng hoặc NULL nếu không được chỉ định.

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

Tên luồng của chuỗi

char * ThreadNetworkName

Tên của mạng Thread hay NULL nếu không chỉ định.

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

Chuỗi chuỗi

uint32_t ThreadPANId

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

Luồng threadc

uint8_t * ThreadPSKc

Chuỗi được chia sẻ trước cho chuỗi có uỷ quyền hoặc NULL nếu không chỉ định.

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

Khoá Wi-Fi

uint8_t * WiFiKey

Khóa Wi-Fi hoặc NULL nếu không chỉ định.

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

Chìa khóa Wi-Fi

uint32_t WiFiKeyLen

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

Chế độ Wi-Fi

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

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

Vai trò Wi-Fi

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

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

Wi-Fi

char * WiFiSSID

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

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

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

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

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

Ký hiệu không dây

int16_t WirelessSignalStrength

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

Hàm công khai

Quang đãng

void Clear(
  void
)

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

Sao chép Đến

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 nội dung của đối số.

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

Giải mã

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

Giải tuần tự nội dung của đối tượng NetworkInfo này khỏi nội dung đại diện TLV của đối tượng đó.

Thông tin chi tiết
Các tham số
[in] reader
TLVReader định vị đến 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_ lên trên bất kỳ phần tử nào không tuân thủ cấu hình cấp phép mạng, bất kỳ lỗi nào của trình đọc TLV khi giải mã các phần tử không chính xác.

Mã hóa

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

Tuần tự hoá nội dung của đối tượng NetworkInfo này thành đại diện TLV của đối tượng đó.

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

Hợp nhất thành

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 đối số.

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

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

Thông tin mạng

 NetworkInfo()

~Thông tin mạng

 ~NetworkInfo()

Hàm tĩnh công khai

Danh sách giải mã

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 từ đại diện TLV của phần tử đó.

Thông tin chi tiết
Các tham số
[in] reader
TLVReader đặt ở vị trí bắt đầu mảng. Khi trả về thành công, người viết sẽ được định vị sau khi kết thúc mảng.
[in,out] elemCount
Khi nhập, số lượng phần tử tối đa để giải tuần tự từ TLVReader. Khi xuất, số lượng phần tử thực sự được huỷ tuần tự khỏi luồng.
[in,out] elemArray
Tham chiếu đến mảng các phần tử NetworkInfo sẽ chứa các đối tượng NetworkInfo được giải tuần tự. Khi mảng là NULL, mảng được phân bổ nội bộ bằng hàm bên dưới, nếu khô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
Thành công.
WEAVE_ERROR_NOT_IMPLEMENTED
trên các nền tảng không hỗ trợ tính năng quản lý bộ nhớ động.
other
Lỗi được trả về từ hàm Decode().

Danh sách mã hoá

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

Tuần tự hoá một mảng các đối tượng NetworkInfo thành đại diện TLV.

Mảng đó sẽ là một phần tử ẩn danh trong đại diện TLV.

Thông tin chi tiết
Các tham số
[in] writer
TLVWriter có vị trí thích hợp
[in] elemCount
Số lượng phần tử trong elemArray.
[in] elemArray
Dãy đối tượng NetworkInfo cần được tuần tự hoá.
[in] encodeFlags
Cờ kiểm soát việc liệu thông tin xác thực của NetworkInfo có nên được chuyển đổi tuần tự hay không.
Giá trị trả về
WEAVE_NO_ERROR
Thành công.
Other
Lỗi được trả về từ hàm Encode().

Danh sách mã hoá

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
)

Tuần tự hoá một mảng các đối tượng NetworkInfo thành đại diện TLV chỉ chọn các mạng thuộc một loại cụ thể.

Thông tin chi tiết
Các tham số
[in] writer
TLVWriter có vị trí thích hợp
[in] arrayLen
Số lượng phần tử trong elemArray.
[in] elemArray
Dãy đối tượng NetworkInfo cần được tuần tự hoá.
[in] networkType
Loại đối tượng NetworkInfo để chuyển đổi tuần tự
[in] encodeFlags
Cờ kiểm soát việc liệu thông tin xác thực của NetworkInfo có nên được chuyển đổi tuần tự hay không.
[out] encodedElemCount
Số lượng phần tử thực sự được tuần tự hoá.
Giá trị trả về
WEAVE_NO_ERROR
Thành công.
Other
Lỗi được trả về từ hàm Encode().