#include <connman.h>
#define PS_DBUS_SERVICE "com.tcore.ps"
+#define TELEPHONY_DBUS_SERVICE "org.tizen.telephony"
#define PS_MASTER_INTERFACE PS_DBUS_SERVICE ".master"
#define PS_MODEM_INTERFACE PS_DBUS_SERVICE ".modem"
/* dbus request and reply */
-static int __dbus_request(const char *path, const char *interface,
+static int __dbus_request(const char *service, const char *path, const char *interface,
const char *method,
DBusPendingCallNotifyFunction notify, void *user_data,
DBusFreeFunction free_function, int type, ...);
g_hash_table_remove(network_hash, path);
}
-static int __dbus_request(const char *path, const char *interface,
+static int __dbus_request(const char *service, const char *path, const char *interface,
const char *method,
DBusPendingCallNotifyFunction notify, void *user_data,
DBusFreeFunction free_function, int type, ...)
if (path == NULL)
return -EINVAL;
- message = dbus_message_new_method_call(PS_DBUS_SERVICE, path, interface, method);
+ message = dbus_message_new_method_call(service, path, interface, method);
if (message == NULL)
return -ENOMEM;
ok = dbus_message_append_args_valist(message, type, va);
va_end(va);
- if (!ok)
+ if (!ok) {
+ dbus_message_unref(message);
return -ENOMEM;
+ }
if (dbus_connection_send_with_reply(connection, message,
&call, TIMEOUT) == FALSE) {
{
DBG("request get modem");
/* call connect master */
- return __dbus_request("/", PS_MASTER_INTERFACE, GET_MODEMS,
+ return __dbus_request(PS_DBUS_SERVICE, "/", PS_MASTER_INTERFACE, GET_MODEMS,
__response_get_modems, NULL, NULL, DBUS_TYPE_INVALID);
}
static int __request_get_services(const char *path)
{
DBG("request get service");
- return __dbus_request(path, PS_MODEM_INTERFACE, GET_SERVICES,
+ return __dbus_request(PS_DBUS_SERVICE, path, PS_MODEM_INTERFACE, GET_SERVICES,
__response_get_services, g_strdup(path),
g_free, DBUS_TYPE_INVALID);
}
struct telephony_modem *modem;
modem = g_hash_table_lookup(modem_hash, path);
- if (modem == NULL)
- return;
- if (modem->device == NULL)
- return;
DBG("");
goto done;
}
+ if (modem == NULL || modem->device == NULL)
+ goto done;
+
DBG("message signature (%s)", dbus_message_get_signature(reply));
if (dbus_message_iter_init(reply, &args) == FALSE)
static int __request_get_contexts(struct telephony_modem *modem)
{
DBG("request get contexts");
- return __dbus_request(modem->s_service->path,
+ return __dbus_request(PS_DBUS_SERVICE, modem->s_service->path,
PS_SERVICE_INTERFACE, GET_CONTEXTS,
__response_get_contexts, g_strdup(modem->path),
g_free, DBUS_TYPE_INVALID);
g_free(subscribe_id);
}
- return __dbus_request(path, PS_CONTEXT_INTERFACE, ACTIVATE_CONTEXT,
+ return __dbus_request(PS_DBUS_SERVICE, path, PS_CONTEXT_INTERFACE, ACTIVATE_CONTEXT,
__response_network_activate,
g_strdup(path), NULL, DBUS_TYPE_INVALID);
}
const char *path = connman_network_get_string(network, "Path");
DBG("network %p, path %s", network, path);
- return __dbus_request(path, PS_CONTEXT_INTERFACE, DEACTIVATE_CONTEXT,
+ return __dbus_request(PS_DBUS_SERVICE, path, PS_CONTEXT_INTERFACE, DEACTIVATE_CONTEXT,
NULL, NULL, NULL, DBUS_TYPE_INVALID);
}
telephony_modem_path = g_strdup_printf("/org/tizen/telephony%s", path);
DBG("request get default subscription id %s", telephony_modem_path);
- ret = __dbus_request(telephony_modem_path,
+ ret = __dbus_request(TELEPHONY_DBUS_SERVICE, telephony_modem_path,
"org.tizen.telephony.Network", "GetDefaultDataSubscription",
__response_get_default_subscription_id, NULL, NULL, DBUS_TYPE_INVALID);
ipv4_netmask, ipv4_gw);
if (ipv4_dns1)
+#if defined TIZEN_EXT
+ __connman_service_nameserver_append(service, ipv4_dns1, FALSE,
+ CONNMAN_IPCONFIG_TYPE_IPV4);
+#else
__connman_service_nameserver_append(service, ipv4_dns1, FALSE);
+#endif
//if (ipv4_dns2)
if (ipv4_dns2 && !ipv4_dns1)
+#if defined TIZEN_EXT
+ __connman_service_nameserver_append(service, ipv4_dns2, FALSE,
+ CONNMAN_IPCONFIG_TYPE_IPV4);
+#else
__connman_service_nameserver_append(service, ipv4_dns2, FALSE);
-
+#endif
/* ipv6 set */
if (network->ipv6_address == NULL)
network->ipv6_address =
64, ipv6_gw);
if (ipv6_dns1)
+#if defined TIZEN_EXT
+ __connman_service_nameserver_append(service, ipv6_dns1, FALSE,
+ CONNMAN_IPCONFIG_TYPE_IPV6);
+#else
__connman_service_nameserver_append(service, ipv6_dns1, FALSE);
+#endif
//if (ipv6_dns2)
if (ipv6_dns2 && !ipv6_dns1)
+#if defined TIZEN_EXT
+ __connman_service_nameserver_append(service, ipv6_dns2, FALSE,
+ CONNMAN_IPCONFIG_TYPE_IPV6);
+#else
__connman_service_nameserver_append(service, ipv6_dns2, FALSE);
+#endif
if (active == TRUE &&
connman_network_get_connected(network->network) == TRUE) {