Let's go back to recent API while the issue is discussed
[framework/uifw/edbus.git] / src / lib / connman / e_connman.c
index a7414e0..b7911b0 100644 (file)
@@ -4,10 +4,12 @@
 
 static E_DBus_Signal_Handler *cb_name_owner_changed = NULL;
 static DBusPendingCall *pending_get_name_owner = NULL;
+static DBusPendingCall *pending_get_name_owner_old = NULL;
 static unsigned int init_count = 0;
 static char *unique_name = NULL;
 
 static const char bus_name[] = "net.connman";
+static const char bus_name_old[] = "org.moblin.connman";
 
 E_DBus_Connection *e_connman_conn = NULL;
 
@@ -23,9 +25,6 @@ const char *e_connman_iface_service = NULL;
 const char *e_connman_iface_connection = NULL;
 const char *e_connman_iface_technology = NULL;
 
-const char *e_connman_prop_available = NULL;
-const char *e_connman_prop_connections = NULL;
-const char *e_connman_prop_default = NULL;
 const char *e_connman_prop_ipv4 = NULL;
 const char *e_connman_prop_ipv4_configuration = NULL;
 const char *e_connman_prop_ethernet = NULL;
@@ -39,13 +38,10 @@ const char *e_connman_prop_netmask = NULL;
 const char *e_connman_prop_mtu = NULL;
 const char *e_connman_prop_name = NULL;
 const char *e_connman_prop_offline_mode = NULL;
-const char *e_connman_prop_policy = NULL;
-const char *e_connman_prop_priority = NULL;
 const char *e_connman_prop_profiles = NULL;
 const char *e_connman_prop_profile_active = NULL;
 const char *e_connman_prop_services = NULL;
 const char *e_connman_prop_technologies = NULL;
-const char *e_connman_prop_remember = NULL;
 const char *e_connman_prop_state = NULL;
 const char *e_connman_prop_strength = NULL;
 const char *e_connman_prop_type = NULL;
@@ -62,6 +58,15 @@ const char *e_connman_prop_technology_default = NULL;
 const char *e_connman_prop_technologies_available = NULL;
 const char *e_connman_prop_technologies_enabled = NULL;
 const char *e_connman_prop_technologies_connected = NULL;
+const char *e_connman_prop_nameservers = NULL;
+const char *e_connman_prop_nameservers_configuration = NULL;
+const char *e_connman_prop_domains = NULL;
+const char *e_connman_prop_domains_configuration = NULL;
+const char *e_connman_prop_proxy = NULL;
+const char *e_connman_prop_proxy_configuration = NULL;
+const char *e_connman_prop_url = NULL;
+const char *e_connman_prop_servers = NULL;
+const char *e_connman_prop_excludes = NULL;
 
 int _e_dbus_connman_log_dom = -1;
 
@@ -201,6 +206,63 @@ _e_connman_get_name_owner(void *data __UNUSED__, DBusMessage *msg, DBusError *er
         return;
      }
 
+   if (!e_connman_iface_manager)
+      e_connman_iface_manager = eina_stringshare_add("net.connman.Manager");
+
+   if (!e_connman_iface_profile)
+      e_connman_iface_profile = eina_stringshare_add("net.connman.Profile");
+
+   if (!e_connman_iface_service)
+      e_connman_iface_service = eina_stringshare_add("net.connman.Service");
+
+   if (!e_connman_iface_connection)
+      e_connman_iface_connection = eina_stringshare_add("net.connman.Connection");
+
+   if (!e_connman_iface_technology)
+      e_connman_iface_technology = eina_stringshare_add("net.connman.Technology");
+
+   _e_connman_system_name_owner_enter(uid);
+   return;
+}
+
+static void
+_e_connman_get_name_owner_old(void *data __UNUSED__, DBusMessage *msg, DBusError *err)
+{
+   DBusMessageIter itr;
+   int t;
+   const char *uid;
+
+   pending_get_name_owner_old = NULL;
+
+   if (!_dbus_callback_check_and_init(msg, &itr, err))
+      return;
+
+   t = dbus_message_iter_get_arg_type(&itr);
+   if (!_dbus_iter_type_check(t, DBUS_TYPE_STRING))
+      return;
+
+   dbus_message_iter_get_basic(&itr, &uid);
+   if (!uid)
+     {
+        ERR("no name owner!");
+        return;
+     }
+
+   if (!e_connman_iface_manager)
+      e_connman_iface_manager = eina_stringshare_add("org.moblin.connman.Manager");
+
+   if (!e_connman_iface_profile)
+      e_connman_iface_profile = eina_stringshare_add("org.moblin.connman.Profile");
+
+   if (!e_connman_iface_service)
+      e_connman_iface_service = eina_stringshare_add("org.moblin.connman.Service");
+
+   if (!e_connman_iface_connection)
+      e_connman_iface_connection = eina_stringshare_add("org.moblin.connman.Connection");
+
+   if (!e_connman_iface_technology)
+      e_connman_iface_technology = eina_stringshare_add("org.moblin.connman.Technology");
+
    _e_connman_system_name_owner_enter(uid);
    return;
 }
@@ -263,15 +325,13 @@ e_connman_system_init(E_DBus_Connection *edbus_conn)
 #define ADD_STRINGSHARE(name, s)       \
    if (!name)                          \
       name = eina_stringshare_add(s)
