From cc70e0ae30920ca835bf011f8040afb6fea43f45 Mon Sep 17 00:00:00 2001 From: Manuel Bachmann Date: Thu, 7 Jul 2016 17:29:08 +0200 Subject: Implement routing groups and volume ramp up/down Change-Id: I0e9d3b8b8be4d124907214c165617d86be6906fc Signed-off-by: Manuel Bachmann --- router.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'router.h') diff --git a/router.h b/router.h index 0bf21d5..cc7bf95 100644 --- a/router.h +++ b/router.h @@ -29,14 +29,14 @@ #define AGL_ZONE_MAX 8 /* max 8 zones, demo is using 5 */ /* DEFINED IN MURPHY */ typedef bool (*agl_rtgroup_accept_t)(struct userdata *, agl_rtgroup *, agl_node *); -typedef int (*agl_rtgroup_compare_t)(struct userdata *, agl_rtgroup *, agl_node *, agl_node *); +typedef int (*agl_rtgroup_effect_t)(struct userdata *, agl_rtgroup *, agl_node *, bool new); struct agl_rtgroup { char *name; /**< name of the rtgroup */ agl_dlist entries; /**< listhead of ordered rtentries */ agl_node *node; /**< final node */ agl_rtgroup_accept_t accept; /**< function pointer, whether to accept a node or not */ - agl_rtgroup_compare_t compare; /**< function pointer, comparision for ordering */ + agl_rtgroup_effect_t effect; /**< function pointer, custom action such as volume up, down */ }; typedef struct { @@ -73,13 +73,15 @@ void agl_router_done (struct userdata *); bool agl_router_default_accept (struct userdata *, agl_rtgroup *, agl_node *); bool agl_router_phone_accept (struct userdata *, agl_rtgroup *, agl_node *); -int agl_router_default_compare (struct userdata *, agl_rtgroup *, agl_node *, agl_node *); -int agl_router_phone_compare (struct userdata *, agl_rtgroup *, agl_node *, agl_node *); +int agl_router_default_effect (struct userdata *, agl_rtgroup *, agl_node *, bool); +int agl_router_phone_effect (struct userdata *, agl_rtgroup *, agl_node *, bool); -agl_rtgroup *agl_router_create_rtgroup (struct userdata *, agl_direction, const char *, const char *, agl_rtgroup_accept_t, agl_rtgroup_compare_t); +agl_rtgroup *agl_router_create_rtgroup (struct userdata *, agl_direction, const char *, const char *, agl_rtgroup_accept_t, agl_rtgroup_effect_t); void agl_router_destroy_rtgroup (struct userdata *, agl_direction, const char *); bool agl_router_assign_class_to_rtgroup (struct userdata *, agl_node_type, uint32_t, agl_direction, const char *); void agl_router_assign_class_priority (struct userdata *, agl_node_type, int); +int agl_router_get_node_priority (struct userdata *, agl_node *); +bool agl_router_apply_node_priority_effect (struct userdata *, agl_node *, bool); void agl_router_register_node (struct userdata *, agl_node *); void agl_router_unregister_node (struct userdata *, agl_node *); -- cgit 1.2.3-korg