/* astal-mpris.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __ASTAL_MPRIS_H__
#define __ASTAL_MPRIS_H__

#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <float.h>
#include <math.h>

G_BEGIN_DECLS

#define ASTAL_MPRIS_MAJOR_VERSION 0
#define ASTAL_MPRIS_MINOR_VERSION 1
#define ASTAL_MPRIS_MICRO_VERSION 0
#define ASTAL_MPRIS_VERSION "0.1.0"
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define ASTAL_MPRIS_TYPE_MPRIS (astal_mpris_mpris_get_type ())
#define ASTAL_MPRIS_MPRIS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_MPRIS_TYPE_MPRIS, AstalMprisMpris))
#define ASTAL_MPRIS_MPRIS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_MPRIS_TYPE_MPRIS, AstalMprisMprisClass))
#define ASTAL_MPRIS_IS_MPRIS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_MPRIS_TYPE_MPRIS))
#define ASTAL_MPRIS_IS_MPRIS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_MPRIS_TYPE_MPRIS))
#define ASTAL_MPRIS_MPRIS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_MPRIS_TYPE_MPRIS, AstalMprisMprisClass))

typedef struct _AstalMprisMpris AstalMprisMpris;
typedef struct _AstalMprisMprisClass AstalMprisMprisClass;
typedef struct _AstalMprisMprisPrivate AstalMprisMprisPrivate;

#define ASTAL_MPRIS_TYPE_PLAYER (astal_mpris_player_get_type ())
#define ASTAL_MPRIS_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_MPRIS_TYPE_PLAYER, AstalMprisPlayer))
#define ASTAL_MPRIS_PLAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_MPRIS_TYPE_PLAYER, AstalMprisPlayerClass))
#define ASTAL_MPRIS_IS_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_MPRIS_TYPE_PLAYER))
#define ASTAL_MPRIS_IS_PLAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_MPRIS_TYPE_PLAYER))
#define ASTAL_MPRIS_PLAYER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_MPRIS_TYPE_PLAYER, AstalMprisPlayerClass))

typedef struct _AstalMprisPlayer AstalMprisPlayer;
typedef struct _AstalMprisPlayerClass AstalMprisPlayerClass;
typedef struct _AstalMprisPlayerPrivate AstalMprisPlayerPrivate;
typedef enum  {
	ASTAL_MPRIS_LOOP_UNSUPPORTED,
	ASTAL_MPRIS_LOOP_NONE,
	ASTAL_MPRIS_LOOP_TRACK,
	ASTAL_MPRIS_LOOP_PLAYLIST
} AstalMprisLoop;

#define ASTAL_MPRIS_TYPE_LOOP (astal_mpris_loop_get_type ())
typedef enum  {
	ASTAL_MPRIS_SHUFFLE_UNSUPPORTED,
	ASTAL_MPRIS_SHUFFLE_ON,
	ASTAL_MPRIS_SHUFFLE_OFF
} AstalMprisShuffle;

#define ASTAL_MPRIS_TYPE_SHUFFLE (astal_mpris_shuffle_get_type ())
typedef enum  {
	ASTAL_MPRIS_PLAYBACK_STATUS_PLAYING,
	ASTAL_MPRIS_PLAYBACK_STATUS_PAUSED,
	ASTAL_MPRIS_PLAYBACK_STATUS_STOPPED
} AstalMprisPlaybackStatus;

#define ASTAL_MPRIS_TYPE_PLAYBACK_STATUS (astal_mpris_playback_status_get_type ())

struct _AstalMprisMpris {
	GObject parent_instance;
	AstalMprisMprisPrivate * priv;
};

struct _AstalMprisMprisClass {
	GObjectClass parent_class;
};

struct _AstalMprisPlayer {
	GObject parent_instance;
	AstalMprisPlayerPrivate * priv;
};

struct _AstalMprisPlayerClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType astal_mpris_mpris_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalMprisMpris, g_object_unref)
VALA_EXTERN AstalMprisMpris* astal_mpris_get_default (void);
VALA_EXTERN AstalMprisMpris* astal_mpris_mpris_get_default (void);
VALA_EXTERN AstalMprisMpris* astal_mpris_mpris_new (void);
VALA_EXTERN AstalMprisMpris* astal_mpris_mpris_construct (GType object_type);
VALA_EXTERN GType astal_mpris_player_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalMprisPlayer, g_object_unref)
VALA_EXTERN GList* astal_mpris_mpris_get_players (AstalMprisMpris* self);
VALA_EXTERN void astal_mpris_player_raise (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_quit (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_toggle_fullscreen (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_next (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_previous (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_pause (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_play_pause (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_stop (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_play (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_open_uri (AstalMprisPlayer* self,
                                  const gchar* uri);
VALA_EXTERN void astal_mpris_player_loop (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_shuffle (AstalMprisPlayer* self);
VALA_EXTERN GVariant* astal_mpris_player_get_meta (AstalMprisPlayer* self,
                                       const gchar* key);
VALA_EXTERN AstalMprisPlayer* astal_mpris_player_new (const gchar* name);
VALA_EXTERN AstalMprisPlayer* astal_mpris_player_construct (GType object_type,
                                                const gchar* name);
VALA_EXTERN const gchar* astal_mpris_player_get_bus_name (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_available (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_quit (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_fullscreen (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_set_fullscreen (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_raise (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_identity (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_entry (AstalMprisPlayer* self);
VALA_EXTERN gchar** astal_mpris_player_get_supported_uri_schemes (AstalMprisPlayer* self,
                                                      gint* result_length1);
VALA_EXTERN gchar** astal_mpris_player_get_supported_mime_types (AstalMprisPlayer* self,
                                                     gint* result_length1);
VALA_EXTERN GType astal_mpris_loop_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalMprisLoop astal_mpris_player_get_loop_status (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_set_loop_status (AstalMprisPlayer* self,
                                         AstalMprisLoop value);
VALA_EXTERN GType astal_mpris_shuffle_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalMprisShuffle astal_mpris_player_get_shuffle_status (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_set_shuffle_status (AstalMprisPlayer* self,
                                            AstalMprisShuffle value);
VALA_EXTERN gdouble astal_mpris_player_get_rate (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_set_rate (AstalMprisPlayer* self,
                                  gdouble value);
VALA_EXTERN gdouble astal_mpris_player_get_volume (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_set_volume (AstalMprisPlayer* self,
                                    gdouble value);
VALA_EXTERN gdouble astal_mpris_player_get_position (AstalMprisPlayer* self);
VALA_EXTERN void astal_mpris_player_set_position (AstalMprisPlayer* self,
                                      gdouble value);
VALA_EXTERN GType astal_mpris_playback_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalMprisPlaybackStatus astal_mpris_player_get_playback_status (AstalMprisPlayer* self);
VALA_EXTERN gdouble astal_mpris_player_get_minimum_rate (AstalMprisPlayer* self);
VALA_EXTERN gdouble astal_mpris_player_get_maximum_rate (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_go_next (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_go_previous (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_play (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_pause (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_seek (AstalMprisPlayer* self);
VALA_EXTERN gboolean astal_mpris_player_get_can_control (AstalMprisPlayer* self);
VALA_EXTERN GVariant* astal_mpris_player_get_metadata (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_trackid (AstalMprisPlayer* self);
VALA_EXTERN gdouble astal_mpris_player_get_length (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_art_url (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_album (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_album_artist (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_artist (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_lyrics (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_title (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_composer (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_comments (AstalMprisPlayer* self);
VALA_EXTERN const gchar* astal_mpris_player_get_cover_art (AstalMprisPlayer* self);

G_END_DECLS

#endif
