comparison src/bluetooth/bluetooth.c @ 2845:d0cbf303869b

removed interface freeze while pairing
author Paula Stanciu <paula.stanciu@gmail.com>
date Fri, 25 Jul 2008 12:03:16 +0300
parents be718ff506c0
children 3d7f01edb388
comparison
equal deleted inserted replaced
2844:d75f0db10f53 2845:d0cbf303869b
25 static gboolean plugin_active = FALSE,exiting=FALSE; 25 static gboolean plugin_active = FALSE,exiting=FALSE;
26 GList * current_device = NULL; 26 GList * current_device = NULL;
27 gint config = 0; 27 gint config = 0;
28 gint devices_no = 0; 28 gint devices_no = 0;
29 GStaticMutex mutex = G_STATIC_MUTEX_INIT; 29 GStaticMutex mutex = G_STATIC_MUTEX_INIT;
30 30 static GThread *connect_th;
31 void bluetooth_init ( void ); 31 void bluetooth_init ( void );
32 void bluetooth_cleanup ( void ); 32 void bluetooth_cleanup ( void );
33 void bt_cfg(void); 33 void bt_cfg(void);
34 void bt_about(void); 34 void bt_about(void);
35 static void remote_device_found(DBusGProxy *object, char *address, const unsigned int class, const int rssi, gpointer user_data); 35 static void remote_device_found(DBusGProxy *object, char *address, const unsigned int class, const int rssi, gpointer user_data);
140 printf("Signal: BoundingRemoved: %s\n",address); 140 printf("Signal: BoundingRemoved: %s\n",address);
141 141
142 } 142 }
143 143
144 144
145 gpointer connect_call_th(void)
146 {
147
148 //I will have to enable the audio service if necessary
149
150 dbus_g_object_register_marshaller(marshal_VOID__STRING_UINT_INT, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
151 dbus_g_proxy_add_signal(obj, "BondingCreated", G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
152 dbus_g_proxy_connect_signal(obj, "BondingCreated", G_CALLBACK(bounding_created), bus, NULL);
153
154 dbus_g_proxy_add_signal(obj, "BondingRemoved", G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
155 dbus_g_proxy_connect_signal(obj, "BondingRemoved", G_CALLBACK(bounding_removed), bus, NULL);
156 run_agents();
157 dbus_g_proxy_call(obj,"CreateBonding",NULL,G_TYPE_STRING,((DeviceData*)(selected_dev->data))->address,G_TYPE_INVALID,G_TYPE_INVALID);
158
159 }
145 void connect_call(void) 160 void connect_call(void)
146 { 161 {
147 162 connect_th = g_thread_create((GThreadFunc)connect_call_th,NULL,TRUE,NULL) ;
148 //I will have to enable the audio service if necessary
149
150 /* dbus_g_object_register_marshaller(marshal_VOID__STRING_UINT_INT, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
151 dbus_g_proxy_add_signal(obj, "BondingCreated", G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
152 dbus_g_proxy_connect_signal(obj, "BondingCreated", G_CALLBACK(bounding_created), bus, NULL);
153
154 dbus_g_proxy_add_signal(obj, "BondingRemoved", G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT, G_TYPE_INVALID);
155 dbus_g_proxy_connect_signal(obj, "BondingRemoved", G_CALLBACK(bounding_removed), bus, NULL);
156 */
157 run_agents();
158 dbus_g_proxy_call(obj,"CreateBonding",NULL,G_TYPE_STRING,((DeviceData*)(selected_dev->data))->address,G_TYPE_INVALID,G_TYPE_INVALID);
159
160
161 } 163 }
162 164
163 165
164 static void remote_device_found(DBusGProxy *object, char *address, const unsigned int class, const int rssi, gpointer user_data) 166 static void remote_device_found(DBusGProxy *object, char *address, const unsigned int class, const int rssi, gpointer user_data)
165 { 167 {