From fe11e6ad36166f9e5e7279ffc59249dd7788360a Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Wed, 16 Feb 2011 18:37:15 +0000 Subject: moving towards a voip input item --- src/voip-input-menu-item.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/voip-input-menu-item.h (limited to 'src/voip-input-menu-item.h') diff --git a/src/voip-input-menu-item.h b/src/voip-input-menu-item.h new file mode 100644 index 0000000..296f22c --- /dev/null +++ b/src/voip-input-menu-item.h @@ -0,0 +1,58 @@ +/* +Copyright 2010 Canonical Ltd. + +Authors: + Conor Curran + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, 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 warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, 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, see . +*/ +#ifndef __VOIP_INPUT_MENU_ITEM_H__ +#define __VOIP_INPUT_MENU_ITEM_H__ + +#include +#include + +#include +#include "active-sink.h" + +G_BEGIN_DECLS + +#define VOIP_INPUT_MENU_ITEM_TYPE (voip_input_menu_item_get_type ()) +#define VOIP_INPUT_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VOIP_INPUT_MENU_ITEM_TYPE, VoipInputMenuItem)) +#define VOIP_INPUT_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VOIP_INPUT_MENU_ITEM_TYPE, VoipInputMenuItemClass)) +#define IS_VOIP_INPUT_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VOIP_INPUT_MENU_ITEM_TYPE)) +#define IS_VOIP_INPUT_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VOIP_INPUT_MENU_ITEM_TYPE)) +#define VOIP_INPUT_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VOIP_INPUT_MENU_ITEM_TYPE, VoipInputMenuItemClass)) + +typedef struct _VoipInputMenuItem VoipInputMenuItem; +typedef struct _VoipInputMenuItemClass VoipInputMenuItemClass; + +struct _VoipInputMenuItemClass { + DbusmenuMenuitemClass parent_class; +}; + +struct _VoipInputMenuItem { + DbusmenuMenuitem parent; +}; + +GType voip_input_menu_item_get_type (void); + +void voip_input_menu_item_update(VoipInputMenuItem* item, gdouble update); +void voip_input_menu_item_enable(VoipInputMenuItem* item, gboolean active); + +VoipInputMenuItem* voip_input_menu_item_new (ActiveSink* sink); + +G_END_DECLS + +#endif + -- cgit v1.2.3 From 3c5c6dc46b738371bd2c0d6afe12f5a9bb168cf6 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Wed, 16 Feb 2011 20:41:58 +0000 Subject: need to encapsulate more --- src/voip-input-menu-item.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/voip-input-menu-item.h') diff --git a/src/voip-input-menu-item.h b/src/voip-input-menu-item.h index 296f22c..ad70289 100644 --- a/src/voip-input-menu-item.h +++ b/src/voip-input-menu-item.h @@ -20,8 +20,7 @@ with this program. If not, see . #define __VOIP_INPUT_MENU_ITEM_H__ #include -#include - +#include #include #include "active-sink.h" @@ -47,8 +46,12 @@ struct _VoipInputMenuItem { GType voip_input_menu_item_get_type (void); -void voip_input_menu_item_update(VoipInputMenuItem* item, gdouble update); -void voip_input_menu_item_enable(VoipInputMenuItem* item, gboolean active); +void voip_input_menu_item_update (VoipInputMenuItem* item, + const pa_source_info* source); +void voip_input_menu_item_update_source_details (VoipInputMenuItem* item, + const pa_source_info* source); + +void voip_input_menu_item_enable (VoipInputMenuItem* item, gboolean active); VoipInputMenuItem* voip_input_menu_item_new (ActiveSink* sink); -- cgit v1.2.3 From c1fdbb5237dd04d6508fafc7d4af67645d4c66c5 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Thu, 17 Feb 2011 15:17:31 +0000 Subject: back end plugged together for proof of concept --- src/voip-input-menu-item.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/voip-input-menu-item.h') diff --git a/src/voip-input-menu-item.h b/src/voip-input-menu-item.h index ad70289..70dc9fa 100644 --- a/src/voip-input-menu-item.h +++ b/src/voip-input-menu-item.h @@ -1,5 +1,5 @@ /* -Copyright 2010 Canonical Ltd. +Copyright 2011 Canonical Ltd. Authors: Conor Curran @@ -48,10 +48,10 @@ GType voip_input_menu_item_get_type (void); void voip_input_menu_item_update (VoipInputMenuItem* item, const pa_source_info* source); -void voip_input_menu_item_update_source_details (VoipInputMenuItem* item, - const pa_source_info* source); - void voip_input_menu_item_enable (VoipInputMenuItem* item, gboolean active); +gboolean voip_input_menu_item_is_populated (VoipInputMenuItem* item); +gint voip_input_menu_item_get_index (VoipInputMenuItem* item); +void voip_input_menu_item_deactivate (VoipInputMenuItem* item); VoipInputMenuItem* voip_input_menu_item_new (ActiveSink* sink); -- cgit v1.2.3 From d8cc480485f8f46142298341ef5336a0572be5b4 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Fri, 18 Feb 2011 13:05:58 +0000 Subject: all working nicely, custom mute behaviour needed --- src/voip-input-menu-item.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/voip-input-menu-item.h') diff --git a/src/voip-input-menu-item.h b/src/voip-input-menu-item.h index 70dc9fa..5a62393 100644 --- a/src/voip-input-menu-item.h +++ b/src/voip-input-menu-item.h @@ -49,9 +49,17 @@ GType voip_input_menu_item_get_type (void); void voip_input_menu_item_update (VoipInputMenuItem* item, const pa_source_info* source); void voip_input_menu_item_enable (VoipInputMenuItem* item, gboolean active); +gboolean voip_input_menu_item_is_interested (VoipInputMenuItem* item, + gint sink_input_index, + gint client_index); gboolean voip_input_menu_item_is_populated (VoipInputMenuItem* item); +// TODO rename get source index gint voip_input_menu_item_get_index (VoipInputMenuItem* item); -void voip_input_menu_item_deactivate (VoipInputMenuItem* item); + +gint voip_input_menu_item_get_sink_input_index (VoipInputMenuItem* item); + +void voip_input_menu_item_deactivate_source (VoipInputMenuItem* item); +void voip_input_menu_item_deactivate_voip_client (VoipInputMenuItem* item); VoipInputMenuItem* voip_input_menu_item_new (ActiveSink* sink); -- cgit v1.2.3 From 9a424c26c67544aafdd7cff2d66519b1c72e8aa0 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Fri, 18 Feb 2011 16:56:17 +0000 Subject: bug free afaics ... --- src/voip-input-menu-item.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/voip-input-menu-item.h') diff --git a/src/voip-input-menu-item.h b/src/voip-input-menu-item.h index 5a62393..5a39d8a 100644 --- a/src/voip-input-menu-item.h +++ b/src/voip-input-menu-item.h @@ -58,7 +58,7 @@ gint voip_input_menu_item_get_index (VoipInputMenuItem* item); gint voip_input_menu_item_get_sink_input_index (VoipInputMenuItem* item); -void voip_input_menu_item_deactivate_source (VoipInputMenuItem* item); +void voip_input_menu_item_deactivate_source (VoipInputMenuItem* item, gboolean visible); void voip_input_menu_item_deactivate_voip_client (VoipInputMenuItem* item); VoipInputMenuItem* voip_input_menu_item_new (ActiveSink* sink); -- cgit v1.2.3 From 80afbbce02c5d31fc4375b84c8647628333b7cc2 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Fri, 18 Feb 2011 17:11:08 +0000 Subject: the last bug really --- src/voip-input-menu-item.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/voip-input-menu-item.h') diff --git a/src/voip-input-menu-item.h b/src/voip-input-menu-item.h index 5a39d8a..6f4ed85 100644 --- a/src/voip-input-menu-item.h +++ b/src/voip-input-menu-item.h @@ -52,6 +52,7 @@ void voip_input_menu_item_enable (VoipInputMenuItem* item, gboolean active); gboolean voip_input_menu_item_is_interested (VoipInputMenuItem* item, gint sink_input_index, gint client_index); +gboolean voip_input_menu_item_is_active (VoipInputMenuItem* item); gboolean voip_input_menu_item_is_populated (VoipInputMenuItem* item); // TODO rename get source index gint voip_input_menu_item_get_index (VoipInputMenuItem* item); -- cgit v1.2.3