mirror of
https://github.com/sailfishos/ofono
synced 2025-11-24 11:29:46 +08:00
Compare commits
12 Commits
mer/1.23+g
...
mer/1.23+g
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
870bac93e9 | ||
|
|
246cd4e1d2 | ||
|
|
ca20b65098 | ||
|
|
8e35a047da | ||
|
|
2b4b5a224d | ||
|
|
50a5f2547e | ||
|
|
d682fcd5fe | ||
|
|
5799320480 | ||
|
|
3eea7c868e | ||
|
|
4844fc6cf9 | ||
|
|
6976366051 | ||
|
|
d3d776837b |
@@ -436,7 +436,6 @@ static void ril_netreg_register_manual(struct ofono_netreg *netreg,
|
||||
ofono_info("nw select manual: %s%s%s", mcc, mnc, suffix);
|
||||
grilio_request_append_format(req, "%s%s%s", mcc, mnc, suffix);
|
||||
grilio_request_set_timeout(req, nd->network_selection_timeout);
|
||||
grilio_request_set_retry(req, 0, REGISTRATION_MAX_RETRIES);
|
||||
grilio_queue_send_request_full(nd->q, req,
|
||||
RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL,
|
||||
ril_netreg_register_cb, ril_netreg_cbd_free,
|
||||
|
||||
@@ -2369,7 +2369,6 @@ static int ril_plugin_init(void)
|
||||
static void ril_plugin_exit(void)
|
||||
{
|
||||
DBG("");
|
||||
GASSERT(ril_driver);
|
||||
|
||||
ofono_ril_transport_unregister(&ril_socket_transport);
|
||||
ofono_modem_driver_unregister(&ril_modem_driver);
|
||||
|
||||
@@ -495,8 +495,6 @@ static void hfp_ag_enable(DBusConnection *conn)
|
||||
connection_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
|
||||
g_free, connection_destroy);
|
||||
|
||||
ofono_handsfree_audio_ref();
|
||||
|
||||
hfp_ag_enabled = TRUE;
|
||||
}
|
||||
|
||||
@@ -525,7 +523,6 @@ static void hfp_ag_disable(DBusConnection *conn)
|
||||
g_dbus_unregister_interface(conn, HFP_AG_EXT_PROFILE_PATH,
|
||||
BLUEZ_PROFILE_INTERFACE);
|
||||
ofono_handsfree_card_driver_unregister(&hfp_ag_driver);
|
||||
ofono_handsfree_audio_unref();
|
||||
}
|
||||
|
||||
hfp_ag_enabled = FALSE;
|
||||
@@ -545,13 +542,14 @@ static int hfp_ag_init(void)
|
||||
{
|
||||
DBusConnection *conn = ofono_dbus_get_connection();
|
||||
|
||||
hfp_ag_enable(conn);
|
||||
|
||||
/* g_dbus_add_service_watch immediately checks for bluetooth service
|
||||
* and calls connect callback if the service exists. */
|
||||
service_watch_id = g_dbus_add_service_watch(conn, "org.bluez",
|
||||
bluez_connect_cb,
|
||||
bluez_disconnect_cb,
|
||||
NULL, NULL);
|
||||
|
||||
ofono_handsfree_audio_ref();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -565,6 +563,7 @@ static void hfp_ag_exit(void)
|
||||
}
|
||||
|
||||
hfp_ag_disable(conn);
|
||||
ofono_handsfree_audio_unref();
|
||||
}
|
||||
|
||||
OFONO_PLUGIN_DEFINE(hfp_ag_bluez5, "Hands-Free Audio Gateway Profile Plugins",
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <ofono/handsfree.h>
|
||||
#include <ofono/handsfree-audio.h>
|
||||
#include <ofono/siri.h>
|
||||
#include <ofono.h>
|
||||
|
||||
#include <drivers/atmodem/atutil.h>
|
||||
#include <drivers/hfpmodem/slc.h>
|
||||
@@ -833,8 +832,6 @@ static int hfp_init(void)
|
||||
if (DBUS_TYPE_UNIX_FD < 0)
|
||||
return -EBADF;
|
||||
|
||||
__ofono_handsfree_audio_manager_init();
|
||||
|
||||
/* Registers External Profile handler */
|
||||
if (!g_dbus_register_interface(conn, HFP_EXT_PROFILE_PATH,
|
||||
BLUEZ_PROFILE_INTERFACE,
|
||||
@@ -890,8 +887,6 @@ static void hfp_exit(void)
|
||||
g_dbus_client_unref(bluez);
|
||||
|
||||
ofono_handsfree_audio_unref();
|
||||
|
||||
__ofono_handsfree_audio_manager_cleanup();
|
||||
}
|
||||
|
||||
OFONO_PLUGIN_DEFINE(hfp_bluez5, "External Hands-Free Profile Plugin", VERSION,
|
||||
|
||||
@@ -121,6 +121,30 @@ void __ofono_dbus_queue_request(struct ofono_dbus_queue *q,
|
||||
}
|
||||
}
|
||||
|
||||
static void __ofono_dbus_queue_submit_next(struct ofono_dbus_queue *q)
|
||||
{
|
||||
struct ofono_dbus_queue_request *next = q->requests;
|
||||
|
||||
while (next) {
|
||||
struct ofono_dbus_queue_request *done;
|
||||
DBusMessage *reply = next->fn(next->msg, next->data);
|
||||
|
||||
/* The request has been sent, no reply yet */
|
||||
if (!reply)
|
||||
break;
|
||||
|
||||
/* The request has completed synchronously */
|
||||
done = next;
|
||||
next = done->next;
|
||||
q->requests = next;
|
||||
done->next = NULL;
|
||||
|
||||
/* Send the reply */
|
||||
__ofono_dbus_pending_reply(&done->msg, reply);
|
||||
__ofono_dbus_queue_req_free(done);
|
||||
}
|
||||
}
|
||||
|
||||
/* Consumes one reference to the reply */
|
||||
void __ofono_dbus_queue_reply_msg(struct ofono_dbus_queue *q,
|
||||
DBusMessage *reply)
|
||||
@@ -150,20 +174,7 @@ void __ofono_dbus_queue_reply_msg(struct ofono_dbus_queue *q,
|
||||
__ofono_dbus_queue_req_free(done);
|
||||
|
||||
/* Submit the next request if there is any */
|
||||
while (next && reply) {
|
||||
reply = next->fn(next->msg, next->data);
|
||||
if (reply) {
|
||||
/* The request has completed synchronously */
|
||||
done = next;
|
||||
next = done->next;
|
||||
q->requests = next;
|
||||
done->next = NULL;
|
||||
|
||||
/* Send the reply */
|
||||
__ofono_dbus_pending_reply(&done->msg, reply);
|
||||
__ofono_dbus_queue_req_free(done);
|
||||
}
|
||||
}
|
||||
__ofono_dbus_queue_submit_next(q);
|
||||
}
|
||||
|
||||
void __ofono_dbus_queue_reply_ok(struct ofono_dbus_queue *q)
|
||||
@@ -250,8 +261,10 @@ void __ofono_dbus_queue_reply_all_fn_param(struct ofono_dbus_queue *q,
|
||||
* Find all other requests with the same handler and the same data
|
||||
* and complete those too (except when the handler is NULL)
|
||||
*/
|
||||
if (!handler)
|
||||
if (!handler) {
|
||||
__ofono_dbus_queue_submit_next(q);
|
||||
return;
|
||||
}
|
||||
|
||||
prev = NULL;
|
||||
req = q->requests;
|
||||
@@ -274,6 +287,7 @@ void __ofono_dbus_queue_reply_all_fn_param(struct ofono_dbus_queue *q,
|
||||
|
||||
req = next;
|
||||
}
|
||||
__ofono_dbus_queue_submit_next(q);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
* oFono - Open Source Telephony
|
||||
*
|
||||
* Copyright (C) 2008-2011 Intel Corporation. All rights reserved.
|
||||
* Copyright (C) 2015-2020 Jolla Ltd.
|
||||
* Copyright (C) 2019-2020 Open Mobile Platform LLC.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
@@ -281,7 +283,7 @@ int main(int argc, char **argv)
|
||||
|
||||
dbus_error_init(&error);
|
||||
|
||||
conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, OFONO_SERVICE, &error);
|
||||
conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, &error);
|
||||
if (conn == NULL) {
|
||||
if (dbus_error_is_set(&error) == TRUE) {
|
||||
ofono_error("Unable to hop onto D-Bus: %s",
|
||||
@@ -308,7 +310,12 @@ int main(int argc, char **argv)
|
||||
g_free(option_plugin);
|
||||
g_free(option_noplugin);
|
||||
|
||||
g_main_loop_run(event_loop);
|
||||
if (g_dbus_request_name(conn, OFONO_SERVICE, &error)) {
|
||||
g_main_loop_run(event_loop);
|
||||
} else {
|
||||
ofono_error("Unable to register D-Bus name: %s", error.message);
|
||||
dbus_error_free(&error);
|
||||
}
|
||||
|
||||
__ofono_plugin_cleanup();
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@ static void test_reply_last_reply(DBusPendingCall *call, void *dbus)
|
||||
G_CAST(dbus, struct test_reply_data, dbus);
|
||||
|
||||
DBG("");
|
||||
test_dbus_check_error_reply(call, TEST_ERROR_FAILED);
|
||||
test_dbus_check_empty_reply(call, NULL);
|
||||
g_main_loop_quit(test->dbus.loop);
|
||||
}
|
||||
|
||||
@@ -445,6 +445,12 @@ static DBusMessage *test_reply_4(DBusMessage *msg, void *data)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static DBusMessage *test_reply_5(DBusMessage *msg, void *data)
|
||||
{
|
||||
DBG("");
|
||||
return dbus_message_new_method_return(msg);
|
||||
}
|
||||
|
||||
static DBusMessage *test_reply_handler(DBusConnection *conn,
|
||||
DBusMessage *msg, void *data)
|
||||
{
|
||||
@@ -485,10 +491,17 @@ static DBusMessage *test_reply_handler(DBusConnection *conn,
|
||||
case 6:
|
||||
__ofono_dbus_queue_request(test->queue, test_reply_4,
|
||||
msg, NULL);
|
||||
break;
|
||||
case 7:
|
||||
/* Call the same method again */
|
||||
__ofono_dbus_queue_request(test->queue, test_reply_4,
|
||||
msg, NULL);
|
||||
break;
|
||||
case 7:
|
||||
case 8:
|
||||
/* Call the last one */
|
||||
__ofono_dbus_queue_request(test->queue, test_reply_5,
|
||||
msg, NULL);
|
||||
|
||||
/* This completes the first one, with NULL handler */
|
||||
__ofono_dbus_queue_reply_all_fn_param(test->queue, NULL, NULL);
|
||||
g_assert(__ofono_dbus_queue_pending(test->queue));
|
||||
@@ -508,10 +521,12 @@ static DBusMessage *test_reply_handler(DBusConnection *conn,
|
||||
/* This one test_reply_3 with Failed */
|
||||
__ofono_dbus_queue_reply_all_error(test->queue, NULL);
|
||||
|
||||
/* This one test_reply_4 with NotSupported */
|
||||
/* This one completes all test_reply_4 with NotSupported */
|
||||
error.type = OFONO_ERROR_TYPE_ERRNO;
|
||||
error.error = -EOPNOTSUPP;
|
||||
__ofono_dbus_queue_reply_all_error(test->queue, &error);
|
||||
|
||||
/* test_reply_5 must be already completed */
|
||||
g_assert(!__ofono_dbus_queue_pending(test->queue));
|
||||
|
||||
/* And this one does nothing */
|
||||
@@ -541,7 +556,8 @@ static void test_reply_start(struct test_dbus_context *dbus)
|
||||
test_client_call(dbus, 4, test_dbus_expect_empty_reply);
|
||||
test_client_call(dbus, 5, test_expect_failed);
|
||||
test_client_call(dbus, 6, test_expect_not_supported);
|
||||
test_client_call(dbus, 7, test_reply_last_reply);
|
||||
test_client_call(dbus, 7, test_expect_not_supported);
|
||||
test_client_call(dbus, 8, test_reply_last_reply);
|
||||
}
|
||||
|
||||
static void test_reply(void)
|
||||
|
||||
Reference in New Issue
Block a user