MCPcopy Create free account
hub / github.com/TactilityProject/Tactility / onConnect

Function onConnect

Tactility/Source/app/wificonnect/View.cpp:24–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22}
23
24static void onConnect(lv_event_t* event) {
25 auto wifi = std::static_pointer_cast<WifiConnect>(getCurrentApp());
26 auto& view = wifi->getView();
27
28 wifi->getState().setConnectionError(false);
29 view.resetErrors();
30
31 const char* ssid = lv_textarea_get_text(view.ssid_textarea);
32 size_t ssid_len = strlen(ssid);
33 if (ssid_len > TT_WIFI_SSID_LIMIT) {
34 LOGGER.error("SSID too long");
35 lv_label_set_text(view.ssid_error, "SSID too long");
36 lv_obj_remove_flag(view.ssid_error, LV_OBJ_FLAG_HIDDEN);
37 return;
38 }
39
40 const char* password = lv_textarea_get_text(view.password_textarea);
41 size_t password_len = strlen(password);
42 if (password_len > TT_WIFI_CREDENTIALS_PASSWORD_LIMIT) {
43 LOGGER.error("Password too long");
44 lv_label_set_text(view.password_error, "Password too long");
45 lv_obj_remove_flag(view.password_error, LV_OBJ_FLAG_HIDDEN);
46 return;
47 }
48
49 bool store = lv_obj_get_state(view.remember_switch) & LV_STATE_CHECKED;
50
51 view.setLoading(true);
52
53 service::wifi::settings::WifiApSettings settings;
54 settings.password = password;
55 settings.ssid = ssid;
56 settings.channel = 0;
57 settings.autoConnect = TT_WIFI_AUTO_CONNECT; // No UI yet, so use global setting:w
58
59 auto* bindings = &wifi->getBindings();
60 bindings->onConnectSsid(
61 settings,
62 store,
63 bindings->onConnectSsidContext
64 );
65}
66
67void View::setLoading(bool loading) {
68 if (loading) {

Callers

nothing calls this directly

Calls 6

getCurrentAppFunction · 0.85
setConnectionErrorMethod · 0.80
resetErrorsMethod · 0.80
errorMethod · 0.80
setLoadingMethod · 0.80
getStateMethod · 0.45

Tested by

no test coverage detected