Blame src/nmtui/nmt-page-ethernet.c

Packit Service dff8e4
/* SPDX-License-Identifier: GPL-2.0-or-later */
Packit Service dff8e4
/*
Packit Service dff8e4
 * Copyright (C) 2013 Red Hat, Inc.
Packit Service dff8e4
 */
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * SECTION:nmt-page-ethernet
Packit Service dff8e4
 * @short_description: The editor page for Ethernet connections
Packit Service dff8e4
 */
Packit Service dff8e4
Packit Service dff8e4
#include "libnm-client-aux-extern/nm-default-client.h"
Packit Service dff8e4
Packit Service dff8e4
#include "nmt-page-ethernet.h"
Packit Service dff8e4
Packit Service dff8e4
#include <linux/if_ether.h>
Packit Service dff8e4
#include <linux/if_infiniband.h>
Packit Service dff8e4
Packit Service dff8e4
#include "nmt-mac-entry.h"
Packit Service dff8e4
#include "nmt-mtu-entry.h"
Packit Service dff8e4
Packit Service dff8e4
G_DEFINE_TYPE(NmtPageEthernet, nmt_page_ethernet, NMT_TYPE_EDITOR_PAGE_DEVICE)
Packit Service dff8e4
Packit Service dff8e4
NmtEditorPage *
Packit Service dff8e4
nmt_page_ethernet_new(NMConnection *conn, NmtDeviceEntry *deventry)
Packit Service dff8e4
{
Packit Service dff8e4
    return g_object_new(NMT_TYPE_PAGE_ETHERNET, "connection", conn, "device-entry", deventry, NULL);
Packit Service dff8e4
}
Packit Service dff8e4
Packit Service dff8e4
static void
Packit Service dff8e4
nmt_page_ethernet_init(NmtPageEthernet *ethernet)
Packit Service dff8e4
{}
Packit Service dff8e4
Packit Service dff8e4
static void
Packit Service dff8e4
nmt_page_ethernet_constructed(GObject *object)
Packit Service dff8e4
{
Packit Service dff8e4
    NmtPageEthernet * ethernet = NMT_PAGE_ETHERNET(object);
Packit Service dff8e4
    NmtDeviceEntry *  deventry;
Packit Service dff8e4
    NmtEditorSection *section;
Packit Service dff8e4
    NmtEditorGrid *   grid;
Packit Service dff8e4
    NMSettingWired *  s_wired;
Packit Service dff8e4
    NmtNewtWidget *   widget;
Packit Service dff8e4
    NMConnection *    conn;
Packit Service dff8e4
Packit Service dff8e4
    conn    = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(ethernet));
Packit Service dff8e4
    s_wired = nm_connection_get_setting_wired(conn);
Packit Service dff8e4
    if (!s_wired) {
Packit Service dff8e4
        nm_connection_add_setting(conn, nm_setting_wired_new());
Packit Service dff8e4
        s_wired = nm_connection_get_setting_wired(conn);
Packit Service dff8e4
    }
Packit Service dff8e4
Packit Service dff8e4
    deventry = nmt_editor_page_device_get_device_entry(NMT_EDITOR_PAGE_DEVICE(object));
Packit Service dff8e4
    g_object_bind_property(s_wired,
Packit Service dff8e4
                           NM_SETTING_WIRED_MAC_ADDRESS,
Packit Service dff8e4
                           deventry,
Packit Service dff8e4
                           "mac-address",
Packit Service dff8e4
                           G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
Packit Service dff8e4
Packit Service dff8e4
    section = nmt_editor_section_new(_("ETHERNET"), NULL, FALSE);
Packit Service dff8e4
    grid    = nmt_editor_section_get_body(section);
Packit Service dff8e4
Packit Service dff8e4
    widget = nmt_mac_entry_new(40, ETH_ALEN, NMT_MAC_ENTRY_TYPE_CLONED);
Packit Service dff8e4
    g_object_bind_property(s_wired,
Packit Service dff8e4
                           NM_SETTING_WIRED_CLONED_MAC_ADDRESS,
Packit Service dff8e4
                           widget,
Packit Service dff8e4
                           "mac-address",
Packit Service dff8e4
                           G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
Packit Service dff8e4
    nmt_editor_grid_append(grid, _("Cloned MAC address"), widget, NULL);
Packit Service dff8e4
Packit Service dff8e4
    widget = nmt_mtu_entry_new();
Packit Service dff8e4
    g_object_bind_property(s_wired,
Packit Service dff8e4
                           NM_SETTING_WIRED_MTU,
Packit Service dff8e4
                           widget,
Packit Service dff8e4
                           "mtu",
Packit Service dff8e4
                           G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
Packit Service dff8e4
    nmt_editor_grid_append(grid, _("MTU"), widget, NULL);
Packit Service dff8e4
Packit Service dff8e4
    nmt_editor_page_add_section(NMT_EDITOR_PAGE(ethernet), section);
Packit Service dff8e4
Packit Service dff8e4
    G_OBJECT_CLASS(nmt_page_ethernet_parent_class)->constructed(object);
Packit Service dff8e4
}
Packit Service dff8e4
Packit Service dff8e4
static void
Packit Service dff8e4
nmt_page_ethernet_class_init(NmtPageEthernetClass *ethernet_class)
Packit Service dff8e4
{
Packit Service dff8e4
    GObjectClass *object_class = G_OBJECT_CLASS(ethernet_class);
Packit Service dff8e4
Packit Service dff8e4
    object_class->constructed = nmt_page_ethernet_constructed;
Packit Service dff8e4
}