You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

50 lines
1.2 KiB

#ifndef WIFI_SETTINGS_H
#define WIFI_SETTINGS_H
class WifiSettings
{
public:
class Network
{
friend class WifiSettings;
protected:
Network(char const* name, Network* next);
public:
~Network();
inline bool has_all_infos() const
{
return m_ssid != nullptr && m_pass != nullptr;
}
inline char const* ssid() const {return m_ssid;}
inline char const* pass() const {return m_pass;}
inline Network const* next() const {return m_next;}
private:
char const*const m_name;
char const* m_ssid;
char const* m_pass;
Network *const m_next;
};
WifiSettings();
~WifiSettings();
void add_info(char const* network_name, char const* key, char const* val);
Network const* networks_cbegin() const;
Network const* networks_cend() const;
protected:
Network* find_network(char const* network_name);
protected:
Network* m_first_network;
};
#endif //WIFI_SETTINGS_H