mirror of git://git.sysmocom.de/ofono
handsfree-audio: Add Manager registration
Adds the initial implementation of new experimental Handsfree Audio Manager interface. This patch adds the interface registration and the declaration of it's methods.
This commit is contained in:
parent
57a44e8d23
commit
850c1811fc
|
@ -507,7 +507,8 @@ src_ofonod_SOURCES = $(gdbus_sources) $(builtin_sources) src/ofono.ver \
|
|||
src/gnssagent.c src/gnssagent.h \
|
||||
src/cdma-smsutil.h src/cdma-smsutil.c \
|
||||
src/cdma-sms.c src/private-network.c src/cdma-netreg.c \
|
||||
src/cdma-provision.c src/handsfree.c
|
||||
src/cdma-provision.c src/handsfree.c \
|
||||
src/handsfree-audio.c
|
||||
|
||||
src_ofonod_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ -ldl
|
||||
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
*
|
||||
* oFono - Open Source Telephony
|
||||
*
|
||||
* Copyright (C) 2013 Intel Corporation. All rights reserved.
|
||||
*
|
||||
* 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
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <gdbus.h>
|
||||
|
||||
#include "ofono.h"
|
||||
|
||||
#define HFP_AUDIO_MANAGER_INTERFACE OFONO_SERVICE ".HandsfreeAudioManager"
|
||||
|
||||
static DBusMessage *am_get_cards(DBusConnection *conn,
|
||||
DBusMessage *msg, void *user_data)
|
||||
{
|
||||
return __ofono_error_not_implemented(msg);
|
||||
}
|
||||
|
||||
static DBusMessage *am_agent_register(DBusConnection *conn,
|
||||
DBusMessage *msg, void *user_data)
|
||||
{
|
||||
return __ofono_error_not_implemented(msg);
|
||||
}
|
||||
|
||||
static DBusMessage *am_agent_unregister(DBusConnection *conn,
|
||||
DBusMessage *msg, void *user_data)
|
||||
{
|
||||
return __ofono_error_not_implemented(msg);
|
||||
}
|
||||
|
||||
static const GDBusMethodTable am_methods[] = {
|
||||
{ GDBUS_METHOD("GetCards",
|
||||
NULL, GDBUS_ARGS({"cards", "a{oa{sv}}"}),
|
||||
am_get_cards) } ,
|
||||
{ GDBUS_METHOD("Register",
|
||||
GDBUS_ARGS({"path", "o"}, {"codecs", "ay"}), NULL,
|
||||
am_agent_register) },
|
||||
{ GDBUS_METHOD("Unregister",
|
||||
GDBUS_ARGS({"path", "o"}), NULL,
|
||||
am_agent_unregister) },
|
||||
{ }
|
||||
};
|
||||
|
||||
int __ofono_handsfree_audio_manager_init(void)
|
||||
{
|
||||
if (!g_dbus_register_interface(ofono_dbus_get_connection(),
|
||||
"/", HFP_AUDIO_MANAGER_INTERFACE,
|
||||
am_methods, NULL, NULL, NULL, NULL)) {
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void __ofono_handsfree_audio_manager_cleanup(void)
|
||||
{
|
||||
g_dbus_unregister_interface(ofono_dbus_get_connection(), "/",
|
||||
HFP_AUDIO_MANAGER_INTERFACE);
|
||||
}
|
|
@ -30,6 +30,9 @@ void __ofono_exit(void);
|
|||
int __ofono_manager_init(void);
|
||||
void __ofono_manager_cleanup(void);
|
||||
|
||||
int __ofono_handsfree_audio_manager_init(void);
|
||||
void __ofono_handsfree_audio_manager_cleanup(void);
|
||||
|
||||
void __ofono_modem_shutdown(void);
|
||||
|
||||
#include <ofono/log.h>
|
||||
|
|
Loading…
Reference in New Issue