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 tuần tự các tải trọng được truyền thông qua cấu hình NetworkProvisioning (Cấp phép mạng): 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 trung gian lưu trữ thông tin cấp phép mạng (trung gian giữa kho lưu trữ thông tin tối ưu và tải trọng mạng) và sử dụng tính năng quản lý bộ nhớ động để mang đến 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 cho các môi trường hạn chế nhất, nhưng có thể được sử dụng trên các hệ thống lớn hơn.

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

NetworkInfo()
~NetworkInfo()

Loại công khai

@210 enum
@211 enum

Các 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ị gán 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 mở rộng của chuỗi.
ThreadNetworkKey
uint8_t *
Khoá mạng chủ của luồng hoặc NULL nếu không được chỉ định.
ThreadNetworkName
char *
Tên của mạng Thread hoặc giá trị NULL nếu không chỉ định.
ThreadPANId
uint32_t
Mã PAN của luồng 16 bit hoặc kThreadPANId_Notspecified.
ThreadPSKc
uint8_t *
Khoá được chia sẻ trước trên chuỗi cho trình bổ trợ, hoặc giá trị NULL nếu không chỉ định.
WiFiKey
uint8_t *
Khoá Wi-Fi hoặc giá trị 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ó/có thể áp dụng.

Hàm công khai

Clear(void)
void
Đặt lại về giá trị mặc định và giải phóng tất 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 tuần tự nội dung của đối tượng NetworkInfo này từ cách biểu 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 bản trình bày 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 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 từ cách trình bày 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 cách biểu 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 cách biểu diễn TLV của mảng đó chỉ chọn các mạng thuộc một loại cụ thể.

Loại công khai

@210

 @210

@211

 @211

Các 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ị gán 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_Not changed.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

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

Đây là một mảng được phân bổ động gồm 8 octects, 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.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

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

Đây là một mảng gồm các octet tuỳ ý được phân bổ động, thuộc sở hữu của lớp Đã huỷ bỏ trong 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 hoặc giá trị NULL nếu không chỉ định.

Đây là một chuỗi C được phân bổ động và kết thúc 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 của luồng 16 bit hoặc kThreadPANId_Notspecified.

ThreadPSKc

uint8_t * ThreadPSKc

Khoá được chia sẻ trước trên chuỗi cho trình bổ trợ, hoặc giá trị NULL nếu không chỉ định.

Đây là một mảng gồm các octet tuỳ ý được phân bổ động, thuộc sở hữu của lớp Đã huỷ bỏ trong 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 giá trị NULL nếu không chỉ định.

Đây là một mảng được phân bổ động gồm các octet tuỳ ý, thuộc sở hữu của lớp và độ 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 và kết thúc 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

Xóa

void Clear(
  void
)

Đặt lại về giá trị mặc định và giải phóng tất 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
Tham 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 này không hỗ trợ malloc hoặc miễn phí.
WEAVE_ERROR_NO_MEMORY
Khi xảy ra lỗi phân bổ bộ nhớ.

Decode

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

Giải tuần tự nội dung của đối tượng NetworkInfo này từ cách biểu diễn TLV của đối tượng đó.

Thông tin chi tiết
Tham số
[in] reader
TLVReader được đặt đế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_ELEMENT trên bất kỳ phần tử nào không tuân theo hồ sơ cấp phép mạng, bất kỳ lỗi trình đọc TLV nào trên 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 

Tuần tự hoá nội dung của đối tượng NetworkInfo này thành cách biểu diễn TLV của đối tượng đó.

Thông tin chi tiết
Tham số
[in] writer
TLVWriter được đặt tại vị trí mà đối tượng sẽ được chuyển đổi tuần tự. 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 các phần tử hoặc thẻ cấu hình cho kTag_NetworkInformation khi đối tượng được phát ra dưới dạng phần tử độc lập.
[in] encodeFlags
Cờ kiểm soát xem có cần chuyển đổi tuần tự thông tin đăng nhập của NetworkInfo hay không.
Trả về
WEAVE_NO_ERROR Khi thành công, WEAVE_ERROR_INVALID_TLV_ELEMENT trên bất kỳ phần tử nào không tuân theo hồ sơ cấp phép mạng, bất kỳ lỗi trình đọc TLV nào trên 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 phải giá trị mặc định của đối tượng đối số đều sẽ thay thế các giá trị trong đối tượng này.

Thông tin chi tiết
Tham 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 này không hỗ trợ malloc hoặc miễn phí.
WEAVE_ERROR_NO_MEMORY
Khi xảy ra lỗi phân bổ bộ nhớ.

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~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 từ cách trình bày TLV của phần tử đó.

Thông tin chi tiết
Tham số
[in] reader
TLVReader được đặt ở đầu mảng. Khi trả về thành công, trình ghi sẽ được đặt sau cuối mảng.
[in,out] elemCount
Khi nhập, số lượng phần tử tối đa để giải tuần tự từ TLVReader. Ở đầu ra, số lượng phần tử thực sự đã giải tuần tự khỏi luồng.
[in,out] elemArray
Mã tham chiếu đến mảng các phần tử NetworkInfo chứa các đối tượng NetworkInfo đã giải tuần tự. Khi có giá trị NULL, thì mảng đó sẽ được hàm bên dưới phân bổ nội bộ. Nếu không, hệ thống sẽ 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
Lỗi được trả về từ hàm Decode().

EncodeList

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 cách biểu diễn TLV.

Mảng này sẽ là một phần tử ẩn danh trong cách trình bày TLV.

Thông tin chi tiết
Tham số
[in] writer
TLVWriter có 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 có cần chuyển đổi tuần tự thông tin đăng nhập của NetworkInfo hay không.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
Other
Lỗi được trả về từ hàm Encode().

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
)

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

Thông tin chi tiết
Tham số
[in] writer
TLVWriter có 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 để chuyển đổi tuần tự
[in] encodeFlags
Cờ kiểm soát xem có cần chuyển đổi tuần tự thông tin đăng nhập của NetworkInfo hay không.
[out] encodedElemCount
Số phần tử thực sự đã chuyển đổi tuần tự.
Giá trị trả về
WEAVE_NO_ERROR
Khi thành công.
Other
Lỗi được trả về từ hàm Encode().