-
+/*
    ADD_STRINGSHARE(e_connman_iface_manager, "net.connman.Manager");
    ADD_STRINGSHARE(e_connman_iface_profile, "net.connman.Profile");
    ADD_STRINGSHARE(e_connman_iface_service, "net.connman.Service");
    ADD_STRINGSHARE(e_connman_iface_connection, "net.connman.Connection");
    ADD_STRINGSHARE(e_connman_iface_technology, "net.connman.Technology");
-   ADD_STRINGSHARE(e_connman_prop_available, "Available");
-   ADD_STRINGSHARE(e_connman_prop_connections, "Connections");
-   ADD_STRINGSHARE(e_connman_prop_default, "Default");
+ */
    ADD_STRINGSHARE(e_connman_prop_ipv4, "IPv4");
    ADD_STRINGSHARE(e_connman_prop_ipv4_configuration, "IPv4.Configuration");
    ADD_STRINGSHARE(e_connman_prop_ethernet, "Ethernet");
@@ -285,13 +345,10 @@ e_connman_system_init(E_DBus_Connection *edbus_conn)
    ADD_STRINGSHARE(e_connman_prop_mtu, "MTU");
    ADD_STRINGSHARE(e_connman_prop_name, "Name");
    ADD_STRINGSHARE(e_connman_prop_offline_mode, "OfflineMode");
-   ADD_STRINGSHARE(e_connman_prop_policy, "Policy");
-   ADD_STRINGSHARE(e_connman_prop_priority, "Priority");
    ADD_STRINGSHARE(e_connman_prop_profiles, "Profiles");
    ADD_STRINGSHARE(e_connman_prop_profile_active, "ActiveProfile");
    ADD_STRINGSHARE(e_connman_prop_services, "Services");
    ADD_STRINGSHARE(e_connman_prop_technologies, "Technologies");
-   ADD_STRINGSHARE(e_connman_prop_remember, "Remember");
    ADD_STRINGSHARE(e_connman_prop_state, "State");
    ADD_STRINGSHARE(e_connman_prop_strength, "Strength");
    ADD_STRINGSHARE(e_connman_prop_type, "Type");
@@ -310,6 +367,17 @@ e_connman_system_init(E_DBus_Connection *edbus_conn)
    ADD_STRINGSHARE(e_connman_prop_technologies_enabled, "EnabledTechnologies");
    ADD_STRINGSHARE(e_connman_prop_technologies_connected,
                    "ConnectedTechnologies");
+   ADD_STRINGSHARE(e_connman_prop_nameservers, "Nameservers");
+   ADD_STRINGSHARE(e_connman_prop_nameservers_configuration,
+                   "Nameservers.Configuration");
+   ADD_STRINGSHARE(e_connman_prop_domains, "Domains");
+   ADD_STRINGSHARE(e_connman_prop_domains_configuration,
+                   "Domains.Configuration");
+   ADD_STRINGSHARE(e_connman_prop_proxy, "Proxy");
+   ADD_STRINGSHARE(e_connman_prop_proxy_configuration, "Proxy.Configuration");
+   ADD_STRINGSHARE(e_connman_prop_url, "URL");
+   ADD_STRINGSHARE(e_connman_prop_servers, "Servers");
+   ADD_STRINGSHARE(e_connman_prop_excludes, "Excludes");
 
 #undef ADD_STRINGSHARE
 
@@ -324,6 +392,12 @@ e_connman_system_init(E_DBus_Connection *edbus_conn)
    pending_get_name_owner = e_dbus_get_name_owner
          (e_connman_conn, bus_name, _e_connman_get_name_owner, NULL);
 
+   if (pending_get_name_owner_old)
+      dbus_pending_call_cancel(pending_get_name_owner_old);
+
+   pending_get_name_owner_old = e_dbus_get_name_owner
+         (e_connman_conn, bus_name_old, _e_connman_get_name_owner_old, NULL);
+
    e_connman_elements_init();
 
    return init_count;
@@ -364,9 +438,6 @@ e_connman_system_shutdown(void)
    _stringshare_del(&e_connman_iface_connection);
    _stringshare_del(&e_connman_iface_technology);
 
-   _stringshare_del(&e_connman_prop_available);
-   _stringshare_del(&e_connman_prop_connections);
-   _stringshare_del(&e_connman_prop_default);
    _stringshare_del(&e_connman_prop_ipv4);
    _stringshare_del(&e_connman_prop_ipv4_configuration);
    _stringshare_del(&e_connman_prop_ethernet);
@@ -380,13 +451,10 @@ e_connman_system_shutdown(void)
    _stringshare_del(&e_connman_prop_mtu);
    _stringshare_del(&e_connman_prop_name);
    _stringshare_del(&e_connman_prop_offline_mode);
-   _stringshare_del(&e_connman_prop_policy);
-   _stringshare_del(&e_connman_prop_priority);
    _stringshare_del(&e_connman_prop_profiles);
    _stringshare_del(&e_connman_prop_profile_active);
    _stringshare_del(&e_connman_prop_services);
    _stringshare_del(&e_connman_prop_technologies);
-   _stringshare_del(&e_connman_prop_remember);
    _stringshare_del(&e_connman_prop_state);
    _stringshare_del(&e_connman_prop_strength);
    _stringshare_del(&e_connman_prop_type);
@@ -403,6 +471,15 @@ e_connman_system_shutdown(void)
    _stringshare_del(&e_connman_prop_technologies_available);
    _stringshare_del(&e_connman_prop_technologies_enabled);
    _stringshare_del(&e_connman_prop_technologies_connected);
+   _stringshare_del(&e_connman_prop_nameservers);
+   _stringshare_del(&e_connman_prop_nameservers_configuration);
+   _stringshare_del(&e_connman_prop_domains);
+   _stringshare_del(&e_connman_prop_domains_configuration);
+   _stringshare_del(&e_connman_prop_proxy);
+   _stringshare_del(&e_connman_prop_proxy_configuration);
+   _stringshare_del(&e_connman_prop_url);
+   _stringshare_del(&e_connman_prop_servers);
+   _stringshare_del(&e_connman_prop_excludes);
 
    if (pending_get_name_owner)
      {