~ctf/unity-settings-daemon/bug1389099_mic_volume_icons

« back to all changes in this revision

Viewing changes to plugins/media-keys/gvc/gvc-mixer-ui-device.h

  • Committer: Package Import Robot
  • Author(s): Robert Ancell
  • Date: 2014-02-07 11:44:36 UTC
  • Revision ID: package-import@ubuntu.com-20140207114436-7t5u3yvwc4ul7w3e
Tags: upstream-14.04.0
ImportĀ upstreamĀ versionĀ 14.04.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
 
2
/*
 
3
 * Copyright (C) Conor Curran 2011 <conor.curran@canonical.com>
 
4
 *
 
5
 * This is free software: you can redistribute it and/or modify it
 
6
 * under the terms of the GNU General Public License as published by the
 
7
 * Free Software Foundation, either version 2 of the License, or
 
8
 * (at your option) any later version.
 
9
 *
 
10
 * gvc-mixer-ui-device.h is distributed in the hope that it will be useful, but
 
11
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
13
 * See the GNU General Public License for more details.
 
14
 *
 
15
 * You should have received a copy of the GNU General Public License along
 
16
 * with this program. If not, see <http://www.gnu.org/licenses/>.
 
17
 */
 
18
 
 
19
#ifndef _GVC_MIXER_UI_DEVICE_H_
 
20
#define _GVC_MIXER_UI_DEVICE_H_
 
21
 
 
22
#include <glib-object.h>
 
23
 
 
24
G_BEGIN_DECLS
 
25
 
 
26
#define GVC_TYPE_MIXER_UI_DEVICE             (gvc_mixer_ui_device_get_type ())
 
27
#define GVC_MIXER_UI_DEVICE(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVC_TYPE_MIXER_UI_DEVICE, GvcMixerUIDevice))
 
28
#define GVC_MIXER_UI_DEVICE_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GVC_TYPE_MIXER_UI_DEVICE, GvcMixerUIDeviceClass))
 
29
#define GVC_IS_MIXER_UI_DEVICE(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVC_TYPE_MIXER_UI_DEVICE))
 
30
#define GVC_IS_MIXER_UI_DEVICE_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GVC_TYPE_MIXER_UI_DEVICE))
 
31
#define GVC_MIXER_UI_DEVICE_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GVC_TYPE_MIXER_UI_DEVICE, GvcMixerUIDeviceClass))
 
32
 
 
33
#define GVC_MIXER_UI_DEVICE_INVALID          -1
 
34
 
 
35
typedef struct GvcMixerUIDevicePrivate GvcMixerUIDevicePrivate;
 
36
 
 
37
typedef struct
 
38
{
 
39
        GObjectClass parent_class;
 
40
} GvcMixerUIDeviceClass;
 
41
 
 
42
typedef struct
 
43
{
 
44
        GObject parent_instance;
 
45
        GvcMixerUIDevicePrivate *priv;
 
46
} GvcMixerUIDevice;
 
47
 
 
48
typedef enum
 
49
{
 
50
        UIDeviceInput,
 
51
        UIDeviceOutput,
 
52
} GvcMixerUIDeviceDirection;
 
53
 
 
54
GType gvc_mixer_ui_device_get_type (void) G_GNUC_CONST;
 
55
 
 
56
guint          gvc_mixer_ui_device_get_id                      (GvcMixerUIDevice *device);
 
57
gint           gvc_mixer_ui_device_get_stream_id               (GvcMixerUIDevice *device);
 
58
const gchar *  gvc_mixer_ui_device_get_description             (GvcMixerUIDevice *device);
 
59
const gchar *  gvc_mixer_ui_device_get_origin                  (GvcMixerUIDevice *device);
 
60
const gchar *  gvc_mixer_ui_device_get_port                    (GvcMixerUIDevice *device);
 
61
const gchar *  gvc_mixer_ui_device_get_best_profile            (GvcMixerUIDevice *device,
 
62
                                                                const gchar      *selected,
 
63
                                                                const gchar      *current);
 
64
const gchar *  gvc_mixer_ui_device_get_active_profile          (GvcMixerUIDevice* device);
 
65
const gchar *  gvc_mixer_ui_device_get_matching_profile        (GvcMixerUIDevice *device,
 
66
                                                                const gchar      *profile);
 
67
const gchar *  gvc_mixer_ui_device_get_user_preferred_profile  (GvcMixerUIDevice *device);
 
68
const gchar *  gvc_mixer_ui_device_get_top_priority_profile    (GvcMixerUIDevice *device);
 
69
GList *        gvc_mixer_ui_device_get_profiles                (GvcMixerUIDevice *device);
 
70
GList *        gvc_mixer_ui_device_get_supported_profiles      (GvcMixerUIDevice *device);
 
71
gboolean       gvc_mixer_ui_device_should_profiles_be_hidden   (GvcMixerUIDevice *device);
 
72
void           gvc_mixer_ui_device_set_profiles                (GvcMixerUIDevice *device,
 
73
                                                                const GList      *in_profiles);
 
74
void           gvc_mixer_ui_device_set_user_preferred_profile  (GvcMixerUIDevice *device,
 
75
                                                                const gchar      *profile);
 
76
void           gvc_mixer_ui_device_invalidate_stream           (GvcMixerUIDevice *device);
 
77
gboolean       gvc_mixer_ui_device_has_ports                   (GvcMixerUIDevice *device);
 
78
gboolean       gvc_mixer_ui_device_is_output                   (GvcMixerUIDevice *device);
 
79
 
 
80
G_END_DECLS
 
81
 
 
82
#endif /* _GVC_MIXER_UI_DEVICE_H_ */