]> err.no Git - mapper/blob - src/iap.c
Import fork of maemo-mapper.
[mapper] / src / iap.c
1 #include <config.h>
2
3 #ifdef WITH_HILDON
4
5 void iap_callback(struct iap_event_t *event, void *arg)
6 {
7         printf("%s()\n", __PRETTY_FUNCTION__);
8         _iap_connecting = FALSE;
9         if (event->type == OSSO_IAP_CONNECTED && !_iap_connected) {
10                 _iap_connected = TRUE;
11                 config_update_proxy();
12                 if (!_curl_sid)
13                         _curl_sid = g_timeout_add(100,
14                                                   (GSourceFunc)
15                                                   curl_download_timeout, NULL);
16         }
17         vprintf("%s(): return\n", __PRETTY_FUNCTION__);
18 }
19
20 DBusHandlerResult
21 get_connection_status_signal_cb(DBusConnection * connection,
22                                 DBusMessage * message, void *user_data)
23 {
24         gchar *iap_name = NULL, *iap_nw_type = NULL, *iap_state = NULL;
25         printf("%s()\n", __PRETTY_FUNCTION__);
26
27         /* check signal */
28         if (!dbus_message_is_signal(message,
29                                     ICD_DBUS_INTERFACE,
30                                     ICD_STATUS_CHANGED_SIG)) {
31                 vprintf("%s(): return DBUS_HANDLER_RESULT_NOT_YET_HANDLED\n",
32                         __PRETTY_FUNCTION__);
33                 return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
34         }
35
36         if (!dbus_message_get_args(message, NULL,
37                                    DBUS_TYPE_STRING, &iap_name,
38                                    DBUS_TYPE_STRING, &iap_nw_type,
39                                    DBUS_TYPE_STRING, &iap_state,
40                                    DBUS_TYPE_INVALID)) {
41                 vprintf("%s(): return DBUS_HANDLER_RESULT_NOT_YET_HANDLED\n",
42                         __PRETTY_FUNCTION__);
43                 return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
44         }
45
46         printf("  > iap_state = %s\n", iap_state);
47         if (!strcmp(iap_state, "CONNECTED")) {
48                 if (!_iap_connected) {
49                         _iap_connected = TRUE;
50                         config_update_proxy();
51                         if (!_curl_sid)
52                                 _curl_sid = g_timeout_add(100,
53                                                           (GSourceFunc)
54                                                           curl_download_timeout,
55                                                           NULL);
56                 }
57         } else if (_iap_connected) {
58                 _iap_connected = FALSE;
59                 if (_curl_sid) {
60                         g_source_remove(_curl_sid);
61                         _curl_sid = 0;
62                 }
63         }
64
65         vprintf("%s(): return DBUS_HANDLER_RESULT_HANDLED\n",
66                 __PRETTY_FUNCTION__);
67         return DBUS_HANDLER_RESULT_HANDLED;
68 }
69
70 #else
71
72 #endif