diff --git a/src/tests/kits/net/preflet/DialUpAddOn/AddOn.cpp b/src/preferences/network/DialUpAddOn/AddOn.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/AddOn.cpp rename to src/preferences/network/DialUpAddOn/AddOn.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/ConnectionOptionsAddon.cpp b/src/preferences/network/DialUpAddOn/ConnectionOptionsAddon.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/ConnectionOptionsAddon.cpp rename to src/preferences/network/DialUpAddOn/ConnectionOptionsAddon.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/ConnectionOptionsAddon.h b/src/preferences/network/DialUpAddOn/ConnectionOptionsAddon.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/ConnectionOptionsAddon.h rename to src/preferences/network/DialUpAddOn/ConnectionOptionsAddon.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/DEVNOTES b/src/preferences/network/DialUpAddOn/DEVNOTES similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/DEVNOTES rename to src/preferences/network/DialUpAddOn/DEVNOTES diff --git a/src/tests/kits/net/preflet/DialUpAddOn/DialUpAddOn.proj b/src/preferences/network/DialUpAddOn/DialUpAddOn.proj similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/DialUpAddOn.proj rename to src/preferences/network/DialUpAddOn/DialUpAddOn.proj diff --git a/src/tests/kits/net/preflet/DialUpAddOn/DialUpAddon.h b/src/preferences/network/DialUpAddOn/DialUpAddon.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/DialUpAddon.h rename to src/preferences/network/DialUpAddOn/DialUpAddon.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/DialUpApplication.cpp b/src/preferences/network/DialUpAddOn/DialUpApplication.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/DialUpApplication.cpp rename to src/preferences/network/DialUpAddOn/DialUpApplication.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/DialUpPreflet.rdef b/src/preferences/network/DialUpAddOn/DialUpPreflet.rdef similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/DialUpPreflet.rdef rename to src/preferences/network/DialUpAddOn/DialUpPreflet.rdef diff --git a/src/tests/kits/net/preflet/DialUpAddOn/DialUpView.cpp b/src/preferences/network/DialUpAddOn/DialUpView.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/DialUpView.cpp rename to src/preferences/network/DialUpAddOn/DialUpView.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/DialUpView.h b/src/preferences/network/DialUpAddOn/DialUpView.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/DialUpView.h rename to src/preferences/network/DialUpAddOn/DialUpView.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/GeneralAddon.cpp b/src/preferences/network/DialUpAddOn/GeneralAddon.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/GeneralAddon.cpp rename to src/preferences/network/DialUpAddOn/GeneralAddon.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/GeneralAddon.h b/src/preferences/network/DialUpAddOn/GeneralAddon.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/GeneralAddon.h rename to src/preferences/network/DialUpAddOn/GeneralAddon.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/IPCPAddon.cpp b/src/preferences/network/DialUpAddOn/IPCPAddon.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/IPCPAddon.cpp rename to src/preferences/network/DialUpAddOn/IPCPAddon.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/IPCPAddon.h b/src/preferences/network/DialUpAddOn/IPCPAddon.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/IPCPAddon.h rename to src/preferences/network/DialUpAddOn/IPCPAddon.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/InterfaceUtils.cpp b/src/preferences/network/DialUpAddOn/InterfaceUtils.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/InterfaceUtils.cpp rename to src/preferences/network/DialUpAddOn/InterfaceUtils.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/InterfaceUtils.h b/src/preferences/network/DialUpAddOn/InterfaceUtils.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/InterfaceUtils.h rename to src/preferences/network/DialUpAddOn/InterfaceUtils.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/Jamfile b/src/preferences/network/DialUpAddOn/Jamfile similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/Jamfile rename to src/preferences/network/DialUpAddOn/Jamfile diff --git a/src/tests/kits/net/preflet/DialUpAddOn/MessageDriverSettingsUtils.cpp b/src/preferences/network/DialUpAddOn/MessageDriverSettingsUtils.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/MessageDriverSettingsUtils.cpp rename to src/preferences/network/DialUpAddOn/MessageDriverSettingsUtils.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/MessageDriverSettingsUtils.h b/src/preferences/network/DialUpAddOn/MessageDriverSettingsUtils.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/MessageDriverSettingsUtils.h rename to src/preferences/network/DialUpAddOn/MessageDriverSettingsUtils.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/PPPoEAddon.cpp b/src/preferences/network/DialUpAddOn/PPPoEAddon.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/PPPoEAddon.cpp rename to src/preferences/network/DialUpAddOn/PPPoEAddon.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/PPPoEAddon.h b/src/preferences/network/DialUpAddOn/PPPoEAddon.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/PPPoEAddon.h rename to src/preferences/network/DialUpAddOn/PPPoEAddon.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/TODO b/src/preferences/network/DialUpAddOn/TODO similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/TODO rename to src/preferences/network/DialUpAddOn/TODO diff --git a/src/tests/kits/net/preflet/DialUpAddOn/TextRequestDialog.cpp b/src/preferences/network/DialUpAddOn/TextRequestDialog.cpp similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/TextRequestDialog.cpp rename to src/preferences/network/DialUpAddOn/TextRequestDialog.cpp diff --git a/src/tests/kits/net/preflet/DialUpAddOn/TextRequestDialog.h b/src/preferences/network/DialUpAddOn/TextRequestDialog.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/TextRequestDialog.h rename to src/preferences/network/DialUpAddOn/TextRequestDialog.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/posix/net/if_arp.h b/src/preferences/network/DialUpAddOn/posix/net/if_arp.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/posix/net/if_arp.h rename to src/preferences/network/DialUpAddOn/posix/net/if_arp.h diff --git a/src/tests/kits/net/preflet/DialUpAddOn/posix/netinet/if_ether.h b/src/preferences/network/DialUpAddOn/posix/netinet/if_ether.h similarity index 100% rename from src/tests/kits/net/preflet/DialUpAddOn/posix/netinet/if_ether.h rename to src/preferences/network/DialUpAddOn/posix/netinet/if_ether.h diff --git a/src/tests/kits/net/preflet/DummyAddOn/DummyAddOn.cpp b/src/preferences/network/DummyAddOn/DummyAddOn.cpp similarity index 100% rename from src/tests/kits/net/preflet/DummyAddOn/DummyAddOn.cpp rename to src/preferences/network/DummyAddOn/DummyAddOn.cpp diff --git a/src/tests/kits/net/preflet/DummyAddOn/Jamfile b/src/preferences/network/DummyAddOn/Jamfile similarity index 100% rename from src/tests/kits/net/preflet/DummyAddOn/Jamfile rename to src/preferences/network/DummyAddOn/Jamfile diff --git a/src/preferences/network/EthernetSettingsView.cpp b/src/preferences/network/EthernetSettingsView.cpp deleted file mode 100644 index e3e9bc8691..0000000000 --- a/src/preferences/network/EthernetSettingsView.cpp +++ /dev/null @@ -1,798 +0,0 @@ -/* - * Copyright 2004-2013 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Authors: - * Andre Alves Garzia, andre@andregarzia.com - * Stephan Assmuß - * Axel Dörfler - * Hugo Santos - * Philippe Saint-Pierre - * Vegard Wærp - */ - - -#include "EthernetSettingsView.h" - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "Settings.h" -#include "WirelessNetworkMenuItem.h" - - -static const uint32 kMsgApply = 'aply'; -static const uint32 kMsgRevert = 'rvrt'; -static const uint32 kMsgClose = 'clse'; -static const uint32 kMsgField = 'fild'; -static const uint32 kMsgInfo = 'info'; -static const uint32 kMsgStaticMode = 'stcm'; -static const uint32 kMsgDHCPMode = 'dynm'; -static const uint32 kMsgDisabledMode = 'disa'; -static const uint32 kMsgChange = 'chng'; -static const uint32 kMsgNetwork = 'netw'; - - -static void -SetupTextControl(BTextControl *control) -{ - control->SetModificationMessage(new BMessage(kMsgChange)); -} - - -static bool -MatchPattern(const char* string, const char* pattern) -{ - regex_t compiled; - bool result = regcomp(&compiled, pattern, REG_NOSUB | REG_EXTENDED) == 0 - && regexec(&compiled, string, 0, NULL, 0) == 0; - regfree(&compiled); - - return result; -} - - -static int32 -GetDNSListFromString(const char* text, BObjectList& list) -{ - BString string = text; - for (;;) { - size_t startPos = strcspn(string.String(), "1234567890"); - if (startPos == (size_t)string.Length()) - break; - string.Remove(0, startPos); - size_t endPos = strcspn(string.String(), ",; "); - BString *dns = new BString(); - string.MoveInto(*dns, 0, endPos); - if (!list.AddItem(dns)) - break; - } - return list.CountItems(); -} - -// #pragma mark - - - -#undef B_TRANSLATION_CONTEXT -#define B_TRANSLATION_CONTEXT "EthernetSettingsView" - - -// A TextControl which doesn't accept any charachter on creation -class RestrictedTextControl : public BTextControl { -public: - RestrictedTextControl(const char* label, - const char* initialText, - BMessage* message); - virtual ~RestrictedTextControl(); - void AllowChars(const char* chars); -}; - - -EthernetSettingsView::EthernetSettingsView() - : - BView("EthernetSettingsView", 0, NULL), - fCurrentSettings(NULL) -{ - SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); - - _GatherInterfaces(); - - // build the GUI - BGroupLayout* rootLayout = new BGroupLayout(B_VERTICAL); - SetLayout(rootLayout); - - BGridView* controlsGroup = new BGridView(); - BGridLayout* layout = controlsGroup->GridLayout(); - - // insets - float inset = ceilf(be_plain_font->Size() * 0.7); - rootLayout->SetInsets(inset, inset, inset, inset); - rootLayout->SetSpacing(inset); - layout->SetSpacing(inset, inset); - - BPopUpMenu* modeMenu = new BPopUpMenu("modes"); - modeMenu->AddItem(new BMenuItem(B_TRANSLATE("Static"), - new BMessage(kMsgStaticMode))); - modeMenu->AddItem(new BMenuItem(B_TRANSLATE("DHCP"), - new BMessage(kMsgDHCPMode))); - modeMenu->AddSeparatorItem(); - modeMenu->AddItem(new BMenuItem(B_TRANSLATE("Disabled"), - new BMessage(kMsgDisabledMode))); - - BPopUpMenu* networkMenu = new BPopUpMenu("networks"); - - BPopUpMenu* deviceMenu = new BPopUpMenu(B_TRANSLATE("")); - fDeviceMenuField = new BMenuField(B_TRANSLATE("Adapter:"), deviceMenu); - _BuildInterfacesMenu(); - - layout->AddItem(fDeviceMenuField->CreateLabelLayoutItem(), 0, 0); - layout->AddItem(fDeviceMenuField->CreateMenuBarLayoutItem(), 1, 0); - - BStringView* hardwareAddressLabel = new BStringView( - "HardwareAddressLabel", B_TRANSLATE("Hardware address:")); - fHardwareAddress = new BStringView("HardwareAddress", ""); - layout->AddView(hardwareAddressLabel, 0, 1); - layout->AddView(fHardwareAddress, 1, 1); - - fNetworkMenuField = new BMenuField(B_TRANSLATE("Network:"), networkMenu); - layout->AddItem(fNetworkMenuField->CreateLabelLayoutItem(), 0, 2); - layout->AddItem(fNetworkMenuField->CreateMenuBarLayoutItem(), 1, 2); - - fTypeMenuField = new BMenuField(B_TRANSLATE("Mode:"), modeMenu); - layout->AddItem(fTypeMenuField->CreateLabelLayoutItem(), 0, 3); - layout->AddItem(fTypeMenuField->CreateMenuBarLayoutItem(), 1, 3); - - fIPTextControl = new RestrictedTextControl( - B_TRANSLATE("IP address:"), "", NULL); - SetupTextControl(fIPTextControl); - ((RestrictedTextControl*)fIPTextControl)->AllowChars("0123456789."); - - BLayoutItem* layoutItem = fIPTextControl->CreateTextViewLayoutItem(); - layoutItem->SetExplicitMinSize(BSize( - fIPTextControl->StringWidth("XXX.XXX.XXX.XXX") + inset, - B_SIZE_UNSET)); - - layout->AddItem(fIPTextControl->CreateLabelLayoutItem(), 0, 4); - layout->AddItem(layoutItem, 1, 4); - - fNetMaskTextControl = new RestrictedTextControl( - B_TRANSLATE("Netmask:"), "", NULL); - SetupTextControl(fNetMaskTextControl); - layout->AddItem(fNetMaskTextControl->CreateLabelLayoutItem(), 0, 5); - layout->AddItem(fNetMaskTextControl->CreateTextViewLayoutItem(), 1, 5); - ((RestrictedTextControl*)fNetMaskTextControl)->AllowChars("0123456789."); - - fGatewayTextControl = new RestrictedTextControl( - B_TRANSLATE("Gateway:"), "", NULL); - SetupTextControl(fGatewayTextControl); - layout->AddItem(fGatewayTextControl->CreateLabelLayoutItem(), 0, 6); - layout->AddItem(fGatewayTextControl->CreateTextViewLayoutItem(), 1, 6); - ((RestrictedTextControl*)fGatewayTextControl)->AllowChars("0123456789."); - - fDNSTextControl = new BTextControl( - B_TRANSLATE("DNS:"), "", NULL); - SetupTextControl(fDNSTextControl); - layout->AddItem(fDNSTextControl->CreateLabelLayoutItem(), 0, 7); - layout->AddItem(fDNSTextControl->CreateTextViewLayoutItem(), 1, 7); - ((RestrictedTextControl*)fDNSTextControl)->AllowChars("0123456789.;, "); - fDNSTextControl->SetToolTip(B_TRANSLATE("DNS Servers, comma-separated")); - - fDomainTextControl = new BTextControl(B_TRANSLATE("Domain:"), "", NULL); - SetupTextControl(fDomainTextControl); - layout->AddItem(fDomainTextControl->CreateLabelLayoutItem(), 0, 8); - layout->AddItem(fDomainTextControl->CreateTextViewLayoutItem(), 1, 8); - - fErrorMessage = new BStringView("error", ""); - fErrorMessage->SetAlignment(B_ALIGN_LEFT); - fErrorMessage->SetFont(be_bold_font); - fErrorMessage->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET)); - - layout->AddView(fErrorMessage, 1, 9); - - // button group (TODO: move to window, but take care of - // enabling/disabling) - BGroupView* buttonGroup = new BGroupView(B_HORIZONTAL); - - fRevertButton = new BButton(B_TRANSLATE("Revert"), - new BMessage(kMsgRevert)); - fRevertButton->SetEnabled(false); - buttonGroup->GroupLayout()->AddView(fRevertButton); - - buttonGroup->GroupLayout()->AddItem(BSpaceLayoutItem::CreateGlue()); - - fApplyButton = new BButton(B_TRANSLATE("Apply"), new BMessage(kMsgApply)); - fApplyButton->SetEnabled(false); - buttonGroup->GroupLayout()->AddView(fApplyButton); - - rootLayout->AddView(controlsGroup); - rootLayout->AddView(buttonGroup); -} - - -EthernetSettingsView::~EthernetSettingsView() -{ -} - - -void -EthernetSettingsView::AttachedToWindow() -{ - fApplyButton->SetTarget(this); - fRevertButton->SetTarget(this); - fIPTextControl->SetTarget(this); - fNetMaskTextControl->SetTarget(this); - fGatewayTextControl->SetTarget(this); - fDNSTextControl->SetTarget(this); - fDomainTextControl->SetTarget(this); - fDeviceMenuField->Menu()->SetTargetForItems(this); - fNetworkMenuField->Menu()->SetTargetForItems(this); - fTypeMenuField->Menu()->SetTargetForItems(this); - - // Display settigs of first adapter on startup, if any - _ShowConfiguration(fSettings.ItemAt(0)); - - int flags = B_WATCH_NETWORK_INTERFACE_CHANGES; - start_watching_network(flags, this); -} - - -void -EthernetSettingsView::DetachedFromWindow() -{ - stop_watching_network(this); -} - - -void -EthernetSettingsView::MessageReceived(BMessage* message) -{ - switch (message->what) { - case B_NETWORK_MONITOR: - { - int32 opcode; - message->FindInt32("opcode", &opcode); - const char* interfaceName; - message->FindString("interface", &interfaceName); - switch (opcode) { - case B_NETWORK_INTERFACE_ADDED: - _InterfaceAdded(interfaceName); - break; - case B_NETWORK_INTERFACE_REMOVED: - _InterfaceRemoved(interfaceName); - break; - default: - // TODO: Support interface changed, etc. - break; - - } - _BuildInterfacesMenu(); - break; - } - case kMsgStaticMode: - case kMsgDHCPMode: - case kMsgDisabledMode: - case kMsgNetwork: - _EnableTextControls(message->what == kMsgStaticMode); - fApplyButton->SetEnabled(true); - fRevertButton->SetEnabled(true); - break; - case kMsgInfo: - { - const char* name; - if (message->FindString("interface", &name) != B_OK) - break; - for (int32 i = 0; i < fSettings.CountItems(); i++) { - Settings* settings = fSettings.ItemAt(i); - if (strcmp(settings->Name(), name) == 0) { - _ShowConfiguration(settings); - break; - } - } - break; - } - case kMsgRevert: - _ShowConfiguration(fCurrentSettings); - fRevertButton->SetEnabled(false); - break; - case kMsgApply: - { - if (_ValidateControl(fIPTextControl) - && _ValidateControl(fNetMaskTextControl) - && (strlen(fGatewayTextControl->Text()) == 0 - || _ValidateControl(fGatewayTextControl))) - _SaveConfiguration(); - break; - } - case kMsgChange: - fErrorMessage->SetText(""); - fApplyButton->SetEnabled(true); - break; - default: - BView::MessageReceived(message); - } -} - - -void -EthernetSettingsView::_GatherInterfaces() -{ - // iterate over all interfaces and retrieve minimal status - - fInterfaces.MakeEmpty(); - - BNetworkRoster& roster = BNetworkRoster::Default(); - BNetworkInterface interface; - uint32 cookie = 0; - - while (roster.GetNextInterface(&cookie, interface) == B_OK) { - if (strncmp(interface.Name(), "loop", 4) && interface.Name()[0]) { - _InterfaceAdded(interface.Name()); - } - } -} - - -void -EthernetSettingsView::_BuildInterfacesMenu() -{ - BMenu* menu = fDeviceMenuField->Menu(); - BMenuItem* marked = menu->FindMarked(); - BString markedName; - if (marked != NULL) { - markedName = marked->Label(); - marked->SetMarked(false); - } - menu->RemoveItems(0, menu->CountItems(), true); - - for (int32 i = 0; i < fInterfaces.CountItems(); i++) { - BString& name = *fInterfaces.ItemAt(i); - BString label = name; - BMessage* info = new BMessage(kMsgInfo); - info->AddString("interface", name.String()); - BMenuItem* item = new BMenuItem(label.String(), info); - menu->AddItem(item); - } - - if (Window() != NULL) - menu->SetTargetForItems(this); - - int32 numItems = menu->CountItems(); - if (numItems > 0) { - fDeviceMenuField->Menu()->SetEnabled(true); - BMenuItem* item = NULL; - if (numItems == 1) - item = menu->ItemAt(0); - else - item = menu->FindItem(markedName.String()); - if (item != NULL) - item->SetMarked(true); - } else { - fDeviceMenuField->Menu()->SetEnabled(false); - _ShowConfiguration((Settings*)NULL); - } -} - - -void -EthernetSettingsView::_InterfaceAdded(const char* name) -{ - fInterfaces.AddItem(new BString(name)); - fSettings.AddItem(new Settings(name)); -} - - -void -EthernetSettingsView::_InterfaceRemoved(const char* name) -{ - BString s; - for (int32 i = 0; i < fInterfaces.CountItems(); i++) { - if (fInterfaces.ItemAt(i)->Compare(name) == 0) { - delete fInterfaces.RemoveItemAt(i); - break; - } - } - - for (int32 i = 0; i < fSettings.CountItems(); i++) { - if (strcmp(fSettings.ItemAt(i)->Name(), name) == 0) { - Settings* settings = fSettings.RemoveItemAt(i); - if (strcmp(settings->Name(), fCurrentSettings->Name()) == 0) - _ShowConfiguration((Settings*)NULL); - delete settings; - break; - } - } -} - - -void -EthernetSettingsView::_ShowConfiguration(Settings* settings) -{ - fCurrentSettings = settings; - - // Clear the inputs. - fIPTextControl->SetText(""); - fGatewayTextControl->SetText(""); - fNetMaskTextControl->SetText(""); - fDNSTextControl->SetText(""); - fDomainTextControl->SetText(""); - - fTypeMenuField->SetEnabled(settings != NULL); - - bool enableControls = false; - BMenuItem* item; - - if (settings != NULL) - fHardwareAddress->SetText(settings->HardwareAddress()); - else - fHardwareAddress->SetText(""); - if (settings == NULL || settings->IsDisabled()) - item = fTypeMenuField->Menu()->FindItem(B_TRANSLATE("Disabled")); - else if (settings->AutoConfigure()) - item = fTypeMenuField->Menu()->FindItem(B_TRANSLATE("DHCP")); - else { - item = fTypeMenuField->Menu()->FindItem(B_TRANSLATE("Static")); - enableControls = true; - } - if (item != NULL) - item->SetMarked(true); - - if (settings == NULL) { - if (!fNetworkMenuField->IsHidden(fNetworkMenuField)) - fNetworkMenuField->Hide(); - _EnableTextControls(false); - return; - } - - // Show/hide networks menu - BNetworkDevice device(settings->Name()); - if (fNetworkMenuField->IsHidden(fNetworkMenuField) && device.IsWireless()) { - fNetworkMenuField->Show(); - Window()->InvalidateLayout(); - } else if (!fNetworkMenuField->IsHidden(fNetworkMenuField) - && !device.IsWireless()) { - fNetworkMenuField->Hide(); - Window()->InvalidateLayout(); - } - - if (device.IsWireless()) { - // Rebuild network menu - BMenu* menu = fNetworkMenuField->Menu(); - menu->RemoveItems(0, menu->CountItems(), true); - - std::set associated; - BNetworkAddress address; - uint32 cookie = 0; - while (device.GetNextAssociatedNetwork(cookie, address) == B_OK) - associated.insert(address); - - wireless_network network; - int32 count = 0; - cookie = 0; - while (device.GetNextNetwork(cookie, network) == B_OK) { - BMessage* message = new BMessage(kMsgNetwork); - message->AddString("device", device.Name()); - message->AddString("name", network.name); - - BMenuItem* item = new WirelessNetworkMenuItem(network.name, - network.signal_strength, - network.authentication_mode, message); - if (associated.find(network.address) != associated.end()) - item->SetMarked(true); - menu->AddItem(item); - - count++; - } - if (count == 0) { - BMenuItem* item = new BMenuItem( - B_TRANSLATE(""), NULL); - item->SetEnabled(false); - menu->AddItem(item); - } else { - BMenuItem* item = new BMenuItem( - B_TRANSLATE("Choose automatically"), NULL); - if (menu->FindMarked() == NULL) - item->SetMarked(true); - menu->AddItem(item, 0); - menu->AddItem(new BSeparatorItem(), 1); - } - menu->SetTargetForItems(this); - } - - item = fDeviceMenuField->Menu()->FindItem(settings->Name()); - if (item != NULL) - item->SetMarked(true); - - fIPTextControl->SetText(settings->IP()); - fGatewayTextControl->SetText(settings->Gateway()); - fNetMaskTextControl->SetText(settings->Netmask()); - - BString dns; - for (int32 n = 0; n < settings->NameServers().CountItems(); n++) { - if (n != 0) - dns.Append(", "); - dns.Append(settings->NameServers().ItemAt(n)->String()); - } - - fDNSTextControl->SetText(dns.String()); - - fDomainTextControl->SetText(settings->Domain()); - - _EnableTextControls(enableControls); -} - - -void -EthernetSettingsView::_EnableTextControls(bool enable) -{ - fIPTextControl->SetEnabled(enable); - fGatewayTextControl->SetEnabled(enable); - fNetMaskTextControl->SetEnabled(enable); - fDNSTextControl->SetEnabled(enable); - fDomainTextControl->SetEnabled(enable); -} - - -void -EthernetSettingsView::_ApplyControlsToConfiguration() -{ - if (!fCurrentSettings) - return; - - fCurrentSettings->SetIP(fIPTextControl->Text()); - fCurrentSettings->SetNetmask(fNetMaskTextControl->Text()); - fCurrentSettings->SetGateway(fGatewayTextControl->Text()); - - fCurrentSettings->SetAutoConfigure( - strcmp(fTypeMenuField->Menu()->FindMarked()->Label(), - B_TRANSLATE("DHCP")) == 0); - - fCurrentSettings->SetDisabled( - strcmp(fTypeMenuField->Menu()->FindMarked()->Label(), - B_TRANSLATE("Disabled")) == 0); - - fCurrentSettings->NameServers().MakeEmpty(); - - GetDNSListFromString(fDNSTextControl->Text(), - fCurrentSettings->NameServers()); - - fCurrentSettings->SetDomain(fDomainTextControl->Text()); - - fApplyButton->SetEnabled(false); - fRevertButton->SetEnabled(true); -} - - -void -EthernetSettingsView::_SaveConfiguration() -{ - _ApplyControlsToConfiguration(); - _SaveDNSConfiguration(); - _SaveAdaptersConfiguration(); - if (fCurrentSettings->AutoConfigure()) - _TriggerAutoConfig(fCurrentSettings->Name()); -} - - -void -EthernetSettingsView::_SaveDNSConfiguration() -{ - BPath path; - if (find_directory(B_SYSTEM_SETTINGS_DIRECTORY, &path) != B_OK) - return; - - path.Append("network/resolv.conf"); - - BFile file(path.Path(), B_CREATE_FILE | B_ERASE_FILE | B_WRITE_ONLY); - if (file.InitCheck() != B_OK) { - fprintf(stderr, "failed to open %s for writing: %s\n", path.Path(), - strerror(file.InitCheck())); - return; - } - - BString content("# Generated by Network Preflet\n"); - // loop over all adapters - for (int i = 0; i < fSettings.CountItems(); i++) { - Settings* settings = fSettings.ItemAt(i); - for (int j = 0; j < settings->NameServers().CountItems(); j++) { - if (settings->NameServers().ItemAt(j)->Length() > 0) { - content << "nameserver\t" - << settings->NameServers().ItemAt(j)->String() - << "\n"; - } - } - if (strlen(settings->Domain()) > 0) { - content << "domain\t" - << settings->Domain() - << "\n"; - } - } - - file.Write(content.String(), content.Length()); -} - - -void -EthernetSettingsView::_SaveAdaptersConfiguration() -{ - BPath path; - status_t status = _GetPath("interfaces", path); - if (status < B_OK) - return; - - FILE* fp = NULL; - // loop over all adapters. open the settings file only once, - // append the settins of each non-autoconfiguring adapter - for (int i = 0; i < fSettings.CountItems(); i++) { - Settings* settings = fSettings.ItemAt(i); - - std::vector networks = settings->WirelessNetworks(); - if (settings->AutoConfigure() && networks.empty()) - continue; - - if (fp == NULL) { - fp = fopen(path.Path(), "w"); - if (fp == NULL) { - fprintf(stderr, "failed to open file %s to write " - "configuration: %s\n", path.Path(), strerror(errno)); - return; - } - } - - fprintf(fp, "interface %s {\n", - settings->Name()); - - if (settings->IsDisabled()) - fprintf(fp, "\tdisabled\ttrue\n"); - else if (!settings->AutoConfigure()) { - fprintf(fp, "\taddress {\n"); - fprintf(fp, "\t\tfamily\tinet\n"); - fprintf(fp, "\t\taddress\t%s\n", settings->IP()); - fprintf(fp, "\t\tgateway\t%s\n", settings->Gateway()); - fprintf(fp, "\t\tmask\t%s\n", settings->Netmask()); - fprintf(fp, "\t}\n"); - } - if (!networks.empty()) { - for (size_t index = 0; index < networks.size(); index++) { - wireless_network& network = networks[index]; - fprintf(fp, "\tnetwork %s {\n", network.name); - fprintf(fp, "\t\tmac\t%s\n", - network.address.ToString().String()); - fprintf(fp, "\t}\n"); - } - } - fprintf(fp, "}\n\n"); - } - if (fp) { - printf("%s saved.\n", path.Path()); - fclose(fp); - } else { - // all configuration is DHCP, so delete interfaces file. - remove(path.Path()); - } -} - - -status_t -EthernetSettingsView::_TriggerAutoConfig(const char* device) -{ - BNetworkInterface interface(device); - status_t status = interface.AutoConfigure(AF_INET); - - if (status == B_BAD_PORT_ID) { - BAlert* alert = new BAlert("error", B_TRANSLATE("The net_server needs to run for " - "the auto configuration!"), B_TRANSLATE("OK")); - alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE); - alert->Go(); - } else if (status != B_OK) { - BString errorMessage(B_TRANSLATE("Auto-configuring failed: ")); - errorMessage << strerror(status); - BAlert* alert = new BAlert("error", errorMessage.String(), "OK"); - alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE); - alert->Go(); - } - - return status; -} - - -status_t -EthernetSettingsView::_GetPath(const char* name, BPath& path) -{ - if (find_directory(B_SYSTEM_SETTINGS_DIRECTORY, &path, true) != B_OK) - return B_ERROR; - - path.Append("network"); - create_directory(path.Path(), 0755); - - if (name != NULL) - path.Append(name); - return B_OK; -} - - -bool -EthernetSettingsView::_ValidateControl(BTextControl* control) -{ - static const char* pattern = "^(25[0-5]|2[0-4][0-9]|[01][0-9]{2}|[0-9]" - "{1,2})(\\.(25[0-5]|2[0-4][0-9]|[01][0-9]{2}|[0-9]{1,2})){3}$"; - - if (control->IsEnabled() && !MatchPattern(control->Text(), pattern)) { - control->MakeFocus(); - BString errorMessage; - - if (control == fIPTextControl) { - errorMessage << B_TRANSLATE("IP address is invalid"); - } else if (control == fNetMaskTextControl) { - errorMessage << B_TRANSLATE("Netmask is invalid"); - } else if (control == fGatewayTextControl) { - errorMessage << B_TRANSLATE("Gateway is invalid"); - } else if (control == fDNSTextControl) { - errorMessage << B_TRANSLATE("DNS list is invalid"); - } - - fErrorMessage->SetText(errorMessage.String()); - beep(); - return false; - } - return true; -} - - -// IPV4AddressTextControl -RestrictedTextControl::RestrictedTextControl(const char* label, - const char* initialText, BMessage* message) - : - BTextControl(label, initialText, message) -{ - // TODO: Would be nice to have a formatted input control - // TODO: This doesn't block multi-byte characters - for (uint32 i = (uint32)0; i <= 255; i++) - TextView()->DisallowChar(i); -} - - -/* virtual */ -RestrictedTextControl::~RestrictedTextControl() -{ -} - - -void -RestrictedTextControl::AllowChars(const char* chars) -{ - int numChars = strlen(chars); - for (int i = 0; i < numChars; i++) - TextView()->AllowChar((uint32)chars[i]); -} diff --git a/src/preferences/network/EthernetSettingsView.h b/src/preferences/network/EthernetSettingsView.h deleted file mode 100644 index 28f49f8ae3..0000000000 --- a/src/preferences/network/EthernetSettingsView.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2004-2010 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Author: - * Andre Alves Garzia, andre@andregarzia.com - * Axel Dörfler - * Hugo Santos - * Vegard Wærp - */ -#ifndef ETHERNET_SETTINGS_VIEW_H -#define ETHERNET_SETTINGS_VIEW_H - - -#include -#include - -#include - - -class BButton; -class BMenuField; -class BPath; -class BTextControl; -class BStringView; -class Settings; - - -class EthernetSettingsView : public BView { -public: - EthernetSettingsView(); - virtual ~EthernetSettingsView(); - -protected: - virtual void AttachedToWindow(); - virtual void DetachedFromWindow(); - virtual void MessageReceived(BMessage* message); - -private: - void _GatherInterfaces(); - void _BuildInterfacesMenu(); - void _InterfaceAdded(const char* name); - void _InterfaceRemoved(const char* name); - void _ShowConfiguration(Settings* settings); - void _EnableTextControls(bool enable); - void _SaveConfiguration(); - void _SaveDNSConfiguration(); - void _SaveAdaptersConfiguration(); - void _ApplyControlsToConfiguration(); - status_t _GetPath(const char* name, BPath& path); - status_t _TriggerAutoConfig(const char* device); - - bool _ValidateControl(BTextControl* control); -private: - - BButton* fApplyButton; - BButton* fRevertButton; - // TODO: buttons should be moved to window instead - BMenuField* fDeviceMenuField; - BStringView* fHardwareAddress; - BMenuField* fNetworkMenuField; - BMenuField* fTypeMenuField; - BTextControl* fIPTextControl; - BTextControl* fNetMaskTextControl; - BTextControl* fGatewayTextControl; - - BTextControl* fDNSTextControl; - BTextControl* fDomainTextControl; - - BStringView* fErrorMessage; - - // TODO: DNS settings do not belong here, do they? - BObjectList fInterfaces; - // TODO: the view should not know about the interfaces, - // it should only display the given interface, move - // one level up. - BObjectList fSettings; - // TODO: the view should not know about a list - // of settings, instead it should be configured - // to a specific setting from the code one level up - Settings* fCurrentSettings; -}; - -#endif /* ETHERNET_SETTINGS_VIEW_H */ diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp b/src/preferences/network/InterfacesAddOn/InterfaceAddressView.cpp similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp rename to src/preferences/network/InterfacesAddOn/InterfaceAddressView.cpp diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h b/src/preferences/network/InterfacesAddOn/InterfaceAddressView.h similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h rename to src/preferences/network/InterfacesAddOn/InterfaceAddressView.h diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp b/src/preferences/network/InterfacesAddOn/InterfaceHardwareView.cpp similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.cpp rename to src/preferences/network/InterfacesAddOn/InterfaceHardwareView.cpp diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h b/src/preferences/network/InterfacesAddOn/InterfaceHardwareView.h similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfaceHardwareView.h rename to src/preferences/network/InterfacesAddOn/InterfaceHardwareView.h diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.cpp b/src/preferences/network/InterfacesAddOn/InterfaceView.cpp similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.cpp rename to src/preferences/network/InterfacesAddOn/InterfaceView.cpp diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h b/src/preferences/network/InterfacesAddOn/InterfaceView.h similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfaceView.h rename to src/preferences/network/InterfacesAddOn/InterfaceView.h diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp b/src/preferences/network/InterfacesAddOn/InterfacesAddOn.cpp similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp rename to src/preferences/network/InterfacesAddOn/InterfacesAddOn.cpp diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h b/src/preferences/network/InterfacesAddOn/InterfacesAddOn.h similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.h rename to src/preferences/network/InterfacesAddOn/InterfacesAddOn.h diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesIcons.rdef b/src/preferences/network/InterfacesAddOn/InterfacesIcons.rdef similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfacesIcons.rdef rename to src/preferences/network/InterfacesAddOn/InterfacesIcons.rdef diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.cpp b/src/preferences/network/InterfacesAddOn/InterfacesListView.cpp similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.cpp rename to src/preferences/network/InterfacesAddOn/InterfacesListView.cpp diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.h b/src/preferences/network/InterfacesAddOn/InterfacesListView.h similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/InterfacesListView.h rename to src/preferences/network/InterfacesAddOn/InterfacesListView.h diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile b/src/preferences/network/InterfacesAddOn/Jamfile similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/Jamfile rename to src/preferences/network/InterfacesAddOn/Jamfile diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.cpp b/src/preferences/network/InterfacesAddOn/NetworkSettings.cpp similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.cpp rename to src/preferences/network/InterfacesAddOn/NetworkSettings.cpp diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h b/src/preferences/network/InterfacesAddOn/NetworkSettings.h similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/NetworkSettings.h rename to src/preferences/network/InterfacesAddOn/NetworkSettings.h diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/StatusAddOn.cpp b/src/preferences/network/InterfacesAddOn/StatusAddOn.cpp similarity index 100% rename from src/tests/kits/net/preflet/InterfacesAddOn/StatusAddOn.cpp rename to src/preferences/network/InterfacesAddOn/StatusAddOn.cpp diff --git a/src/preferences/network/Jamfile b/src/preferences/network/Jamfile index 01fac7fed0..9a30b10374 100644 --- a/src/preferences/network/Jamfile +++ b/src/preferences/network/Jamfile @@ -1,26 +1,22 @@ -SubDir HAIKU_TOP src preferences network ; +SubDir HAIKU_TOP src tests kits net preflet ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src apps networkstatus ] ; -UsePrivateHeaders net shared ; - -Preference Network : - NetworkApp.cpp - NetworkWindow.cpp - EthernetSettingsView.cpp - Settings.cpp +Preference NetworkSetup : + NetworkSetup.cpp + NetworkSetupWindow.cpp + NetworkSetupProfile.cpp + NetworkSetupAddOn.cpp # from NetworkStatus RadioView.cpp WirelessNetworkMenuItem.cpp - : be $(HAIKU_NETWORK_LIBS) [ TargetLibstdc++ ] [ TargetLibsupc++ ] - localestub libbnetapi.so - : Network.rdef + : be root [ TargetLibstdc++ ] localestub + : NetworkSetup.rdef ; -DoCatalogs Network : - x-vnd.Haiku-Network - : - EthernetSettingsView.cpp - NetworkWindow.cpp -; +SubInclude HAIKU_TOP src tests kits net preflet InterfacesAddOn ; +SubInclude HAIKU_TOP src tests kits net preflet ServicesAddOn ; +#SubInclude HAIKU_TOP src tests kits net preflet DummyAddOn ; +#SubInclude HAIKU_TOP src tests kits net preflet MultipleAddOns ; +#SubInclude HAIKU_TOP src tests kits net preflet DialUpAddOn ; diff --git a/src/tests/kits/net/preflet/MultipleAddOns/Jamfile b/src/preferences/network/MultipleAddOns/Jamfile similarity index 100% rename from src/tests/kits/net/preflet/MultipleAddOns/Jamfile rename to src/preferences/network/MultipleAddOns/Jamfile diff --git a/src/tests/kits/net/preflet/MultipleAddOns/MultipleAddOn.cpp b/src/preferences/network/MultipleAddOns/MultipleAddOn.cpp similarity index 100% rename from src/tests/kits/net/preflet/MultipleAddOns/MultipleAddOn.cpp rename to src/preferences/network/MultipleAddOns/MultipleAddOn.cpp diff --git a/src/preferences/network/Network.rdef b/src/preferences/network/Network.rdef deleted file mode 100644 index b05df03148..0000000000 --- a/src/preferences/network/Network.rdef +++ /dev/null @@ -1,45 +0,0 @@ - -resource app_signature "application/x-vnd.Haiku-Network"; - -resource app_name_catalog_entry "x-vnd.Haiku-Network:System name:Network"; - -resource app_flags B_SINGLE_LAUNCH; - -resource app_version { - major = 1, - middle = 0, - minor = 0, - - variety = B_APPV_DEVELOPMENT, - internal = 0, - - short_info = "Network", - long_info = "Network ©2007-2009 Haiku" -}; - -resource vector_icon { - $"6E6369660B0500020016023A3D24339506B715A93DDB134A79084A1A1100D7FF" - $"B80594020016023A3D24339506B715A93DDB134A79084A1A1100D2FF8505C402" - $"0016023A692E36692FBA2ECD3E2ECC4B89A4496318005CFF83020016023C8000" - $"0000000000003C00004AC00049000000F4FFDB03A9FF00020106033C00000000" - $"000000003C00004680004680000B9EEDFF2567CEFFFF0473B3020106033C0000" - $"0000000000003C000046800046800000B9FF97BE05D65EFF04994304016E0F0A" - $"044C60516060505C4E02043334BD6D34B7B434263926BBDC26BE0E333EB7B43E" - $"BD6D3E403940BE0E40BBDC0A0651365A395A504C5E425842400A084C444C5EC3" - $"AFCB27C3AFC72B4450C15AC9CB425842400A04C1EFC6634450C15AC9CBC1DECA" - $"180A04C317C6E8C1EFC663C1DECA18C316CACE0A04C3AFCB27C3AFC72BC317C6" - $"E8C316CACE0A0451365A394C4442400A044C445A395A504C5E0A04484648484A" - $"C3234AC2570404BE404A3246324A323E4236423C4232373202042E22BB3722B5" - $"F022222E22B5F022BB372E3AB5F03ABB373A3A2E3ABB373AB5F00608BFDBB506" - $"B560B506B560B443B638222E22B75722BAB3B717BD1FB52DBC80B717BD1F2836" - $"28322A34263024302E2828282A2826060CA2EBAF2E28B98632263428302E302C" - $"303036323436BBB3BC32BBB3BC32BCB6BB513A2E3ABA053AB668B9EDB3FDBBE9" - $"B493B9EDB3FD2E2430260614BFDDAFABE82E22B90C22B72A22B506B560B5E6B4" - $"68B506B56028282826282A242E30283226302A3436B717BD1FB717BD1FB78EBD" - $"452E3AB80E3AB9C53ABBB3BC32BADCBCEBBBB3BC3234363632302E3030302C34" - $"283226B953282E30262E24B9EDB3FDB9EDB3FDB980B3DD0D0A0A020001000A0A" - $"010A124000000000000000003FB6DB42000043249201178400040A00030A020B" - $"1001178400040A010103000A020104000A030105000A040106000A060107000A" - $"050108000A0301091001178100040A070109000A08010E000A09020C0D00" -}; - diff --git a/src/preferences/network/NetworkApp.cpp b/src/preferences/network/NetworkApp.cpp deleted file mode 100644 index e47942b824..0000000000 --- a/src/preferences/network/NetworkApp.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2004-2007 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Author: - * Andre Alves Garzia, andre@andregarzia.com - * With code from: - * Axel Dörfler - * Hugo Santos - */ - -#include "NetworkApp.h" -#include "NetworkWindow.h" - -NetworkApp::NetworkApp() - : BApplication("application/x-vnd.Haiku-Network") -{ -} - -NetworkApp::~NetworkApp() -{ -} - -void -NetworkApp::ReadyToRun() -{ - fEthWindow = new NetworkWindow(); - fEthWindow->Show(); -} - -int -main(int argc, char** argv) -{ - NetworkApp app; - app.Run(); - - return 0; -} diff --git a/src/preferences/network/NetworkApp.h b/src/preferences/network/NetworkApp.h deleted file mode 100644 index be73cd88b0..0000000000 --- a/src/preferences/network/NetworkApp.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2004-2007 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Author: - * Andre Alves Garzia, andre@andregarzia.com - * With code from: - * Axel Dorfler - * Hugo Santos - */ - -#ifndef NETWORK_APP_H -#define NETWORK_APP_H - -#include -#include -#include -#include -#include - -#include "NetworkWindow.h" - -class NetworkApp : public BApplication { - public: - NetworkApp(); - virtual ~NetworkApp(); - - virtual void ReadyToRun(); - private: - NetworkWindow *fEthWindow; -}; - - -#endif /* NETWORK_APP_H */ diff --git a/src/tests/kits/net/preflet/NetworkSetup.cpp b/src/preferences/network/NetworkSetup.cpp similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetup.cpp rename to src/preferences/network/NetworkSetup.cpp diff --git a/src/tests/kits/net/preflet/NetworkSetup.rdef b/src/preferences/network/NetworkSetup.rdef similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetup.rdef rename to src/preferences/network/NetworkSetup.rdef diff --git a/src/tests/kits/net/preflet/NetworkSetupAddOn.cpp b/src/preferences/network/NetworkSetupAddOn.cpp similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetupAddOn.cpp rename to src/preferences/network/NetworkSetupAddOn.cpp diff --git a/src/tests/kits/net/preflet/NetworkSetupAddOn.h b/src/preferences/network/NetworkSetupAddOn.h similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetupAddOn.h rename to src/preferences/network/NetworkSetupAddOn.h diff --git a/src/tests/kits/net/preflet/NetworkSetupProfile.cpp b/src/preferences/network/NetworkSetupProfile.cpp similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetupProfile.cpp rename to src/preferences/network/NetworkSetupProfile.cpp diff --git a/src/tests/kits/net/preflet/NetworkSetupProfile.h b/src/preferences/network/NetworkSetupProfile.h similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetupProfile.h rename to src/preferences/network/NetworkSetupProfile.h diff --git a/src/tests/kits/net/preflet/NetworkSetupWindow.cpp b/src/preferences/network/NetworkSetupWindow.cpp similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetupWindow.cpp rename to src/preferences/network/NetworkSetupWindow.cpp diff --git a/src/tests/kits/net/preflet/NetworkSetupWindow.h b/src/preferences/network/NetworkSetupWindow.h similarity index 100% rename from src/tests/kits/net/preflet/NetworkSetupWindow.h rename to src/preferences/network/NetworkSetupWindow.h diff --git a/src/preferences/network/NetworkWindow.cpp b/src/preferences/network/NetworkWindow.cpp deleted file mode 100644 index a0bb0603c4..0000000000 --- a/src/preferences/network/NetworkWindow.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2004-2010 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Author: - * Andre Alves Garzia, andre@andregarzia.com - */ - - -#include "NetworkWindow.h" - -#include -#include -#include -#include - -#include "EthernetSettingsView.h" - - -#undef B_TRANSLATION_CONTEXT -#define B_TRANSLATION_CONTEXT "NetworkWindow" - - -NetworkWindow::NetworkWindow() - : - BWindow(BRect(50, 50, 269, 302), B_TRANSLATE_SYSTEM_NAME("Network"), - B_TITLED_WINDOW, B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS - | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS | B_QUIT_ON_WINDOW_CLOSE) -{ - SetLayout(new BGroupLayout(B_HORIZONTAL)); - GetLayout()->AddView(new EthernetSettingsView()); -} diff --git a/src/preferences/network/NetworkWindow.h b/src/preferences/network/NetworkWindow.h deleted file mode 100644 index 686d48a868..0000000000 --- a/src/preferences/network/NetworkWindow.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2004-2010 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Author: - * Andre Alves Garzia, andre@andregarzia.com - */ -#ifndef NETWORK_WINDOW_H -#define NETWORK_WINDOW_H - - -#include - - -class NetworkWindow : public BWindow { -public: - NetworkWindow(); -}; - - -#endif // NETWORK_WINDOW_H diff --git a/src/tests/kits/net/preflet/ServicesAddOn/DNSSettingsView.cpp b/src/preferences/network/ServicesAddOn/DNSSettingsView.cpp similarity index 100% rename from src/tests/kits/net/preflet/ServicesAddOn/DNSSettingsView.cpp rename to src/preferences/network/ServicesAddOn/DNSSettingsView.cpp diff --git a/src/tests/kits/net/preflet/ServicesAddOn/DNSSettingsView.h b/src/preferences/network/ServicesAddOn/DNSSettingsView.h similarity index 100% rename from src/tests/kits/net/preflet/ServicesAddOn/DNSSettingsView.h rename to src/preferences/network/ServicesAddOn/DNSSettingsView.h diff --git a/src/tests/kits/net/preflet/ServicesAddOn/Jamfile b/src/preferences/network/ServicesAddOn/Jamfile similarity index 100% rename from src/tests/kits/net/preflet/ServicesAddOn/Jamfile rename to src/preferences/network/ServicesAddOn/Jamfile diff --git a/src/tests/kits/net/preflet/ServicesAddOn/ServicesAddOn.cpp b/src/preferences/network/ServicesAddOn/ServicesAddOn.cpp similarity index 100% rename from src/tests/kits/net/preflet/ServicesAddOn/ServicesAddOn.cpp rename to src/preferences/network/ServicesAddOn/ServicesAddOn.cpp diff --git a/src/tests/kits/net/preflet/ServicesAddOn/ServicesAddOn.h b/src/preferences/network/ServicesAddOn/ServicesAddOn.h similarity index 100% rename from src/tests/kits/net/preflet/ServicesAddOn/ServicesAddOn.h rename to src/preferences/network/ServicesAddOn/ServicesAddOn.h diff --git a/src/preferences/network/Settings.cpp b/src/preferences/network/Settings.cpp deleted file mode 100644 index f8cf408774..0000000000 --- a/src/preferences/network/Settings.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2004-2013 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Authors: - * Andre Alves Garzia, andre@andregarzia.com - * Axel Dörfler, axeld@pinc-software.de. - * Vegard Wærp, vegarwa@online.no - */ - - -#include "Settings.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - - -// #pragma mark - - - -Settings::Settings(const char* name) - : - fAuto(true), - fDisabled(false), - fNameServers(5, true) -{ - fName = name; - - ReadConfiguration(); -} - - -Settings::~Settings() -{ -} - - -/*! Returns all associated wireless networks. */ -std::vector -Settings::WirelessNetworks() -{ - std::vector networks; - - BNetworkDevice device(fName); - if (device.IsWireless()) { - wireless_network wirelessNetwork; - uint32 cookie = 0; - while (device.GetNextAssociatedNetwork(cookie, wirelessNetwork) == B_OK) - networks.push_back(wirelessNetwork); - } - - return networks; -} - - -void -Settings::ReadConfiguration() -{ - BNetworkInterface interface(fName); - BNetworkAddress hardwareAddress; - if (interface.GetHardwareAddress(hardwareAddress) != B_OK) - return; - - fHardwareAddress = hardwareAddress.ToString(); - BNetworkInterfaceAddress address; - - // TODO: We only get the first address - if (interface.GetAddressAt(0, address) != B_OK) - return; - - fIP = address.Address().ToString(); - fNetmask = address.Mask().ToString(); - - int family = AF_INET; - if (address.Address().Family() != AF_UNSPEC) - family = address.Address().Family(); - - BNetworkAddress gatewayAddress; - if (interface.GetDefaultRoute(family, gatewayAddress) != B_OK) - return; - - fGateway = gatewayAddress.ToString(); - - uint32 flags = interface.Flags(); - - fAuto = (flags & (IFF_AUTO_CONFIGURED | IFF_CONFIGURING)) != 0; - fDisabled = (flags & IFF_UP) == 0; - - // read resolv.conf for the dns. - fNameServers.MakeEmpty(); - - res_init(); - res_state state = __res_state(); - - if (state != NULL) { - for (int i = 0; i < state->nscount; i++) { - fNameServers.AddItem( - new BString(inet_ntoa(state->nsaddr_list[i].sin_addr))); - } - fDomain = state->dnsrch[0]; - } -} diff --git a/src/preferences/network/Settings.h b/src/preferences/network/Settings.h deleted file mode 100644 index efbb436050..0000000000 --- a/src/preferences/network/Settings.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2004-2013 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Authors: - * Andre Alves Garzia, andre@andregarzia.com - * Vegard Wærp, vegarwa@online.no - */ -#ifndef SETTINGS_H -#define SETTINGS_H - - -#include - -#include -#include -#include - - -class Settings { -public: - Settings(const char* name); - virtual ~Settings(); - - void SetIP(const BString& ip) - { fIP = ip; } - void SetGateway(const BString& ip) - { fGateway = ip; } - void SetNetmask(const BString& ip) - { fNetmask = ip; } - void SetDomain(const BString& domain) - { fDomain = domain; } - void SetAutoConfigure(bool autoConfigure) - { fAuto = autoConfigure; } - void SetDisabled(bool disabled) - { fDisabled = disabled; } - - const char* HardwareAddress() { - return fHardwareAddress.String(); - } - const char* IP() { return fIP.String(); } - const char* Gateway() { return fGateway.String(); } - const char* Netmask() { return fNetmask.String(); } - const char* Name() { return fName.String(); } - const char* Domain() { return fDomain.String(); } - bool AutoConfigure() { return fAuto; } - bool IsDisabled() { return fDisabled; } - - std::vector WirelessNetworks(); - - BObjectList& NameServers() { return fNameServers; } - - void ReadConfiguration(); - -private: - BString fHardwareAddress; - BString fIP; - BString fGateway; - BString fNetmask; - BString fName; - BString fDomain; - bool fAuto; - bool fDisabled; - BObjectList fNameServers; -}; - - -#endif /* SETTINGS_H */ diff --git a/src/tests/kits/net/preflet/Jamfile b/src/tests/kits/net/preflet/Jamfile deleted file mode 100644 index 9a30b10374..0000000000 --- a/src/tests/kits/net/preflet/Jamfile +++ /dev/null @@ -1,22 +0,0 @@ -SubDir HAIKU_TOP src tests kits net preflet ; -SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src apps networkstatus ] ; - -Preference NetworkSetup : - NetworkSetup.cpp - NetworkSetupWindow.cpp - NetworkSetupProfile.cpp - NetworkSetupAddOn.cpp - - # from NetworkStatus - RadioView.cpp - WirelessNetworkMenuItem.cpp - - : be root [ TargetLibstdc++ ] localestub - : NetworkSetup.rdef -; - -SubInclude HAIKU_TOP src tests kits net preflet InterfacesAddOn ; -SubInclude HAIKU_TOP src tests kits net preflet ServicesAddOn ; -#SubInclude HAIKU_TOP src tests kits net preflet DummyAddOn ; -#SubInclude HAIKU_TOP src tests kits net preflet MultipleAddOns ; -#SubInclude HAIKU_TOP src tests kits net preflet DialUpAddOn ;