---
 gatchat/gsmdial.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/gatchat/gsmdial.c b/gatchat/gsmdial.c
index 1be80e3..d54a26e 100644
--- a/gatchat/gsmdial.c
+++ b/gatchat/gsmdial.c
@@ -56,6 +56,7 @@ static gboolean option_legacy = FALSE;
 static gchar *option_username = NULL;
 static gchar *option_password = NULL;
 static gchar *option_pppdump = NULL;
+static gboolean option_bluetooth = 0;
 
 static GAtPPP *ppp;
 static GAtChat *control;
@@ -266,6 +267,9 @@ static void no_carrier_notify(GAtResult *result, gpointer 
user_data)
 {
        char buf[64];
 
+       if (option_bluetooth)
+               return;
+
        sprintf(buf, "AT+CFUN=%u", option_offmode);
        g_at_chat_send(control, buf, none_prefix, power_down, NULL, NULL);
 }
@@ -612,6 +616,8 @@ static GOptionEntry options[] = {
                                "Specify CFUN offmode" },
        { "legacy", 'l', 0, G_OPTION_ARG_NONE, &option_legacy,
                                "Use ATD*99***<cid>#" },
+       { "bluetooth", 'b', 0, G_OPTION_ARG_NONE, &option_bluetooth,
+                               "Use only ATD*99" },
        { "username", 'u', 0, G_OPTION_ARG_STRING, &option_username,
                                "Specify PPP username" },
        { "password", 'w', 0, G_OPTION_ARG_STRING, &option_password,
@@ -700,9 +706,14 @@ int main(int argc, char **argv)
 
        event_loop = g_main_loop_new(NULL, FALSE);
 
-       g_at_chat_send(control, "ATE0Q0V1", NULL, NULL, NULL, NULL);
-       g_at_chat_send(control, "AT+CFUN?", cfun_prefix,
-                                               check_mode, NULL, NULL);
+       if (option_bluetooth) {
+               g_at_chat_send(control, "ATD*99", none_prefix, connect_cb,
+                               NULL, NULL);
+       } else {
+               g_at_chat_send(control, "ATE0Q0V1", NULL, NULL, NULL, NULL);
+               g_at_chat_send(control, "AT+CFUN?", cfun_prefix,
+                                                       check_mode, NULL, NULL);
+       }
 
        g_main_loop_run(event_loop);
        g_source_remove(signal_source);
-- 
1.7.4

_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to