80
static void emit_element_signal(DBusConnection *conn, const char *member,
81
struct connman_element *element)
85
if (__connman_debug_enabled() == FALSE)
88
DBG("conn %p member %s", conn, member);
93
signal = dbus_message_new_signal(element->path,
94
CONNMAN_DEBUG_INTERFACE, member);
98
g_dbus_send_message(conn, signal);
101
78
struct foreach_data {
102
79
enum connman_element_type type;
103
80
element_cb_t callback;
274
251
case CONNMAN_DEVICE_TYPE_UNKNOWN:
275
252
case CONNMAN_DEVICE_TYPE_VENDOR:
276
253
case CONNMAN_DEVICE_TYPE_GPS:
277
case CONNMAN_DEVICE_TYPE_NOZOMI:
278
case CONNMAN_DEVICE_TYPE_HUAWEI:
279
case CONNMAN_DEVICE_TYPE_NOVATEL:
281
255
case CONNMAN_DEVICE_TYPE_ETHERNET:
282
service = __connman_service_lookup_from_device(device);
284
256
case CONNMAN_DEVICE_TYPE_WIFI:
285
257
case CONNMAN_DEVICE_TYPE_WIMAX:
286
258
case CONNMAN_DEVICE_TYPE_BLUETOOTH:
259
case CONNMAN_DEVICE_TYPE_CELLULAR:
287
260
case CONNMAN_DEVICE_TYPE_MBM:
288
261
case CONNMAN_DEVICE_TYPE_HSO:
289
262
network = __connman_element_get_network(element);
383
356
case CONNMAN_SERVICE_TYPE_UNKNOWN:
357
case CONNMAN_SERVICE_TYPE_SYSTEM:
384
358
case CONNMAN_SERVICE_TYPE_ETHERNET:
385
359
case CONNMAN_SERVICE_TYPE_BLUETOOTH:
386
360
case CONNMAN_SERVICE_TYPE_CELLULAR:
361
case CONNMAN_SERVICE_TYPE_VPN:
388
363
case CONNMAN_SERVICE_TYPE_WIFI:
389
364
case CONNMAN_SERVICE_TYPE_WIMAX:
888
868
*((char **) value) = element->ipv4.nameserver;
889
869
__connman_element_unlock(element);
871
case CONNMAN_PROPERTY_ID_IPV4_TIMESERVER:
872
if (element->ipv4.timeserver == NULL)
873
return connman_element_get_value(element->parent,
875
__connman_element_lock(element);
876
*((char **) value) = element->ipv4.timeserver;
877
__connman_element_unlock(element);
1111
1099
const char *method = NULL;
1112
1100
const char *address = NULL, *netmask = NULL, *gateway = NULL;
1113
1101
const char *broadcast = NULL, *nameserver = NULL;
1102
const char *timeserver = NULL;
1115
1104
connman_element_get_value(element,
1116
1105
CONNMAN_PROPERTY_ID_IPV4_METHOD, &method);
1125
1114
CONNMAN_PROPERTY_ID_IPV4_BROADCAST, &broadcast);
1126
1115
connman_element_get_value(element,
1127
1116
CONNMAN_PROPERTY_ID_IPV4_NAMESERVER, &nameserver);
1117
connman_element_get_value(element,
1118
CONNMAN_PROPERTY_ID_IPV4_TIMESERVER, ×erver);
1129
1120
if (method != NULL)
1130
connman_dbus_dict_append_variant(dict, "IPv4.Method",
1121
connman_dbus_dict_append_basic(dict, "IPv4.Method",
1131
1122
DBUS_TYPE_STRING, &method);
1133
1124
if (address != NULL)
1134
connman_dbus_dict_append_variant(dict, "IPv4.Address",
1125
connman_dbus_dict_append_basic(dict, "IPv4.Address",
1135
1126
DBUS_TYPE_STRING, &address);
1137
1128
if (netmask != NULL)
1138
connman_dbus_dict_append_variant(dict, "IPv4.Netmask",
1129
connman_dbus_dict_append_basic(dict, "IPv4.Netmask",
1139
1130
DBUS_TYPE_STRING, &netmask);
1141
1132
if (gateway != NULL)
1142
connman_dbus_dict_append_variant(dict, "IPv4.Gateway",
1133
connman_dbus_dict_append_basic(dict, "IPv4.Gateway",
1143
1134
DBUS_TYPE_STRING, &gateway);
1145
1136
if (broadcast != NULL)
1146
connman_dbus_dict_append_variant(dict, "IPv4.Broadcast",
1137
connman_dbus_dict_append_basic(dict, "IPv4.Broadcast",
1147
1138
DBUS_TYPE_STRING, &broadcast);
1149
1140
if (nameserver != NULL)
1150
connman_dbus_dict_append_variant(dict, "IPv4.Nameserver",
1141
connman_dbus_dict_append_basic(dict, "IPv4.Nameserver",
1151
1142
DBUS_TYPE_STRING, &nameserver);
1144
if (timeserver != NULL)
1145
connman_dbus_dict_append_basic(dict, "IPv4.Timeserver",
1146
DBUS_TYPE_STRING, ×erver);
1238
1233
element->ipv4.nameserver = g_strdup(nameserver);
1240
1235
connman_element_update(element);
1236
} else if (g_str_equal(name, "IPv4.Timeserver") == TRUE) {
1237
const char *timeserver;
1239
if (type != DBUS_TYPE_STRING)
1242
dbus_message_iter_get_basic(value, ×erver);
1244
g_free(element->ipv4.timeserver);
1245
element->ipv4.nameserver = g_strdup(timeserver);
1247
connman_element_update(element);
1246
static void append_state(DBusMessageIter *entry, const char *state)
1248
DBusMessageIter value;
1249
const char *key = "State";
1251
dbus_message_iter_append_basic(entry, DBUS_TYPE_STRING, &key);
1253
dbus_message_iter_open_container(entry, DBUS_TYPE_VARIANT,
1254
DBUS_TYPE_STRING_AS_STRING, &value);
1255
dbus_message_iter_append_basic(&value, DBUS_TYPE_STRING, &state);
1256
dbus_message_iter_close_container(entry, &value);
1259
1253
static void emit_state_change(DBusConnection *conn, const char *state)
1261
1255
DBusMessage *signal;
1262
DBusMessageIter entry;
1264
DBG("conn %p", conn);
1266
signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
1267
CONNMAN_MANAGER_INTERFACE, "PropertyChanged");
1271
dbus_message_iter_init_append(signal, &entry);
1273
append_state(&entry, state);
1275
g_dbus_send_message(conn, signal);
1256
DBusMessageIter iter;
1258
connman_dbus_property_changed_basic(CONNMAN_MANAGER_PATH,
1259
CONNMAN_MANAGER_INTERFACE, "State",
1260
DBUS_TYPE_STRING, &state);
1277
1262
signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
1278
1263
CONNMAN_MANAGER_INTERFACE, "StateChanged");
1279
1264
if (signal == NULL)
1282
dbus_message_iter_init_append(signal, &entry);
1283
dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &state);
1267
dbus_message_iter_init_append(signal, &iter);
1268
dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &state);
1285
1270
g_dbus_send_message(conn, signal);