#pragma once #include "diller_utils.h" #include #include namespace diller { namespace serial { using diller::utils::property; using diller::core::diller_error; using diller::core::property_action; template class diller_serial : protected diller::core::property_action_listener { public: diller_serial(d_core &diller) : diller(diller), params(), diller_parser(params) { } void setup(); void loop(); private: void process_command(); void on_property_action(const property *, property_action); void cmd_network(); void cmd_wlan(); void cmd_wlan(const char* ssid, const char* password); void cmd_property(const char *id, const char *value, const char *name); void cmd_list_properties(); void show_status(wl_status_t wl_status); d_core &diller; diller::utils::fixed_size_key_value_map<10> params; diller::utils::diller_parser diller_parser; diller::utils::tty tty; static const bool send_wlan_password = false; }; } // namespace serial } // namespace diller #include "impl/diller_serial_impl.h"