aboutsummaryrefslogtreecommitdiff
path: root/src/mpris2-interfaces.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mpris2-interfaces.c')
-rw-r--r--src/mpris2-interfaces.c481
1 files changed, 279 insertions, 202 deletions
diff --git a/src/mpris2-interfaces.c b/src/mpris2-interfaces.c
index 90941fa..3243404 100644
--- a/src/mpris2-interfaces.c
+++ b/src/mpris2-interfaces.c
@@ -256,7 +256,9 @@ guint32 mpris_playlists_get_PlaylistCount (MprisPlaylists* self);
void mpris_playlists_set_PlaylistCount (MprisPlaylists* self, guint32 value);
void mpris_playlists_get_ActivePlaylist (MprisPlaylists* self, ActivePlaylistContainer* result);
void mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, ActivePlaylistContainer* value);
+static void g_cclosure_user_marshal_VOID__BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
static void mpris_playlists_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters);
+static void _dbus_handle_mpris_playlists_playlist_changed (MprisPlaylists* self, GVariant* parameters);
static void mpris_playlists_proxy_ActivatePlaylist_async (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void mpris_playlists_proxy_ActivatePlaylist_finish (MprisPlaylists* self, GAsyncResult* _res_, GError** error);
static void mpris_playlists_proxy_GetPlaylists_async (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_);
@@ -282,6 +284,7 @@ static gboolean mpris_playlists_dbus_interface_set_property (GDBusConnection* co
static void _dbus_mpris_playlists_set_Orderings (MprisPlaylists* self, GVariant* _value);
static void _dbus_mpris_playlists_set_PlaylistCount (MprisPlaylists* self, GVariant* _value);
static void _dbus_mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, GVariant* _value);
+static void _dbus_mpris_playlists_playlist_changed (GObject* _sender, PlaylistDetails* details, gpointer* _data);
static void _mpris_playlists_unregister_object (gpointer user_data);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
@@ -335,7 +338,10 @@ static const GDBusArgInfo * const _mpris_playlists_dbus_arg_info_GetPlaylists_in
static const GDBusArgInfo * const _mpris_playlists_dbus_arg_info_GetPlaylists_out[] = {&_mpris_playlists_dbus_arg_info_GetPlaylists_result, NULL};
static const GDBusMethodInfo _mpris_playlists_dbus_method_info_GetPlaylists = {-1, "GetPlaylists", (GDBusArgInfo **) (&_mpris_playlists_dbus_arg_info_GetPlaylists_in), (GDBusArgInfo **) (&_mpris_playlists_dbus_arg_info_GetPlaylists_out)};
static const GDBusMethodInfo * const _mpris_playlists_dbus_method_info[] = {&_mpris_playlists_dbus_method_info_ActivatePlaylist, &_mpris_playlists_dbus_method_info_GetPlaylists, NULL};
-static const GDBusSignalInfo * const _mpris_playlists_dbus_signal_info[] = {NULL};
+static const GDBusArgInfo _mpris_playlists_dbus_arg_info_playlist_changed_details = {-1, "details", "(oss)"};
+static const GDBusArgInfo * const _mpris_playlists_dbus_arg_info_playlist_changed[] = {&_mpris_playlists_dbus_arg_info_playlist_changed_details, NULL};
+static const GDBusSignalInfo _mpris_playlists_dbus_signal_info_playlist_changed = {-1, "PlaylistChanged", (GDBusArgInfo **) (&_mpris_playlists_dbus_arg_info_playlist_changed)};
+static const GDBusSignalInfo * const _mpris_playlists_dbus_signal_info[] = {&_mpris_playlists_dbus_signal_info_playlist_changed, NULL};
static const GDBusPropertyInfo _mpris_playlists_dbus_property_info_Orderings = {-1, "Orderings", "as", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE};
static const GDBusPropertyInfo _mpris_playlists_dbus_property_info_PlaylistCount = {-1, "PlaylistCount", "u", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE};
static const GDBusPropertyInfo _mpris_playlists_dbus_property_info_ActivePlaylist = {-1, "ActivePlaylist", "(b(oss))", G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE};
@@ -1745,10 +1751,30 @@ void mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, ActivePlaylistCon
}
+static void g_cclosure_user_marshal_VOID__BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
+ typedef void (*GMarshalFunc_VOID__BOXED) (gpointer data1, gpointer arg_1, gpointer data2);
+ register GMarshalFunc_VOID__BOXED callback;
+ register GCClosure * cc;
+ register gpointer data1, data2;
+ cc = (GCClosure *) closure;
+ g_return_if_fail (n_param_values == 2);
+ if (G_CCLOSURE_SWAP_DATA (closure)) {
+ data1 = closure->data;
+ data2 = param_values->data[0].v_pointer;
+ } else {
+ data1 = param_values->data[0].v_pointer;
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_VOID__BOXED) (marshal_data ? marshal_data : cc->callback);
+ callback (data1, g_value_get_boxed (param_values + 1), data2);
+}
+
+
static void mpris_playlists_base_init (MprisPlaylistsIface * iface) {
static gboolean initialized = FALSE;
if (!initialized) {
initialized = TRUE;
+ g_signal_new ("playlist_changed", TYPE_MPRIS_PLAYLISTS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOXED, G_TYPE_NONE, 1, TYPE_PLAYLIST_DETAILS);
}
}
@@ -1775,7 +1801,38 @@ static void mpris_playlists_proxy_class_init (MprisPlaylistsProxyClass* klass) {
}
+static void _dbus_handle_mpris_playlists_playlist_changed (MprisPlaylists* self, GVariant* parameters) {
+ GVariantIter _arguments_iter;
+ PlaylistDetails details = {0};
+ GVariant* _tmp17_;
+ PlaylistDetails _tmp18_;
+ GVariantIter _tmp19_;
+ GVariant* _tmp20_;
+ GVariant* _tmp21_;
+ GVariant* _tmp22_;
+ g_variant_iter_init (&_arguments_iter, parameters);
+ _tmp17_ = g_variant_iter_next_value (&_arguments_iter);
+ g_variant_iter_init (&_tmp19_, _tmp17_);
+ _tmp20_ = g_variant_iter_next_value (&_tmp19_);
+ _tmp18_.path = g_variant_dup_string (_tmp20_, NULL);
+ g_variant_unref (_tmp20_);
+ _tmp21_ = g_variant_iter_next_value (&_tmp19_);
+ _tmp18_.name = g_variant_dup_string (_tmp21_, NULL);
+ g_variant_unref (_tmp21_);
+ _tmp22_ = g_variant_iter_next_value (&_tmp19_);
+ _tmp18_.icon_path = g_variant_dup_string (_tmp22_, NULL);
+ g_variant_unref (_tmp22_);
+ details = _tmp18_;
+ g_variant_unref (_tmp17_);
+ g_signal_emit_by_name (self, "playlist-changed", &details);
+ playlist_details_destroy (&details);
+}
+
+
static void mpris_playlists_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) {
+ if (strcmp (signal_name, "PlaylistChanged") == 0) {
+ _dbus_handle_mpris_playlists_playlist_changed (proxy, parameters);
+ }
}
@@ -1836,13 +1893,13 @@ static PlaylistDetails* mpris_playlists_proxy_GetPlaylists_finish (MprisPlaylist
GVariantIter _reply_iter;
PlaylistDetails* _result;
int _result_length1;
- GVariant* _tmp17_;
- PlaylistDetails* _tmp18_;
- int _tmp18__length;
- int _tmp18__size;
- int _tmp18__length1;
- GVariantIter _tmp19_;
- GVariant* _tmp20_;
+ GVariant* _tmp23_;
+ PlaylistDetails* _tmp24_;
+ int _tmp24__length;
+ int _tmp24__size;
+ int _tmp24__length1;
+ GVariantIter _tmp25_;
+ GVariant* _tmp26_;
_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), g_simple_async_result_get_op_res_gpointer ((GSimpleAsyncResult *) _res_), error);
if (!_reply_message) {
return NULL;
@@ -1854,38 +1911,38 @@ static PlaylistDetails* mpris_playlists_proxy_GetPlaylists_finish (MprisPlaylist
_reply = g_dbus_message_get_body (_reply_message);
g_variant_iter_init (&_reply_iter, _reply);
_result_length1 = 0;
- _tmp17_ = g_variant_iter_next_value (&_reply_iter);
- _tmp18_ = g_new (PlaylistDetails, 5);
- _tmp18__length = 0;
- _tmp18__size = 4;
- _tmp18__length1 = 0;
- g_variant_iter_init (&_tmp19_, _tmp17_);
- for (; (_tmp20_ = g_variant_iter_next_value (&_tmp19_)) != NULL; _tmp18__length1++) {
- PlaylistDetails _tmp21_;
- GVariantIter _tmp22_;
- GVariant* _tmp23_;
- GVariant* _tmp24_;
- GVariant* _tmp25_;
- if (_tmp18__size == _tmp18__length) {
- _tmp18__size = 2 * _tmp18__size;
- _tmp18_ = g_renew (PlaylistDetails, _tmp18_, _tmp18__size + 1);
+ _tmp23_ = g_variant_iter_next_value (&_reply_iter);
+ _tmp24_ = g_new (PlaylistDetails, 5);
+ _tmp24__length = 0;
+ _tmp24__size = 4;
+ _tmp24__length1 = 0;
+ g_variant_iter_init (&_tmp25_, _tmp23_);
+ for (; (_tmp26_ = g_variant_iter_next_value (&_tmp25_)) != NULL; _tmp24__length1++) {
+ PlaylistDetails _tmp27_;
+ GVariantIter _tmp28_;
+ GVariant* _tmp29_;
+ GVariant* _tmp30_;
+ GVariant* _tmp31_;
+ if (_tmp24__size == _tmp24__length) {
+ _tmp24__size = 2 * _tmp24__size;
+ _tmp24_ = g_renew (PlaylistDetails, _tmp24_, _tmp24__size + 1);
}
- g_variant_iter_init (&_tmp22_, _tmp20_);
- _tmp23_ = g_variant_iter_next_value (&_tmp22_);
- _tmp21_.path = g_variant_dup_string (_tmp23_, NULL);
- g_variant_unref (_tmp23_);
- _tmp24_ = g_variant_iter_next_value (&_tmp22_);
- _tmp21_.name = g_variant_dup_string (_tmp24_, NULL);
- g_variant_unref (_tmp24_);
- _tmp25_ = g_variant_iter_next_value (&_tmp22_);
- _tmp21_.icon_path = g_variant_dup_string (_tmp25_, NULL);
- g_variant_unref (_tmp25_);
- _tmp18_[_tmp18__length++] = _tmp21_;
- g_variant_unref (_tmp20_);
- }
- _result_length1 = _tmp18__length1;
- _result = _tmp18_;
- g_variant_unref (_tmp17_);
+ g_variant_iter_init (&_tmp28_, _tmp26_);
+ _tmp29_ = g_variant_iter_next_value (&_tmp28_);
+ _tmp27_.path = g_variant_dup_string (_tmp29_, NULL);
+ g_variant_unref (_tmp29_);
+ _tmp30_ = g_variant_iter_next_value (&_tmp28_);
+ _tmp27_.name = g_variant_dup_string (_tmp30_, NULL);
+ g_variant_unref (_tmp30_);
+ _tmp31_ = g_variant_iter_next_value (&_tmp28_);
+ _tmp27_.icon_path = g_variant_dup_string (_tmp31_, NULL);
+ g_variant_unref (_tmp31_);
+ _tmp24_[_tmp24__length++] = _tmp27_;
+ g_variant_unref (_tmp26_);
+ }
+ _result_length1 = _tmp24__length1;
+ _result = _tmp24_;
+ g_variant_unref (_tmp23_);
*result_length1 = _result_length1;
g_object_unref (_reply_message);
return _result;
@@ -1896,12 +1953,12 @@ static gchar** mpris_playlists_dbus_proxy_get_Orderings (MprisPlaylists* self, i
GVariant *_inner_reply;
gchar** _result;
int _result_length1;
- gchar** _tmp26_;
- int _tmp26__length;
- int _tmp26__size;
- int _tmp26__length1;
- GVariantIter _tmp27_;
- GVariant* _tmp28_;
+ gchar** _tmp32_;
+ int _tmp32__length;
+ int _tmp32__size;
+ int _tmp32__length1;
+ GVariantIter _tmp33_;
+ GVariant* _tmp34_;
_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Orderings");
if (!_inner_reply) {
GVariant *_arguments;
@@ -1919,22 +1976,22 @@ static gchar** mpris_playlists_dbus_proxy_get_Orderings (MprisPlaylists* self, i
g_variant_unref (_reply);
}
_result_length1 = 0;
- _tmp26_ = g_new (gchar*, 5);
- _tmp26__length = 0;
- _tmp26__size = 4;
- _tmp26__length1 = 0;
- g_variant_iter_init (&_tmp27_, _inner_reply);
- for (; (_tmp28_ = g_variant_iter_next_value (&_tmp27_)) != NULL; _tmp26__length1++) {
- if (_tmp26__size == _tmp26__length) {
- _tmp26__size = 2 * _tmp26__size;
- _tmp26_ = g_renew (gchar*, _tmp26_, _tmp26__size + 1);
+ _tmp32_ = g_new (gchar*, 5);
+ _tmp32__length = 0;
+ _tmp32__size = 4;
+ _tmp32__length1 = 0;
+ g_variant_iter_init (&_tmp33_, _inner_reply);
+ for (; (_tmp34_ = g_variant_iter_next_value (&_tmp33_)) != NULL; _tmp32__length1++) {
+ if (_tmp32__size == _tmp32__length) {
+ _tmp32__size = 2 * _tmp32__size;
+ _tmp32_ = g_renew (gchar*, _tmp32_, _tmp32__size + 1);
}
- _tmp26_[_tmp26__length++] = g_variant_dup_string (_tmp28_, NULL);
- g_variant_unref (_tmp28_);
+ _tmp32_[_tmp32__length++] = g_variant_dup_string (_tmp34_, NULL);
+ g_variant_unref (_tmp34_);
}
- _result_length1 = _tmp26__length1;
- _tmp26_[_tmp26__length] = NULL;
- _result = _tmp26_;
+ _result_length1 = _tmp32__length1;
+ _tmp32_[_tmp32__length] = NULL;
+ _result = _tmp32_;
*result_length1 = _result_length1;
g_variant_unref (_inner_reply);
return _result;
@@ -1945,20 +2002,20 @@ static void mpris_playlists_dbus_proxy_set_Orderings (MprisPlaylists* self, gcha
GVariant *_arguments;
GVariant *_reply;
GVariantBuilder _arguments_builder;
- gchar** _tmp29_;
- GVariantBuilder _tmp30_;
- int _tmp31_;
+ gchar** _tmp35_;
+ GVariantBuilder _tmp36_;
+ int _tmp37_;
g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Playlists"));
g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Orderings"));
g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
- _tmp29_ = value;
- g_variant_builder_init (&_tmp30_, G_VARIANT_TYPE ("as"));
- for (_tmp31_ = 0; _tmp31_ < value_length1; _tmp31_++) {
- g_variant_builder_add_value (&_tmp30_, g_variant_new_string (*_tmp29_));
- _tmp29_++;
+ _tmp35_ = value;
+ g_variant_builder_init (&_tmp36_, G_VARIANT_TYPE ("as"));
+ for (_tmp37_ = 0; _tmp37_ < value_length1; _tmp37_++) {
+ g_variant_builder_add_value (&_tmp36_, g_variant_new_string (*_tmp35_));
+ _tmp35_++;
}
- g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp30_));
+ g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp36_));
g_variant_builder_close (&_arguments_builder);
_arguments = g_variant_builder_end (&_arguments_builder);
_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Set", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
@@ -2015,15 +2072,15 @@ static void mpris_playlists_dbus_proxy_set_PlaylistCount (MprisPlaylists* self,
static void mpris_playlists_dbus_proxy_get_ActivePlaylist (MprisPlaylists* self, ActivePlaylistContainer* result) {
GVariant *_inner_reply;
- ActivePlaylistContainer _tmp32_;
- GVariantIter _tmp33_;
- GVariant* _tmp34_;
- GVariant* _tmp35_;
- PlaylistDetails _tmp36_;
- GVariantIter _tmp37_;
- GVariant* _tmp38_;
- GVariant* _tmp39_;
+ ActivePlaylistContainer _tmp38_;
+ GVariantIter _tmp39_;
GVariant* _tmp40_;
+ GVariant* _tmp41_;
+ PlaylistDetails _tmp42_;
+ GVariantIter _tmp43_;
+ GVariant* _tmp44_;
+ GVariant* _tmp45_;
+ GVariant* _tmp46_;
_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "ActivePlaylist");
if (!_inner_reply) {
GVariant *_arguments;
@@ -2040,24 +2097,24 @@ static void mpris_playlists_dbus_proxy_get_ActivePlaylist (MprisPlaylists* self,
g_variant_get (_reply, "(v)", &_inner_reply);
g_variant_unref (_reply);
}
- g_variant_iter_init (&_tmp33_, _inner_reply);
- _tmp34_ = g_variant_iter_next_value (&_tmp33_);
- _tmp32_.valid = g_variant_get_boolean (_tmp34_);
- g_variant_unref (_tmp34_);
- _tmp35_ = g_variant_iter_next_value (&_tmp33_);
- g_variant_iter_init (&_tmp37_, _tmp35_);
- _tmp38_ = g_variant_iter_next_value (&_tmp37_);
- _tmp36_.path = g_variant_dup_string (_tmp38_, NULL);
- g_variant_unref (_tmp38_);
- _tmp39_ = g_variant_iter_next_value (&_tmp37_);
- _tmp36_.name = g_variant_dup_string (_tmp39_, NULL);
- g_variant_unref (_tmp39_);
- _tmp40_ = g_variant_iter_next_value (&_tmp37_);
- _tmp36_.icon_path = g_variant_dup_string (_tmp40_, NULL);
+ g_variant_iter_init (&_tmp39_, _inner_reply);
+ _tmp40_ = g_variant_iter_next_value (&_tmp39_);
+ _tmp38_.valid = g_variant_get_boolean (_tmp40_);
g_variant_unref (_tmp40_);
- _tmp32_.details = _tmp36_;
- g_variant_unref (_tmp35_);
- *result = _tmp32_;
+ _tmp41_ = g_variant_iter_next_value (&_tmp39_);
+ g_variant_iter_init (&_tmp43_, _tmp41_);
+ _tmp44_ = g_variant_iter_next_value (&_tmp43_);
+ _tmp42_.path = g_variant_dup_string (_tmp44_, NULL);
+ g_variant_unref (_tmp44_);
+ _tmp45_ = g_variant_iter_next_value (&_tmp43_);
+ _tmp42_.name = g_variant_dup_string (_tmp45_, NULL);
+ g_variant_unref (_tmp45_);
+ _tmp46_ = g_variant_iter_next_value (&_tmp43_);
+ _tmp42_.icon_path = g_variant_dup_string (_tmp46_, NULL);
+ g_variant_unref (_tmp46_);
+ _tmp38_.details = _tmp42_;
+ g_variant_unref (_tmp41_);
+ *result = _tmp38_;
g_variant_unref (_inner_reply);
return;
}
@@ -2067,20 +2124,20 @@ static void mpris_playlists_dbus_proxy_set_ActivePlaylist (MprisPlaylists* self,
GVariant *_arguments;
GVariant *_reply;
GVariantBuilder _arguments_builder;
- GVariantBuilder _tmp41_;
- GVariantBuilder _tmp42_;
+ GVariantBuilder _tmp47_;
+ GVariantBuilder _tmp48_;
g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.mpris.MediaPlayer2.Playlists"));
g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("ActivePlaylist"));
g_variant_builder_open (&_arguments_builder, G_VARIANT_TYPE_VARIANT);
- g_variant_builder_init (&_tmp41_, G_VARIANT_TYPE_TUPLE);
- g_variant_builder_add_value (&_tmp41_, g_variant_new_boolean ((*value).valid));
- g_variant_builder_init (&_tmp42_, G_VARIANT_TYPE_TUPLE);
- g_variant_builder_add_value (&_tmp42_, g_variant_new_object_path ((*value).details.path));
- g_variant_builder_add_value (&_tmp42_, g_variant_new_string ((*value).details.name));
- g_variant_builder_add_value (&_tmp42_, g_variant_new_string ((*value).details.icon_path));
- g_variant_builder_add_value (&_tmp41_, g_variant_builder_end (&_tmp42_));
- g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp41_));
+ g_variant_builder_init (&_tmp47_, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_add_value (&_tmp47_, g_variant_new_boolean ((*value).valid));
+ g_variant_builder_init (&_tmp48_, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_add_value (&_tmp48_, g_variant_new_object_path ((*value).details.path));
+ g_variant_builder_add_value (&_tmp48_, g_variant_new_string ((*value).details.name));
+ g_variant_builder_add_value (&_tmp48_, g_variant_new_string ((*value).details.icon_path));
+ g_variant_builder_add_value (&_tmp47_, g_variant_builder_end (&_tmp48_));
+ g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp47_));
g_variant_builder_close (&_arguments_builder);
_arguments = g_variant_builder_end (&_arguments_builder);
_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Set", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
@@ -2108,11 +2165,11 @@ static void mpris_playlists_proxy_mpris_playlists_interface_init (MprisPlaylists
static void _dbus_mpris_playlists_ActivatePlaylist (MprisPlaylists* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
GVariantIter _arguments_iter;
char* playlist_id = NULL;
- GVariant* _tmp43_;
+ GVariant* _tmp49_;
g_variant_iter_init (&_arguments_iter, parameters);
- _tmp43_ = g_variant_iter_next_value (&_arguments_iter);
- playlist_id = g_variant_dup_string (_tmp43_, NULL);
- g_variant_unref (_tmp43_);
+ _tmp49_ = g_variant_iter_next_value (&_arguments_iter);
+ playlist_id = g_variant_dup_string (_tmp49_, NULL);
+ g_variant_unref (_tmp49_);
mpris_playlists_ActivatePlaylist (self, playlist_id, (GAsyncReadyCallback) _dbus_mpris_playlists_ActivatePlaylist_ready, invocation);
_g_free0 (playlist_id);
}
@@ -2143,26 +2200,26 @@ static void _dbus_mpris_playlists_ActivatePlaylist_ready (GObject * source_objec
static void _dbus_mpris_playlists_GetPlaylists (MprisPlaylists* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
GVariantIter _arguments_iter;
guint32 index = 0U;
- GVariant* _tmp44_;
+ GVariant* _tmp50_;
guint32 max_count = 0U;
- GVariant* _tmp45_;
+ GVariant* _tmp51_;
gchar* order = NULL;
- GVariant* _tmp46_;
+ GVariant* _tmp52_;
gboolean reverse_order = FALSE;
- GVariant* _tmp47_;
+ GVariant* _tmp53_;
g_variant_iter_init (&_arguments_iter, parameters);
- _tmp44_ = g_variant_iter_next_value (&_arguments_iter);
- index = g_variant_get_uint32 (_tmp44_);
- g_variant_unref (_tmp44_);
- _tmp45_ = g_variant_iter_next_value (&_arguments_iter);
- max_count = g_variant_get_uint32 (_tmp45_);
- g_variant_unref (_tmp45_);
- _tmp46_ = g_variant_iter_next_value (&_arguments_iter);
- order = g_variant_dup_string (_tmp46_, NULL);
- g_variant_unref (_tmp46_);
- _tmp47_ = g_variant_iter_next_value (&_arguments_iter);
- reverse_order = g_variant_get_boolean (_tmp47_);
- g_variant_unref (_tmp47_);
+ _tmp50_ = g_variant_iter_next_value (&_arguments_iter);
+ index = g_variant_get_uint32 (_tmp50_);
+ g_variant_unref (_tmp50_);
+ _tmp51_ = g_variant_iter_next_value (&_arguments_iter);
+ max_count = g_variant_get_uint32 (_tmp51_);
+ g_variant_unref (_tmp51_);
+ _tmp52_ = g_variant_iter_next_value (&_arguments_iter);
+ order = g_variant_dup_string (_tmp52_, NULL);
+ g_variant_unref (_tmp52_);
+ _tmp53_ = g_variant_iter_next_value (&_arguments_iter);
+ reverse_order = g_variant_get_boolean (_tmp53_);
+ g_variant_unref (_tmp53_);
mpris_playlists_GetPlaylists (self, index, max_count, order, reverse_order, (GAsyncReadyCallback) _dbus_mpris_playlists_GetPlaylists_ready, invocation);
_g_free0 (order);
}
@@ -2187,9 +2244,9 @@ static void _dbus_mpris_playlists_GetPlaylists_ready (GObject * source_object, G
GVariantBuilder _reply_builder;
PlaylistDetails* result;
int result_length1 = 0;
- PlaylistDetails* _tmp48_;
- GVariantBuilder _tmp49_;
- int _tmp50_;
+ PlaylistDetails* _tmp54_;
+ GVariantBuilder _tmp55_;
+ int _tmp56_;
invocation = _user_data_;
result = mpris_playlists_GetPlaylists_finish ((MprisPlaylists*) source_object, _res_, &result_length1, &error);
if (error) {
@@ -2198,18 +2255,18 @@ static void _dbus_mpris_playlists_GetPlaylists_ready (GObject * source_object, G
}
_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
- _tmp48_ = result;
- g_variant_builder_init (&_tmp49_, G_VARIANT_TYPE ("a(oss)"));
- for (_tmp50_ = 0; _tmp50_ < result_length1; _tmp50_++) {
- GVariantBuilder _tmp51_;
- g_variant_builder_init (&_tmp51_, G_VARIANT_TYPE_TUPLE);
- g_variant_builder_add_value (&_tmp51_, g_variant_new_object_path ((*_tmp48_).path));
- g_variant_builder_add_value (&_tmp51_, g_variant_new_string ((*_tmp48_).name));
- g_variant_builder_add_value (&_tmp51_, g_variant_new_string ((*_tmp48_).icon_path));
- g_variant_builder_add_value (&_tmp49_, g_variant_builder_end (&_tmp51_));
- _tmp48_++;
- }
- g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp49_));
+ _tmp54_ = result;
+ g_variant_builder_init (&_tmp55_, G_VARIANT_TYPE ("a(oss)"));
+ for (_tmp56_ = 0; _tmp56_ < result_length1; _tmp56_++) {
+ GVariantBuilder _tmp57_;
+ g_variant_builder_init (&_tmp57_, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_add_value (&_tmp57_, g_variant_new_object_path ((*_tmp54_).path));
+ g_variant_builder_add_value (&_tmp57_, g_variant_new_string ((*_tmp54_).name));
+ g_variant_builder_add_value (&_tmp57_, g_variant_new_string ((*_tmp54_).icon_path));
+ g_variant_builder_add_value (&_tmp55_, g_variant_builder_end (&_tmp57_));
+ _tmp54_++;
+ }
+ g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp55_));
result = (_vala_PlaylistDetails_array_free ( result, result_length1), NULL);
_reply = g_variant_builder_end (&_reply_builder);
g_dbus_message_set_body (_reply_message, _reply);
@@ -2237,18 +2294,18 @@ static void mpris_playlists_dbus_interface_method_call (GDBusConnection* connect
static GVariant* _dbus_mpris_playlists_get_Orderings (MprisPlaylists* self) {
gchar** result;
int result_length1;
- gchar** _tmp52_;
- GVariantBuilder _tmp53_;
- int _tmp54_;
+ gchar** _tmp58_;
+ GVariantBuilder _tmp59_;
+ int _tmp60_;
GVariant* _reply;
result = mpris_playlists_get_Orderings (self, &result_length1);
- _tmp52_ = result;
- g_variant_builder_init (&_tmp53_, G_VARIANT_TYPE ("as"));
- for (_tmp54_ = 0; _tmp54_ < result_length1; _tmp54_++) {
- g_variant_builder_add_value (&_tmp53_, g_variant_new_string (*_tmp52_));
- _tmp52_++;
+ _tmp58_ = result;
+ g_variant_builder_init (&_tmp59_, G_VARIANT_TYPE ("as"));
+ for (_tmp60_ = 0; _tmp60_ < result_length1; _tmp60_++) {
+ g_variant_builder_add_value (&_tmp59_, g_variant_new_string (*_tmp58_));
+ _tmp58_++;
}
- _reply = g_variant_builder_end (&_tmp53_);
+ _reply = g_variant_builder_end (&_tmp59_);
result = (_vala_array_free ( result, result_length1, (GDestroyNotify) g_free), NULL);
return _reply;
}
@@ -2265,18 +2322,18 @@ static GVariant* _dbus_mpris_playlists_get_PlaylistCount (MprisPlaylists* self)
static GVariant* _dbus_mpris_playlists_get_ActivePlaylist (MprisPlaylists* self) {
ActivePlaylistContainer result = {0};
- GVariantBuilder _tmp55_;
- GVariantBuilder _tmp56_;
+ GVariantBuilder _tmp61_;
+ GVariantBuilder _tmp62_;
GVariant* _reply;
mpris_playlists_get_ActivePlaylist (self, &result);
- g_variant_builder_init (&_tmp55_, G_VARIANT_TYPE_TUPLE);
- g_variant_builder_add_value (&_tmp55_, g_variant_new_boolean (result.valid));
- g_variant_builder_init (&_tmp56_, G_VARIANT_TYPE_TUPLE);
- g_variant_builder_add_value (&_tmp56_, g_variant_new_object_path (result.details.path));
- g_variant_builder_add_value (&_tmp56_, g_variant_new_string (result.details.name));
- g_variant_builder_add_value (&_tmp56_, g_variant_new_string (result.details.icon_path));
- g_variant_builder_add_value (&_tmp55_, g_variant_builder_end (&_tmp56_));
- _reply = g_variant_builder_end (&_tmp55_);
+ g_variant_builder_init (&_tmp61_, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_add_value (&_tmp61_, g_variant_new_boolean (result.valid));
+ g_variant_builder_init (&_tmp62_, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_add_value (&_tmp62_, g_variant_new_object_path (result.details.path));
+ g_variant_builder_add_value (&_tmp62_, g_variant_new_string (result.details.name));
+ g_variant_builder_add_value (&_tmp62_, g_variant_new_string (result.details.icon_path));
+ g_variant_builder_add_value (&_tmp61_, g_variant_builder_end (&_tmp62_));
+ _reply = g_variant_builder_end (&_tmp61_);
active_playlist_container_destroy (& result);
return _reply;
}
@@ -2301,28 +2358,28 @@ static GVariant* mpris_playlists_dbus_interface_get_property (GDBusConnection* c
static void _dbus_mpris_playlists_set_Orderings (MprisPlaylists* self, GVariant* _value) {
gchar** value = NULL;
int value_length1;
- gchar** _tmp57_;
- int _tmp57__length;
- int _tmp57__size;
- int _tmp57__length1;
- GVariantIter _tmp58_;
- GVariant* _tmp59_;
- _tmp57_ = g_new (gchar*, 5);
- _tmp57__length = 0;
- _tmp57__size = 4;
- _tmp57__length1 = 0;
- g_variant_iter_init (&_tmp58_, _value);
- for (; (_tmp59_ = g_variant_iter_next_value (&_tmp58_)) != NULL; _tmp57__length1++) {
- if (_tmp57__size == _tmp57__length) {
- _tmp57__size = 2 * _tmp57__size;
- _tmp57_ = g_renew (gchar*, _tmp57_, _tmp57__size + 1);
+ gchar** _tmp63_;
+ int _tmp63__length;
+ int _tmp63__size;
+ int _tmp63__length1;
+ GVariantIter _tmp64_;
+ GVariant* _tmp65_;
+ _tmp63_ = g_new (gchar*, 5);
+ _tmp63__length = 0;
+ _tmp63__size = 4;
+ _tmp63__length1 = 0;
+ g_variant_iter_init (&_tmp64_, _value);
+ for (; (_tmp65_ = g_variant_iter_next_value (&_tmp64_)) != NULL; _tmp63__length1++) {
+ if (_tmp63__size == _tmp63__length) {
+ _tmp63__size = 2 * _tmp63__size;
+ _tmp63_ = g_renew (gchar*, _tmp63_, _tmp63__size + 1);
}
- _tmp57_[_tmp57__length++] = g_variant_dup_string (_tmp59_, NULL);
- g_variant_unref (_tmp59_);
+ _tmp63_[_tmp63__length++] = g_variant_dup_string (_tmp65_, NULL);
+ g_variant_unref (_tmp65_);
}
- value_length1 = _tmp57__length1;
- _tmp57_[_tmp57__length] = NULL;
- value = _tmp57_;
+ value_length1 = _tmp63__length1;
+ _tmp63_[_tmp63__length] = NULL;
+ value = _tmp63_;
mpris_playlists_set_Orderings (self, value, value_length1);
value = (_vala_array_free (value, value_length1, (GDestroyNotify) g_free), NULL);
}
@@ -2337,33 +2394,33 @@ static void _dbus_mpris_playlists_set_PlaylistCount (MprisPlaylists* self, GVari
static void _dbus_mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, GVariant* _value) {
ActivePlaylistContainer value = {0};
- ActivePlaylistContainer _tmp60_;
- GVariantIter _tmp61_;
- GVariant* _tmp62_;
- GVariant* _tmp63_;
- PlaylistDetails _tmp64_;
- GVariantIter _tmp65_;
- GVariant* _tmp66_;
- GVariant* _tmp67_;
+ ActivePlaylistContainer _tmp66_;
+ GVariantIter _tmp67_;
GVariant* _tmp68_;
- g_variant_iter_init (&_tmp61_, _value);
- _tmp62_ = g_variant_iter_next_value (&_tmp61_);
- _tmp60_.valid = g_variant_get_boolean (_tmp62_);
- g_variant_unref (_tmp62_);
- _tmp63_ = g_variant_iter_next_value (&_tmp61_);
- g_variant_iter_init (&_tmp65_, _tmp63_);
- _tmp66_ = g_variant_iter_next_value (&_tmp65_);
- _tmp64_.path = g_variant_dup_string (_tmp66_, NULL);
- g_variant_unref (_tmp66_);
- _tmp67_ = g_variant_iter_next_value (&_tmp65_);
- _tmp64_.name = g_variant_dup_string (_tmp67_, NULL);
- g_variant_unref (_tmp67_);
- _tmp68_ = g_variant_iter_next_value (&_tmp65_);
- _tmp64_.icon_path = g_variant_dup_string (_tmp68_, NULL);
+ GVariant* _tmp69_;
+ PlaylistDetails _tmp70_;
+ GVariantIter _tmp71_;
+ GVariant* _tmp72_;
+ GVariant* _tmp73_;
+ GVariant* _tmp74_;
+ g_variant_iter_init (&_tmp67_, _value);
+ _tmp68_ = g_variant_iter_next_value (&_tmp67_);
+ _tmp66_.valid = g_variant_get_boolean (_tmp68_);
g_variant_unref (_tmp68_);
- _tmp60_.details = _tmp64_;
- g_variant_unref (_tmp63_);
- value = _tmp60_;
+ _tmp69_ = g_variant_iter_next_value (&_tmp67_);
+ g_variant_iter_init (&_tmp71_, _tmp69_);
+ _tmp72_ = g_variant_iter_next_value (&_tmp71_);
+ _tmp70_.path = g_variant_dup_string (_tmp72_, NULL);
+ g_variant_unref (_tmp72_);
+ _tmp73_ = g_variant_iter_next_value (&_tmp71_);
+ _tmp70_.name = g_variant_dup_string (_tmp73_, NULL);
+ g_variant_unref (_tmp73_);
+ _tmp74_ = g_variant_iter_next_value (&_tmp71_);
+ _tmp70_.icon_path = g_variant_dup_string (_tmp74_, NULL);
+ g_variant_unref (_tmp74_);
+ _tmp66_.details = _tmp70_;
+ g_variant_unref (_tmp69_);
+ value = _tmp66_;
mpris_playlists_set_ActivePlaylist (self, &value);
active_playlist_container_destroy (&value);
}
@@ -2388,6 +2445,25 @@ static gboolean mpris_playlists_dbus_interface_set_property (GDBusConnection* co
}
+static void _dbus_mpris_playlists_playlist_changed (GObject* _sender, PlaylistDetails* details, gpointer* _data) {
+ GDBusConnection * _connection;
+ const gchar * _path;
+ GVariant *_arguments;
+ GVariantBuilder _arguments_builder;
+ GVariantBuilder _tmp75_;
+ _connection = _data[1];
+ _path = _data[2];
+ g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_init (&_tmp75_, G_VARIANT_TYPE_TUPLE);
+ g_variant_builder_add_value (&_tmp75_, g_variant_new_object_path ((*details).path));
+ g_variant_builder_add_value (&_tmp75_, g_variant_new_string ((*details).name));
+ g_variant_builder_add_value (&_tmp75_, g_variant_new_string ((*details).icon_path));
+ g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp75_));
+ _arguments = g_variant_builder_end (&_arguments_builder);
+ g_dbus_connection_emit_signal (_connection, NULL, _path, "org.mpris.MediaPlayer2.Playlists", "PlaylistChanged", _arguments, NULL);
+}
+
+
guint mpris_playlists_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
guint result;
gpointer *data;
@@ -2399,6 +2475,7 @@ guint mpris_playlists_register_object (gpointer object, GDBusConnection* connect
if (!result) {
return 0;
}
+ g_signal_connect (object, "playlist-changed", (GCallback) _dbus_mpris_playlists_playlist_changed, data);
return result;
}