示例#1
0
int network_manager_init(DBusConnection *conn)
{
	read_config(CONFIGDIR "/network.conf");

	if (bnep_init()) {
		error("Can't init bnep module");
		return -1;
	}

	/*
	 * There is one socket to handle the incomming connections. NAP,
	 * GN and PANU servers share the same PSM. The initial BNEP message
	 * (setup connection request) contains the destination service
	 * field that defines which service the source is connecting to.
	 */

	if (server_init(conn, conf_security, conf_master) < 0)
		return -1;

	/* Register network server if it doesn't exist */
	btd_register_adapter_driver(&network_server_driver);

	if (connection_init(conn) < 0)
		return -1;

	btd_register_device_driver(&network_panu_driver);
	btd_register_device_driver(&network_gn_driver);
	btd_register_device_driver(&network_nap_driver);

	connection = dbus_connection_ref(conn);

	return 0;
}
int input_manager_init(DBusConnection *conn, GKeyFile *config)
{
	GError *err = NULL;

	if (config) {
		idle_timeout = g_key_file_get_integer(config, "General",
						"IdleTimeout", &err);
		if (err) {
			DBG("input.conf: %s", err->message);
			g_error_free(err);
		}
	}

	connection = dbus_connection_ref(conn);

#ifndef BT_ALT_STACK
	btd_register_adapter_driver(&input_server_driver);
#endif

	btd_register_device_driver(&input_hid_driver);
#ifndef BT_ALT_STACK
	btd_register_device_driver(&input_headset_driver);
#endif

	return 0;
}
static int gatt_example_init(void)
{
	if (!main_opts.attrib_server) {
		DBG("Attribute server is disabled");
		return -ENOTSUP;
	}

	return btd_register_adapter_driver(&gatt_example_adapter_driver);
}
示例#4
0
文件: manager.c 项目: Bisheg/bluez
int serial_manager_init(DBusConnection *conn)
{
	connection = dbus_connection_ref(conn);

	btd_register_adapter_driver(&serial_proxy_driver);
	btd_register_device_driver(&serial_port_driver);

	return 0;
}
示例#5
0
static int dbusoob_init(void)
{
	DBG("Setup dbusoob plugin");

	connection = get_dbus_connection();

	oob_register_cb(read_local_data_complete);

	return btd_register_adapter_driver(&oob_driver);
}
示例#6
0
int hdp_manager_init(DBusConnection *conn)
{
	if (hdp_manager_start(conn))
		return -1;

	connection = dbus_connection_ref(conn);
	btd_register_adapter_driver(&hdp_adapter_driver);
	btd_register_device_driver(&hdp_device_driver);

	return 0;
}
示例#7
0
文件: service.c 项目: intgr/bluez
static int service_init(void)
{
	any_path = btd_adapter_any_request_path();
	if (any_path != NULL) {
		if (register_interface(any_path, NULL) < 0) {
			btd_adapter_any_release_path();
			any_path = NULL;
		}
	}

	return btd_register_adapter_driver(&service_driver);
}
示例#8
0
static int maemo6_init(void)
{
	DBG("init maemo6 plugin");

	conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
	if (conn == NULL) {
		error("Unable to connect to D-Bus");
		return -1;
	}

	return btd_register_adapter_driver(&mce_driver);
}
示例#9
0
int sap_manager_init(DBusConnection *conn)
{
	connection = dbus_connection_ref(conn);

	if (sap_server_init(connection) < 0) {
		error("Can't init SAP server");
		dbus_connection_unref(conn);
		return -1;
	}

	btd_register_adapter_driver(&sap_server_driver);

	return 0;
}
示例#10
0
int dun_manager_init(DBusConnection *conn)
{
	read_config(CONFIGDIR "/dun.conf");

	if (gateway_init(conn, high_security, cmd_line) < 0)
		return -1;

	/* Register dun gateway if it doesn't exist */
	btd_register_adapter_driver(&dun_gw_adapter_driver);

	connection = dbus_connection_ref(conn);

	return 0;
}
示例#11
0
文件: manager.c 项目: VinceGa/bluez
int audio_manager_init(GKeyFile *conf)
{
	if (conf)
		config = conf;

	btd_profile_register(&a2dp_source_profile);
	btd_profile_register(&a2dp_sink_profile);
	btd_profile_register(&avrcp_remote_profile);
	btd_profile_register(&avrcp_target_profile);

	btd_register_adapter_driver(&media_driver);

	return 0;
}
示例#12
0
int alert_server_init(void)
{
    connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
    if (connection == NULL)
        return -EIO;

    if (!g_dbus_register_interface(connection, "/", ALERT_INTERFACE,
                                   alert_methods, alert_signals, NULL, NULL,
                                   NULL)) {
        error("D-Bus failed to register %s interface", ALERT_INTERFACE);
        dbus_connection_unref(connection);
        connection = NULL;
        return -1;
    }

    DBG("Registered interface %s", ALERT_INTERFACE);

    btd_register_adapter_driver(&alert_server_driver);

    return 0;
}
示例#13
0
int time_server_init()
{
	connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
	if (connection == NULL)
		return -EIO;

	if (!g_dbus_register_interface(connection, "/", TIME_INTERFACE,
				       time_methods, NULL, NULL, NULL,
				       NULL)) {
		error("D-Bus failed to register %s interface", TIME_INTERFACE);
		dbus_connection_unref(connection);
		connection = NULL;
		return -1;
	}

	DBG("Registered interface %s on", TIME_INTERFACE);

	dst_offset.dst_offset = UNKNOWN_DST;
	next_dst.dst_offset.dst_offset = UNKNOWN_DST;

	btd_register_adapter_driver(&alert_server_driver);

	return 0;
}
示例#14
0
文件: service.c 项目: 520lly/bluez
static int service_init(void)
{
	int err;

	connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
	if (connection == NULL)
		return -EIO;

	any_path = btd_adapter_any_request_path();
	if (any_path != NULL) {
		if (register_interface(any_path, NULL) < 0) {
			btd_adapter_any_release_path();
			any_path = NULL;
		}
	}

	err = btd_register_adapter_driver(&service_driver);
	if (err < 0) {
		dbus_connection_unref(connection);
		return err;
	}

	return 0;
}
示例#15
0
int audio_manager_init(DBusConnection *conn, GKeyFile *conf,
							gboolean *enable_sco)
{
	char **list;
	int i;
	char *str;
	gboolean b;
	GError *err = NULL;

	connection = dbus_connection_ref(conn);

	if (!conf)
		goto proceed;

	config = conf;

	list = g_key_file_get_string_list(config, "General", "Enable",
						NULL, NULL);
	for (i = 0; list && list[i] != NULL; i++) {
		if (g_str_equal(list[i], "Headset"))
			enabled.headset = TRUE;
		else if (g_str_equal(list[i], "Gateway"))
			enabled.gateway = TRUE;
		else if (g_str_equal(list[i], "Sink"))
			enabled.sink = TRUE;
		else if (g_str_equal(list[i], "Source"))
			enabled.source = TRUE;
		else if (g_str_equal(list[i], "Control"))
			enabled.control = TRUE;
		else if (g_str_equal(list[i], "Socket"))
			enabled.socket = TRUE;
		else if (g_str_equal(list[i], "Media"))
			enabled.media = TRUE;
	}
	g_strfreev(list);

	list = g_key_file_get_string_list(config, "General", "Disable",
						NULL, NULL);
	for (i = 0; list && list[i] != NULL; i++) {
		if (g_str_equal(list[i], "Headset"))
			enabled.headset = FALSE;
		else if (g_str_equal(list[i], "Gateway"))
			enabled.gateway = FALSE;
		else if (g_str_equal(list[i], "Sink"))
			enabled.sink = FALSE;
		else if (g_str_equal(list[i], "Source"))
			enabled.source = FALSE;
		else if (g_str_equal(list[i], "Control"))
			enabled.control = FALSE;
		else if (g_str_equal(list[i], "Socket"))
			enabled.socket = FALSE;
		else if (g_str_equal(list[i], "Media"))
			enabled.media = FALSE;
	}
	g_strfreev(list);

	b = g_key_file_get_boolean(config, "General", "AutoConnect", &err);
	if (err) {
		DBG("audio.conf: %s", err->message);
		g_clear_error(&err);
	} else
		auto_connect = b;

	b = g_key_file_get_boolean(config, "Headset", "HFP",
					&err);
	if (err)
		g_clear_error(&err);
	else
		enabled.hfp = b;

	err = NULL;
	i = g_key_file_get_integer(config, "Headset", "MaxConnected",
					&err);
	if (err) {
		DBG("audio.conf: %s", err->message);
		g_clear_error(&err);
	} else
		max_connected_headsets = i;

	str = g_key_file_get_string(config, "WBspeech",
						"I2sEnable", &err);
	if (err)
		g_clear_error(&err);
	else {
		wbs_commands_param.I2sEnable = strtol(str, NULL, 16);
	}

	str = g_key_file_get_string(config, "WBspeech",
						"IsMaster", &err);
	if (err)
		g_clear_error(&err);
	else {
		wbs_commands_param.IsMaster = strtol(str, NULL, 16);
	}

	str = g_key_file_get_string(config, "WBspeech",
						"ClockRate", &err);
	if (err)
		g_clear_error(&err);
	else {
		wbs_commands_param.ClockRate = strtol(str, NULL, 16);
	}


	str = g_key_file_get_string(config, "WBspeech",
						"PcmInterfaceRate", &err);
	if (err)
		g_clear_error(&err);
	else {
		wbs_commands_param.PcmInterfaceRate = strtol(str, NULL, 16);
	}

proceed:
	if (enabled.socket)
		unix_init();

	if (enabled.media)
		btd_register_adapter_driver(&media_server_driver);

	if (enabled.headset)
		btd_register_adapter_driver(&headset_server_driver);

	if (enabled.gateway)
		btd_register_adapter_driver(&gateway_server_driver);

	if (enabled.source || enabled.sink)
		btd_register_adapter_driver(&a2dp_server_driver);

	if (enabled.control)
		btd_register_adapter_driver(&avrcp_server_driver);

	btd_register_device_driver(&audio_driver);

	*enable_sco = (enabled.gateway || enabled.headset);

	return 0;
}
示例#16
0
文件: pnat.c 项目: 520lly/bluez
static int pnat_init(void)
{
	DBG("Setup Phonet AT (DUN) plugin");

	return btd_register_adapter_driver(&pnat_server);
}
示例#17
0
static int wii_init(void)
{
	return btd_register_adapter_driver(&wii_driver);
}