Blame subprojects/gvc/gvc-mixer-ui-device.h

Packit d345d1
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
Packit d345d1
/*
Packit d345d1
 * Copyright (C) Conor Curran 2011 <conor.curran@canonical.com>
Packit d345d1
 *
Packit d345d1
 * This is free software: you can redistribute it and/or modify it
Packit d345d1
 * under the terms of the GNU General Public License as published by the
Packit d345d1
 * Free Software Foundation, either version 2 of the License, or
Packit d345d1
 * (at your option) any later version.
Packit d345d1
 *
Packit d345d1
 * gvc-mixer-ui-device.h is distributed in the hope that it will be useful, but
Packit d345d1
 * WITHOUT ANY WARRANTY; without even the implied warranty of
Packit d345d1
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Packit d345d1
 * See the GNU General Public License for more details.
Packit d345d1
 *
Packit d345d1
 * You should have received a copy of the GNU General Public License along
Packit d345d1
 * with this program. If not, see <http://www.gnu.org/licenses/>.
Packit d345d1
 */
Packit d345d1
Packit d345d1
#ifndef _GVC_MIXER_UI_DEVICE_H_
Packit d345d1
#define _GVC_MIXER_UI_DEVICE_H_
Packit d345d1
Packit d345d1
#include <glib-object.h>
Packit d345d1
#include <gio/gio.h>
Packit d345d1
Packit d345d1
G_BEGIN_DECLS
Packit d345d1
Packit d345d1
#define GVC_TYPE_MIXER_UI_DEVICE             (gvc_mixer_ui_device_get_type ())
Packit d345d1
#define GVC_MIXER_UI_DEVICE(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVC_TYPE_MIXER_UI_DEVICE, GvcMixerUIDevice))
Packit d345d1
#define GVC_MIXER_UI_DEVICE_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GVC_TYPE_MIXER_UI_DEVICE, GvcMixerUIDeviceClass))
Packit d345d1
#define GVC_IS_MIXER_UI_DEVICE(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVC_TYPE_MIXER_UI_DEVICE))
Packit d345d1
#define GVC_IS_MIXER_UI_DEVICE_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GVC_TYPE_MIXER_UI_DEVICE))
Packit d345d1
#define GVC_MIXER_UI_DEVICE_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GVC_TYPE_MIXER_UI_DEVICE, GvcMixerUIDeviceClass))
Packit d345d1
Packit d345d1
#define GVC_MIXER_UI_DEVICE_INVALID          0
Packit d345d1
Packit d345d1
typedef struct GvcMixerUIDevicePrivate GvcMixerUIDevicePrivate;
Packit d345d1
Packit d345d1
typedef struct
Packit d345d1
{
Packit d345d1
        GObjectClass parent_class;
Packit d345d1
} GvcMixerUIDeviceClass;
Packit d345d1
Packit d345d1
typedef struct
Packit d345d1
{
Packit d345d1
        GObject parent_instance;
Packit d345d1
        GvcMixerUIDevicePrivate *priv;
Packit d345d1
} GvcMixerUIDevice;
Packit d345d1
Packit d345d1
typedef enum
Packit d345d1
{
Packit d345d1
        UIDeviceInput,
Packit d345d1
        UIDeviceOutput,
Packit d345d1
} GvcMixerUIDeviceDirection;
Packit d345d1
Packit d345d1
GType gvc_mixer_ui_device_get_type (void) G_GNUC_CONST;
Packit d345d1
Packit d345d1
guint          gvc_mixer_ui_device_get_id                      (GvcMixerUIDevice *device);
Packit d345d1
guint          gvc_mixer_ui_device_get_stream_id               (GvcMixerUIDevice *device);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_description             (GvcMixerUIDevice *device);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_icon_name               (GvcMixerUIDevice *device);
Packit d345d1
GIcon *        gvc_mixer_ui_device_get_gicon                   (GvcMixerUIDevice *device);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_origin                  (GvcMixerUIDevice *device);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_port                    (GvcMixerUIDevice *device);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_best_profile            (GvcMixerUIDevice *device,
Packit d345d1
                                                                const gchar      *selected,
Packit d345d1
                                                                const gchar      *current);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_active_profile          (GvcMixerUIDevice* device);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_matching_profile        (GvcMixerUIDevice *device,
Packit d345d1
                                                                const gchar      *profile);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_user_preferred_profile  (GvcMixerUIDevice *device);
Packit d345d1
const gchar *  gvc_mixer_ui_device_get_top_priority_profile    (GvcMixerUIDevice *device);
Packit d345d1
GList *        gvc_mixer_ui_device_get_profiles                (GvcMixerUIDevice *device);
Packit d345d1
GList *        gvc_mixer_ui_device_get_supported_profiles      (GvcMixerUIDevice *device);
Packit d345d1
gboolean       gvc_mixer_ui_device_should_profiles_be_hidden   (GvcMixerUIDevice *device);
Packit d345d1
void           gvc_mixer_ui_device_set_profiles                (GvcMixerUIDevice *device,
Packit d345d1
                                                                const GList      *in_profiles);
Packit d345d1
void           gvc_mixer_ui_device_set_user_preferred_profile  (GvcMixerUIDevice *device,
Packit d345d1
                                                                const gchar      *profile);
Packit d345d1
void           gvc_mixer_ui_device_invalidate_stream           (GvcMixerUIDevice *device);
Packit d345d1
gboolean       gvc_mixer_ui_device_has_ports                   (GvcMixerUIDevice *device);
Packit d345d1
gboolean       gvc_mixer_ui_device_is_output                   (GvcMixerUIDevice *device);
Packit d345d1
Packit d345d1
G_END_DECLS
Packit d345d1
Packit d345d1
#endif /* _GVC_MIXER_UI_DEVICE_H_ */