#ifndef DEVICE_WIFI_MANAGER_H__
#define DEVICE_WIFI_MANAGER_H__

#include "common.h"

//发送已经保存的WiFi给上层
void device_send_saved_wifi();

//删除wifi
void device_wifi_rec_delete(cJSON *body);

//接收到保存wifi消息
void device_wifi_rec_sava(cJSON *body);

/* 保存 WiFi 配置（含满 10 个自动删最旧逻辑），不立即连接 */
int orange_pi_save_wifi(const char *ssid, const char *password);

/* 保存并立即连接 WiFi（含满 10 个自动删最旧逻辑） */
int orange_pi_connect_wifi(const char *ssid, const char *password);

/* ===== App WiFi 管理 (UDP 18888) 接口 ===== */

/* 查询已保存 WiFi 列表，返回 cJSON 数组（调用方负责 cJSON_Delete）：
 * 每项含 ssid/password/active/protected 四字段。
 * active/protected 由内部判断，password 从 .nmconnection 读取。 */
cJSON *app_wifi_list_query(void);

/* 切换当前连接到已保存的指定 SSID。
 * 返回 0=已发起切换(异步), -1=未找到/失败 */
/* 检查指定 SSID 是否已保存（不连接）。
 * 返回 0=已保存, -1=未找到 */
int app_wifi_check_saved(const char *ssid);

int app_wifi_switch(const char *ssid);

/* 删除已保存的指定 SSID（受保护的 jking 不可删）。
 * 返回 0=成功, -1=未找到/失败, -2=受保护不可删 */
int app_wifi_delete(const char *ssid);

#endif