aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl/DlgWifiSettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libui_sdl/DlgWifiSettings.cpp')
-rw-r--r--src/libui_sdl/DlgWifiSettings.cpp271
1 files changed, 0 insertions, 271 deletions
diff --git a/src/libui_sdl/DlgWifiSettings.cpp b/src/libui_sdl/DlgWifiSettings.cpp
deleted file mode 100644
index d1ce8bd..0000000
--- a/src/libui_sdl/DlgWifiSettings.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- Copyright 2016-2020 Arisotura
-
- This file is part of melonDS.
-
- melonDS is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation, either version 3 of the License, or (at your option)
- any later version.
-
- melonDS is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with melonDS. If not, see http://www.gnu.org/licenses/.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "libui/ui.h"
-
-#include "../types.h"
-#include "PlatformConfig.h"
-
-#include "LAN_Socket.h"
-#include "LAN_PCap.h"
-#include "DlgWifiSettings.h"
-
-
-#ifdef __WIN32__
-#define PCAP_NAME "winpcap/npcap"
-#else
-#define PCAP_NAME "libpcap"
-#endif // __WIN32__
-
-
-void ApplyNewSettings(int type);
-
-
-namespace DlgWifiSettings
-{
-
-bool opened;
-uiWindow* win;
-
-bool haspcap;
-
-uiCheckbox* cbBindAnyAddr;
-
-uiLabel* lbAdapterList;
-uiCombobox* cmAdapterList;
-uiCheckbox* cbDirectLAN;
-
-uiLabel* lbAdapterMAC;
-uiLabel* lbAdapterIP;
-uiLabel* lbAdapterDNS0;
-uiLabel* lbAdapterDNS1;
-
-
-void UpdateAdapterControls()
-{
- bool enable = haspcap && uiCheckboxChecked(cbDirectLAN);
-
- if (enable)
- {
- uiControlEnable(uiControl(lbAdapterList));
- uiControlEnable(uiControl(cmAdapterList));
- uiControlEnable(uiControl(lbAdapterMAC));
- uiControlEnable(uiControl(lbAdapterIP));
- }
- else
- {
- uiControlDisable(uiControl(lbAdapterList));
- uiControlDisable(uiControl(cmAdapterList));
- uiControlDisable(uiControl(lbAdapterMAC));
- uiControlDisable(uiControl(lbAdapterIP));
- }
-}
-
-void UpdateAdapterInfo()
-{
- if (!haspcap) return;
-
- int sel = uiComboboxSelected(cmAdapterList);
- if (sel < 0 || sel >= LAN_PCap::NumAdapters) return;
- if (LAN_PCap::NumAdapters < 1) return;
-
- LAN_PCap::AdapterData* adapter = &LAN_PCap::Adapters[sel];
- char tmp[64];
-
- sprintf(tmp, "MAC: %02X:%02X:%02X:%02X:%02X:%02X",
- adapter->MAC[0], adapter->MAC[1], adapter->MAC[2],
- adapter->MAC[3], adapter->MAC[4], adapter->MAC[5]);
- uiLabelSetText(lbAdapterMAC, tmp);
-
- sprintf(tmp, "IP: %d.%d.%d.%d",
- adapter->IP_v4[0], adapter->IP_v4[1],
- adapter->IP_v4[2], adapter->IP_v4[3]);
- uiLabelSetText(lbAdapterIP, tmp);
-
- /*sprintf(tmp, "Primary DNS: %d.%d.%d.%d",
- adapter->DNS[0][0], adapter->DNS[0][1],
- adapter->DNS[0][2], adapter->DNS[0][3]);
- uiLabelSetText(lbAdapterDNS0, tmp);
-
- sprintf(tmp, "Secondary DNS: %d.%d.%d.%d",
- adapter->DNS[1][0], adapter->DNS[1][1],
- adapter->DNS[1][2], adapter->DNS[1][3]);
- uiLabelSetText(lbAdapterDNS1, tmp);*/
-}
-
-int OnCloseWindow(uiWindow* window, void* blarg)
-{
- opened = false;
- return 1;
-}
-
-void OnDirectModeToggle(uiCheckbox* c, void* blarg)
-{
- UpdateAdapterControls();
-}
-
-void OnAdapterSelect(uiCombobox* c, void* blarg)
-{
- UpdateAdapterInfo();
-}
-
-void OnCancel(uiButton* btn, void* blarg)
-{
- uiControlDestroy(uiControl(win));
- opened = false;
-}
-
-void OnOk(uiButton* btn, void* blarg)
-{
- Config::SocketBindAnyAddr = uiCheckboxChecked(cbBindAnyAddr);
- Config::DirectLAN = uiCheckboxChecked(cbDirectLAN);
-
- int sel = uiComboboxSelected(cmAdapterList);
- if (sel < 0 || sel >= LAN_PCap::NumAdapters) sel = 0;
- if (LAN_PCap::NumAdapters < 1)
- {
- Config::LANDevice[0] = '\0';
- }
- else
- {
- strncpy(Config::LANDevice, LAN_PCap::Adapters[sel].DeviceName, 127);
- Config::LANDevice[127] = '\0';
- }
-
- Config::Save();
-
- uiControlDestroy(uiControl(win));
- opened = false;
-
- ApplyNewSettings(1);
-}
-
-void Open()
-{
- if (opened)
- {
- uiControlSetFocus(uiControl(win));
- return;
- }
-
- LAN_Socket::Init();
- haspcap = LAN_PCap::Init(false);
-
- opened = true;
- win = uiNewWindow("Wifi settings - melonDS", 400, 100, 0, 0, 0);
- uiWindowSetMargined(win, 1);
- uiWindowOnClosing(win, OnCloseWindow, NULL);
-
- uiBox* top = uiNewVerticalBox();
- uiWindowSetChild(win, uiControl(top));
- uiBoxSetPadded(top, 1);
-
- {
- uiGroup* grp = uiNewGroup("Local");
- uiBoxAppend(top, uiControl(grp), 0);
- uiGroupSetMargined(grp, 1);
-
- uiBox* in_ctrl = uiNewVerticalBox();
- uiGroupSetChild(grp, uiControl(in_ctrl));
-
- cbBindAnyAddr = uiNewCheckbox("Bind socket to any address");
- uiBoxAppend(in_ctrl, uiControl(cbBindAnyAddr), 0);
- }
-
- {
- uiLabel* lbl;
-
- uiGroup* grp = uiNewGroup("Online");
- uiBoxAppend(top, uiControl(grp), 0);
- uiGroupSetMargined(grp, 1);
-
- uiBox* in_ctrl = uiNewVerticalBox();
- uiGroupSetChild(grp, uiControl(in_ctrl));
-
- cbDirectLAN = uiNewCheckbox("Direct mode (requires " PCAP_NAME " and ethernet connection)");
- uiCheckboxOnToggled(cbDirectLAN, OnDirectModeToggle, NULL);
- uiBoxAppend(in_ctrl, uiControl(cbDirectLAN), 0);
-
- lbAdapterList = uiNewLabel("Network adapter:");
- uiBoxAppend(in_ctrl, uiControl(lbAdapterList), 0);
-
- cmAdapterList = uiNewCombobox();
- uiComboboxOnSelected(cmAdapterList, OnAdapterSelect, NULL);
- uiBoxAppend(in_ctrl, uiControl(cmAdapterList), 0);
-
- lbAdapterMAC = uiNewLabel("MAC: ??");
- uiBoxAppend(in_ctrl, uiControl(lbAdapterMAC), 0);
- lbAdapterIP = uiNewLabel("IP: ??");
- uiBoxAppend(in_ctrl, uiControl(lbAdapterIP), 0);
- /*lbAdapterDNS0 = uiNewLabel("DNS0");
- uiBoxAppend(in_ctrl, uiControl(lbAdapterDNS0), 0);
- lbAdapterDNS1 = uiNewLabel("DNS1");
- uiBoxAppend(in_ctrl, uiControl(lbAdapterDNS1), 0);*/
- }
-
- {
- uiBox* in_ctrl = uiNewHorizontalBox();
- uiBoxSetPadded(in_ctrl, 1);
- uiBoxAppend(top, uiControl(in_ctrl), 0);
-
- uiLabel* dummy = uiNewLabel("");
- uiBoxAppend(in_ctrl, uiControl(dummy), 1);
-
- uiButton* btncancel = uiNewButton("Cancel");
- uiButtonOnClicked(btncancel, OnCancel, NULL);
- uiBoxAppend(in_ctrl, uiControl(btncancel), 0);
-
- uiButton* btnok = uiNewButton("Ok");
- uiButtonOnClicked(btnok, OnOk, NULL);
- uiBoxAppend(in_ctrl, uiControl(btnok), 0);
- }
-
- uiCheckboxSetChecked(cbBindAnyAddr, Config::SocketBindAnyAddr);
-
- int sel = 0;
- for (int i = 0; i < LAN_PCap::NumAdapters; i++)
- {
- LAN_PCap::AdapterData* adapter = &LAN_PCap::Adapters[i];
-
- uiComboboxAppend(cmAdapterList, adapter->FriendlyName);
-
- if (!strncmp(adapter->DeviceName, Config::LANDevice, 128))
- sel = i;
- }
- uiComboboxSetSelected(cmAdapterList, sel);
- UpdateAdapterInfo();
-
- uiCheckboxSetChecked(cbDirectLAN, Config::DirectLAN);
- if (!haspcap) uiControlDisable(uiControl(cbDirectLAN));
- UpdateAdapterControls();
-
- uiControlShow(uiControl(win));
-}
-
-void Close()
-{
- if (!opened) return;
- uiControlDestroy(uiControl(win));
- opened = false;
-}
-
-}