~indicator-network-developers/connman/head.packaging

« back to all changes in this revision

Viewing changes to plugins/ethernet.c

  • Committer: Antti Kaijanmäki
  • Date: 2011-11-27 16:50:21 UTC
  • mfrom: (2395.1.8 merge-head)
  • Revision ID: antti.kaijanmaki@canonical.com-20111127165021-p6lh1j494wisde77
* Merge from upstream
  * bump upstream version
* refresh distro patches
  * 08-remove-internal-backtrace-hand.patch: drop for rewrite

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
        .disconnect     = cable_disconnect,
83
83
};
84
84
 
85
 
static void add_network(struct connman_device *device)
 
85
static void add_network(struct connman_device *device,
 
86
                        struct ethernet_data *ethernet)
86
87
{
87
88
        struct connman_network *network;
88
89
        int index;
107
108
        connman_network_set_group(network, "cable");
108
109
 
109
110
        connman_network_set_connected(network, TRUE);
 
111
 
 
112
        ethernet->network = network;
 
113
}
 
114
 
 
115
static void remove_network(struct connman_device *device,
 
116
                                struct ethernet_data *ethernet)
 
117
{
 
118
        if (ethernet->network == NULL)
 
119
                return;
 
120
 
 
121
        connman_device_remove_network(device, ethernet->network);
 
122
        connman_network_unref(ethernet->network);
 
123
 
 
124
        ethernet->network = NULL;
110
125
}
111
126
 
112
127
static void ethernet_newlink(unsigned flags, unsigned change, void *user_data)
129
144
        if ((ethernet->flags & IFF_LOWER_UP) != (flags & IFF_LOWER_UP)) {
130
145
                if (flags & IFF_LOWER_UP) {
131
146
                        DBG("carrier on");
132
 
                        add_network(device);
 
147
                        add_network(device, ethernet);
133
148
                } else {
134
149
                        DBG("carrier off");
135
 
                        connman_device_remove_all_networks(device);
 
150
                        remove_network(device, ethernet);
136
151
                }
137
152
        }
138
153
 
170
185
 
171
186
        connman_rtnl_remove_watch(ethernet->watch);
172
187
 
173
 
        connman_device_remove_all_networks(device);
 
188
        remove_network(device, ethernet);
174
189
 
175
190
        g_free(ethernet);
176
191
}