From 068f00cdfe7512aab9054af728e361226dcc9511 Mon Sep 17 00:00:00 2001 From: Ken VanDine Date: Fri, 2 Mar 2012 11:26:40 -0500 Subject: Import upstream version 0.8.3.0 --- src/fetch-file.c | 325 +++++++----- src/freedesktop-interfaces.c | 15 +- src/metadata-menu-item.c | 632 +++++++++++++--------- src/metadata-widget.c | 2 +- src/mpris2-controller.c | 1140 +++++++++++++++++++++++++--------------- src/mpris2-controller.vala | 3 +- src/mpris2-interfaces.c | 124 +++-- src/mpris2-interfaces.vala | 12 +- src/mpris2-watcher.c | 596 +++++++++++++-------- src/music-player-bridge.c | 1189 ++++++++++++++++++++++++++++++------------ src/music-player-bridge.h | 9 +- src/music-player-bridge.vala | 50 +- src/player-controller.c | 644 +++++++++++++++-------- src/player-controller.vala | 2 - src/player-item.c | 296 +++++++---- src/playlists-menu-item.c | 696 ++++++++++++++++--------- src/pulseaudio-mgr.c | 112 +++- src/settings-manager.c | 289 +++++++--- src/settings-manager.vala | 16 +- src/sound-service-dbus.c | 34 +- src/specific-items-manager.c | 286 +++++++--- src/transport-menu-item.c | 98 ++-- 22 files changed, 4360 insertions(+), 2210 deletions(-) (limited to 'src') diff --git a/src/fetch-file.c b/src/fetch-file.c index 401c53f..7c49d4b 100644 --- a/src/fetch-file.c +++ b/src/fetch-file.c @@ -1,4 +1,4 @@ -/* fetch-file.c generated by valac 0.12.1, the Vala compiler +/* fetch-file.c generated by valac 0.14.2, the Vala compiler * generated from fetch-file.vala, do not modify */ /* @@ -69,11 +69,13 @@ struct _FetchFileFetchDataData { GAsyncResult* _res_; GSimpleAsyncResult* _async_result; FetchFile* self; - GFileInputStream* _tmp0_; + GFile* _tmp0_; GFileInputStream* _tmp1_; GFileInputStream* _tmp2_; - GDataInputStream* _tmp3_; - GError * e; + GFileInputStream* _tmp3_; + GDataInputStream* _tmp4_; + GDataInputStream* _tmp5_; + GError* e; GError * _inner_error_; }; @@ -84,19 +86,42 @@ struct _FetchFileReadSomethingAsyncData { GSimpleAsyncResult* _async_result; FetchFile* self; gssize size; - guint8* _tmp0_; + gssize _tmp0_; + guint8* _tmp1_; guint8* buffer; gint buffer_length1; gint _buffer_size_; gssize bufsize; - gboolean _tmp1_; - gssize _tmp2_; - gssize _tmp3_; - guint8* _tmp4_; + gboolean _tmp2_; + gboolean _tmp3_; + gssize _tmp4_; + GDataInputStream* _tmp5_; + guint8* _tmp6_; + gint _tmp6__length1; + gssize _tmp7_; + gssize _tmp8_; + gssize _tmp9_; + gssize _tmp10_; + gssize _tmp11_; + gssize _tmp12_; + guint8* _tmp13_; guint8* cpybuf; gint cpybuf_length1; gint _cpybuf_size_; - GError * e; + guint8* _tmp14_; + gint _tmp14__length1; + guint8* _tmp15_; + gint _tmp15__length1; + gssize _tmp16_; + GByteArray* _tmp17_; + guint8* _tmp18_; + gint _tmp18__length1; + GByteArray* _tmp19_; + guint8* _tmp20_; + gint _tmp20__length1; + GError* e; + GByteArray* _tmp21_; + const gchar* _tmp22_; GError * _inner_error_; }; @@ -115,11 +140,11 @@ FetchFile* fetch_file_construct (GType object_type, const gchar* uri, const gcha static void fetch_file_fetch_data_data_free (gpointer _data); void fetch_file_fetch_data (FetchFile* self, GAsyncReadyCallback _callback_, gpointer _user_data_); void fetch_file_fetch_data_finish (FetchFile* self, GAsyncResult* _res_); -static gboolean fetch_file_fetch_data_co (FetchFileFetchDataData* data); +static gboolean fetch_file_fetch_data_co (FetchFileFetchDataData* _data_); static void fetch_file_read_something_async (FetchFile* self, GAsyncReadyCallback _callback_, gpointer _user_data_); static void fetch_file_read_something_finish (FetchFile* self, GAsyncResult* _res_); static void fetch_file_read_something_async_data_free (gpointer _data); -static gboolean fetch_file_read_something_async_co (FetchFileReadSomethingAsyncData* data); +static gboolean fetch_file_read_something_async_co (FetchFileReadSomethingAsyncData* _data_); static void fetch_file_read_something_async_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); const gchar* fetch_file_get_intended_property (FetchFile* self); const gchar* fetch_file_get_uri (FetchFile* self); @@ -134,9 +159,13 @@ static void _vala_fetch_file_set_property (GObject * object, guint property_id, FetchFile* fetch_file_construct (GType object_type, const gchar* uri, const gchar* prop) { FetchFile * self = NULL; + const gchar* _tmp0_; + const gchar* _tmp1_; g_return_val_if_fail (uri != NULL, NULL); g_return_val_if_fail (prop != NULL, NULL); - self = (FetchFile*) g_object_new (object_type, "uri", uri, "intended-property", prop, NULL); + _tmp0_ = uri; + _tmp1_ = prop; + self = (FetchFile*) g_object_new (object_type, "uri", _tmp0_, "intended-property", _tmp1_, NULL); return self; } @@ -147,10 +176,10 @@ FetchFile* fetch_file_new (const gchar* uri, const gchar* prop) { static void fetch_file_fetch_data_data_free (gpointer _data) { - FetchFileFetchDataData* data; - data = _data; - _g_object_unref0 (data->self); - g_slice_free (FetchFileFetchDataData, data); + FetchFileFetchDataData* _data_; + _data_ = _data; + _g_object_unref0 (_data_->self); + g_slice_free (FetchFileFetchDataData, _data_); } @@ -161,10 +190,12 @@ static gpointer _g_object_ref0 (gpointer self) { void fetch_file_fetch_data (FetchFile* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { FetchFileFetchDataData* _data_; + FetchFile* _tmp0_; _data_ = g_slice_new0 (FetchFileFetchDataData); _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, fetch_file_fetch_data); g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, fetch_file_fetch_data_data_free); - _data_->self = _g_object_ref0 (self); + _tmp0_ = _g_object_ref0 (self); + _data_->self = _tmp0_; fetch_file_fetch_data_co (_data_); } @@ -175,66 +206,71 @@ void fetch_file_fetch_data_finish (FetchFile* self, GAsyncResult* _res_) { } -static gboolean fetch_file_fetch_data_co (FetchFileFetchDataData* data) { - switch (data->_state_) { +static gboolean fetch_file_fetch_data_co (FetchFileFetchDataData* _data_) { + switch (_data_->_state_) { case 0: goto _state_0; default: g_assert_not_reached (); } _state_0: - data->_tmp0_ = NULL; - data->_tmp0_ = g_file_read (data->self->priv->file, NULL, &data->_inner_error_); - data->_tmp1_ = data->_tmp0_; - if (data->_inner_error_ != NULL) { - goto __catch14_g_error; + { + _data_->_tmp0_ = _data_->self->priv->file; + _data_->_tmp1_ = NULL; + _data_->_tmp1_ = g_file_read (_data_->_tmp0_, NULL, &_data_->_inner_error_); + _data_->_tmp2_ = _data_->_tmp1_; + if (_data_->_inner_error_ != NULL) { + goto __catch15_g_error; + } + _data_->_tmp3_ = _data_->_tmp2_; + _data_->_tmp4_ = g_data_input_stream_new ((GInputStream*) _data_->_tmp3_); + _g_object_unref0 (_data_->self->priv->stream); + _data_->self->priv->stream = _data_->_tmp4_; + _g_object_unref0 (_data_->_tmp3_); + _data_->_tmp5_ = _data_->self->priv->stream; + g_data_input_stream_set_byte_order (_data_->_tmp5_, G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN); } - data->_tmp2_ = data->_tmp1_; - data->_tmp3_ = NULL; - data->_tmp3_ = g_data_input_stream_new ((GInputStream*) data->_tmp2_); - _g_object_unref0 (data->self->priv->stream); - data->self->priv->stream = data->_tmp3_; - _g_object_unref0 (data->_tmp2_); - g_data_input_stream_set_byte_order (data->self->priv->stream, G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN); - goto __finally14; - __catch14_g_error: + goto __finally15; + __catch15_g_error: { - data->e = data->_inner_error_; - data->_inner_error_ = NULL; - g_signal_emit_by_name (data->self, "failed"); - _g_error_free0 (data->e); + _data_->e = _data_->_inner_error_; + _data_->_inner_error_ = NULL; + g_signal_emit_by_name (_data_->self, "failed"); + _g_error_free0 (_data_->e); } - __finally14: - if (data->_inner_error_ != NULL) { - g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); - g_clear_error (&data->_inner_error_); + __finally15: + if (_data_->_inner_error_ != NULL) { + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); + g_clear_error (&_data_->_inner_error_); return FALSE; } - fetch_file_read_something_async (data->self, NULL, NULL); - if (data->_state_ == 0) { - g_simple_async_result_complete_in_idle (data->_async_result); + fetch_file_read_something_async (_data_->self, NULL, NULL); + if (_data_->_state_ == 0) { + g_simple_async_result_complete_in_idle (_data_->_async_result); } else { - g_simple_async_result_complete (data->_async_result); + g_simple_async_result_complete (_data_->_async_result); } - g_object_unref (data->_async_result); + g_object_unref (_data_->_async_result); return FALSE; } static void fetch_file_read_something_async_data_free (gpointer _data) { - FetchFileReadSomethingAsyncData* data; - data = _data; - _g_object_unref0 (data->self); - g_slice_free (FetchFileReadSomethingAsyncData, data); + FetchFileReadSomethingAsyncData* _data_; + _data_ = _data; + _g_object_unref0 (_data_->self); + g_slice_free (FetchFileReadSomethingAsyncData, _data_); } static void fetch_file_read_something_async (FetchFile* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { FetchFileReadSomethingAsyncData* _data_; + FetchFile* _tmp0_; _data_ = g_slice_new0 (FetchFileReadSomethingAsyncData); _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, fetch_file_read_something_async); g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, fetch_file_read_something_async_data_free); - _data_->self = _g_object_ref0 (self); + _tmp0_ = _g_object_ref0 (self); + _data_->self = _tmp0_; fetch_file_read_something_async_co (_data_); } @@ -246,16 +282,16 @@ static void fetch_file_read_something_finish (FetchFile* self, GAsyncResult* _re static void fetch_file_read_something_async_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { - FetchFileReadSomethingAsyncData* data; - data = _user_data_; - data->_source_object_ = source_object; - data->_res_ = _res_; - fetch_file_read_something_async_co (data); + FetchFileReadSomethingAsyncData* _data_; + _data_ = _user_data_; + _data_->_source_object_ = source_object; + _data_->_res_ = _res_; + fetch_file_read_something_async_co (_data_); } -static gboolean fetch_file_read_something_async_co (FetchFileReadSomethingAsyncData* data) { - switch (data->_state_) { +static gboolean fetch_file_read_something_async_co (FetchFileReadSomethingAsyncData* _data_) { + switch (_data_->_state_) { case 0: goto _state_0; case 1: @@ -264,108 +300,142 @@ static gboolean fetch_file_read_something_async_co (FetchFileReadSomethingAsyncD g_assert_not_reached (); } _state_0: - data->size = (gssize) 1024; - data->_tmp0_ = NULL; - data->_tmp0_ = g_new0 (guint8, data->size); - data->buffer = data->_tmp0_; - data->buffer_length1 = data->size; - data->_buffer_size_ = data->size; - data->bufsize = (gssize) 1; + _data_->size = (gssize) 1024; + _data_->_tmp0_ = _data_->size; + _data_->_tmp1_ = NULL; + _data_->_tmp1_ = g_new0 (guint8, _data_->_tmp0_); + _data_->buffer = _data_->_tmp1_; + _data_->buffer_length1 = _data_->_tmp0_; + _data_->_buffer_size_ = _data_->buffer_length1; + _data_->bufsize = (gssize) 1; { - data->_tmp1_ = TRUE; + _data_->_tmp2_ = TRUE; while (TRUE) { - if (!data->_tmp1_) { - if (!(data->bufsize > 0)) { + _data_->_tmp3_ = _data_->_tmp2_; + if (!_data_->_tmp3_) { + _data_->_tmp4_ = _data_->bufsize; + if (!(_data_->_tmp4_ > ((gssize) 0))) { break; } } - data->_tmp1_ = FALSE; - data->_state_ = 1; - g_input_stream_read_async ((GInputStream*) data->self->priv->stream, data->buffer, (gsize) data->buffer_length1, G_PRIORITY_DEFAULT, NULL, fetch_file_read_something_async_ready, data); - return FALSE; - _state_1: - data->_tmp2_ = g_input_stream_read_finish ((GInputStream*) data->self->priv->stream, data->_res_, &data->_inner_error_); - data->_tmp3_ = data->_tmp2_; - if (data->_inner_error_ != NULL) { - goto __catch15_g_error; - } - data->bufsize = data->_tmp3_; - if (data->bufsize < 1) { - break; - } - if (data->bufsize != data->size) { - data->_tmp4_ = NULL; - data->_tmp4_ = g_new0 (guint8, data->bufsize); - data->cpybuf = data->_tmp4_; - data->cpybuf_length1 = data->bufsize; - data->_cpybuf_size_ = data->bufsize; - memcpy (data->cpybuf, data->buffer, (gsize) data->bufsize); - g_byte_array_append (data->self->priv->data, data->cpybuf, data->cpybuf_length1); - data->cpybuf = (g_free (data->cpybuf), NULL); - } else { - g_byte_array_append (data->self->priv->data, data->buffer, data->buffer_length1); + _data_->_tmp2_ = FALSE; + { + _data_->_tmp5_ = _data_->self->priv->stream; + _data_->_tmp6_ = _data_->buffer; + _data_->_tmp6__length1 = _data_->buffer_length1; + _data_->_state_ = 1; + g_input_stream_read_async ((GInputStream*) _data_->_tmp5_, _data_->_tmp6_, (gsize) _data_->_tmp6__length1, G_PRIORITY_DEFAULT, NULL, fetch_file_read_something_async_ready, _data_); + return FALSE; + _state_1: + _data_->_tmp7_ = 0L; + _data_->_tmp7_ = g_input_stream_read_finish ((GInputStream*) _data_->_tmp5_, _data_->_res_, &_data_->_inner_error_); + _data_->_tmp8_ = _data_->_tmp7_; + if (_data_->_inner_error_ != NULL) { + goto __catch16_g_error; + } + _data_->bufsize = _data_->_tmp8_; + _data_->_tmp9_ = _data_->bufsize; + if (_data_->_tmp9_ < ((gssize) 1)) { + break; + } + _data_->_tmp10_ = _data_->bufsize; + _data_->_tmp11_ = _data_->size; + if (_data_->_tmp10_ != _data_->_tmp11_) { + _data_->_tmp12_ = _data_->bufsize; + _data_->_tmp13_ = NULL; + _data_->_tmp13_ = g_new0 (guint8, _data_->_tmp12_); + _data_->cpybuf = _data_->_tmp13_; + _data_->cpybuf_length1 = _data_->_tmp12_; + _data_->_cpybuf_size_ = _data_->cpybuf_length1; + _data_->_tmp14_ = _data_->cpybuf; + _data_->_tmp14__length1 = _data_->cpybuf_length1; + _data_->_tmp15_ = _data_->buffer; + _data_->_tmp15__length1 = _data_->buffer_length1; + _data_->_tmp16_ = _data_->bufsize; + memcpy (_data_->_tmp14_, _data_->_tmp15_, (gsize) _data_->_tmp16_); + _data_->_tmp17_ = _data_->self->priv->data; + _data_->_tmp18_ = _data_->cpybuf; + _data_->_tmp18__length1 = _data_->cpybuf_length1; + g_byte_array_append (_data_->_tmp17_, _data_->_tmp18_, _data_->_tmp18__length1); + _data_->cpybuf = (g_free (_data_->cpybuf), NULL); + } else { + _data_->_tmp19_ = _data_->self->priv->data; + _data_->_tmp20_ = _data_->buffer; + _data_->_tmp20__length1 = _data_->buffer_length1; + g_byte_array_append (_data_->_tmp19_, _data_->_tmp20_, _data_->_tmp20__length1); + } } - goto __finally15; - __catch15_g_error: + goto __finally16; + __catch16_g_error: { - data->e = data->_inner_error_; - data->_inner_error_ = NULL; - g_signal_emit_by_name (data->self, "failed"); - _g_error_free0 (data->e); + _data_->e = _data_->_inner_error_; + _data_->_inner_error_ = NULL; + g_signal_emit_by_name (_data_->self, "failed"); + _g_error_free0 (_data_->e); } - __finally15: - if (data->_inner_error_ != NULL) { - data->buffer = (g_free (data->buffer), NULL); - g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); - g_clear_error (&data->_inner_error_); + __finally16: + if (_data_->_inner_error_ != NULL) { + _data_->buffer = (g_free (_data_->buffer), NULL); + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); + g_clear_error (&_data_->_inner_error_); return FALSE; } } } - g_signal_emit_by_name (data->self, "completed", data->self->priv->data, data->self->priv->_intended_property); - data->buffer = (g_free (data->buffer), NULL); - if (data->_state_ == 0) { - g_simple_async_result_complete_in_idle (data->_async_result); + _data_->_tmp21_ = _data_->self->priv->data; + _data_->_tmp22_ = _data_->self->priv->_intended_property; + g_signal_emit_by_name (_data_->self, "completed", _data_->_tmp21_, _data_->_tmp22_); + _data_->buffer = (g_free (_data_->buffer), NULL); + if (_data_->_state_ == 0) { + g_simple_async_result_complete_in_idle (_data_->_async_result); } else { - g_simple_async_result_complete (data->_async_result); + g_simple_async_result_complete (_data_->_async_result); } - g_object_unref (data->_async_result); + g_object_unref (_data_->_async_result); return FALSE; } const gchar* fetch_file_get_uri (FetchFile* self) { const gchar* result; + const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_uri; + _tmp0_ = self->priv->_uri; + result = _tmp0_; return result; } static void fetch_file_set_uri (FetchFile* self, const gchar* value) { - gchar* _tmp0_; + const gchar* _tmp0_; + gchar* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = g_strdup (value); + _tmp0_ = value; + _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_uri); - self->priv->_uri = _tmp0_; + self->priv->_uri = _tmp1_; g_object_notify ((GObject *) self, "uri"); } const gchar* fetch_file_get_intended_property (FetchFile* self) { const gchar* result; + const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_intended_property; + _tmp0_ = self->priv->_intended_property; + result = _tmp0_; return result; } static void fetch_file_set_intended_property (FetchFile* self, const gchar* value) { - gchar* _tmp0_; + const gchar* _tmp0_; + gchar* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = g_strdup (value); + _tmp0_ = value; + _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_intended_property); - self->priv->_intended_property = _tmp0_; + self->priv->_intended_property = _tmp1_; g_object_notify ((GObject *) self, "intended-property"); } @@ -374,7 +444,8 @@ static void g_cclosure_user_marshal_VOID__POINTER_STRING (GClosure * closure, GV typedef void (*GMarshalFunc_VOID__POINTER_STRING) (gpointer data1, gpointer arg_1, const char* arg_2, gpointer data2); register GMarshalFunc_VOID__POINTER_STRING callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -393,17 +464,19 @@ static GObject * fetch_file_constructor (GType type, guint n_construct_propertie GObject * obj; GObjectClass * parent_class; FetchFile * self; - GFile* _tmp0_ = NULL; - GByteArray* _tmp1_ = NULL; + const gchar* _tmp0_; + GFile* _tmp1_ = NULL; + GByteArray* _tmp2_; parent_class = G_OBJECT_CLASS (fetch_file_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = FETCH_FILE (obj); - _tmp0_ = g_file_new_for_uri (self->priv->_uri); + _tmp0_ = self->priv->_uri; + _tmp1_ = g_file_new_for_uri (_tmp0_); _g_object_unref0 (self->priv->file); - self->priv->file = _tmp0_; - _tmp1_ = g_byte_array_new (); + self->priv->file = _tmp1_; + _tmp2_ = g_byte_array_new (); _g_byte_array_free0 (self->priv->data); - self->priv->data = _tmp1_; + self->priv->data = _tmp2_; return obj; } diff --git a/src/freedesktop-interfaces.c b/src/freedesktop-interfaces.c index 287c3e0..e68fd67 100644 --- a/src/freedesktop-interfaces.c +++ b/src/freedesktop-interfaces.c @@ -1,4 +1,4 @@ -/* freedesktop-interfaces.c generated by valac 0.12.1, the Vala compiler +/* freedesktop-interfaces.c generated by valac 0.14.2, the Vala compiler * generated from freedesktop-interfaces.vala, do not modify */ /* @@ -184,7 +184,8 @@ static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING (GClosure * closu typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING) (gpointer data1, const char* arg_1, const char* arg_2, const char* arg_3, gpointer data2); register GMarshalFunc_VOID__STRING_STRING_STRING callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 4); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -374,7 +375,7 @@ static void _dbus_free_desktop_object_list_names_ready (GObject * source_object, _tmp84_++; } g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp85_)); - result = (_vala_array_free ( result, result_length1, (GDestroyNotify) g_free), NULL); + result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL); _reply = g_variant_builder_end (&_reply_builder); g_dbus_message_set_body (_reply_message, _reply); g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); @@ -449,6 +450,7 @@ guint free_desktop_object_register_object (gpointer object, GDBusConnection* con static void _free_desktop_object_unregister_object (gpointer user_data) { gpointer* data; data = user_data; + g_signal_handlers_disconnect_by_func (data[0], _dbus_free_desktop_object_name_owner_changed, data); g_object_unref (data[0]); g_object_unref (data[1]); g_free (data[2]); @@ -457,6 +459,7 @@ static void _free_desktop_object_unregister_object (gpointer user_data) { gchar* free_desktop_introspectable_Introspect (FreeDesktopIntrospectable* self, GError** error) { + g_return_val_if_fail (self != NULL, NULL); return FREE_DESKTOP_INTROSPECTABLE_GET_INTERFACE (self)->Introspect (self, error); } @@ -553,7 +556,7 @@ static void _dbus_free_desktop_introspectable_Introspect (FreeDesktopIntrospecta _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); g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result)); - _g_free0 ( result); + _g_free0 (result); _reply = g_variant_builder_end (&_reply_builder); g_dbus_message_set_body (_reply_message, _reply); g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); @@ -622,7 +625,8 @@ static void g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED_INT (GClosure * clo typedef void (*GMarshalFunc_VOID__STRING_BOXED_BOXED_INT) (gpointer data1, const char* arg_1, gpointer arg_2, gpointer arg_3, gint arg_4, gpointer data2); register GMarshalFunc_VOID__STRING_BOXED_BOXED_INT callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 5); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -824,6 +828,7 @@ guint free_desktop_properties_register_object (gpointer object, GDBusConnection* static void _free_desktop_properties_unregister_object (gpointer user_data) { gpointer* data; data = user_data; + g_signal_handlers_disconnect_by_func (data[0], _dbus_free_desktop_properties_properties_changed, data); g_object_unref (data[0]); g_object_unref (data[1]); g_free (data[2]); diff --git a/src/metadata-menu-item.c b/src/metadata-menu-item.c index 1d8cae2..f4ab318 100644 --- a/src/metadata-menu-item.c +++ b/src/metadata-menu-item.c @@ -1,4 +1,4 @@ -/* metadata-menu-item.c generated by valac 0.12.1, the Vala compiler +/* metadata-menu-item.c generated by valac 0.14.2, the Vala compiler * generated from metadata-menu-item.vala, do not modify */ /* @@ -165,9 +165,9 @@ void metadata_menuitem_fetch_art (MetadataMenuitem* self, const gchar* uri, cons #define PLAYER_ITEM_EMPTY (-1) FetchFile* fetch_file_new (const gchar* uri, const gchar* prop); FetchFile* fetch_file_construct (GType object_type, const gchar* uri, const gchar* prop); -static void _lambda0_ (MetadataMenuitem* self); +static void __lambda0_ (MetadataMenuitem* self); static void metadata_menuitem_on_fetcher_failed (MetadataMenuitem* self); -static void __lambda0__fetch_file_failed (FetchFile* _sender, gpointer self); +static void ___lambda0__fetch_file_failed (FetchFile* _sender, gpointer self); static void metadata_menuitem_on_fetcher_completed (MetadataMenuitem* self, GByteArray* update, const gchar* property); static void _metadata_menuitem_on_fetcher_completed_fetch_file_completed (FetchFile* _sender, GByteArray* data, const gchar* property, gpointer self); void fetch_file_fetch_data (FetchFile* self, GAsyncReadyCallback _callback_, gpointer _user_data_); @@ -192,8 +192,10 @@ static void metadata_menuitem_finalize (GObject* obj); MetadataMenuitem* metadata_menuitem_construct (GType object_type, PlayerController* parent) { MetadataMenuitem * self = NULL; + PlayerController* _tmp0_; g_return_val_if_fail (parent != NULL, NULL); - self = (MetadataMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_METADATA_MENUITEM_TYPE, "owner", parent, NULL); + _tmp0_ = parent; + self = (MetadataMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_METADATA_MENUITEM_TYPE, "owner", _tmp0_, NULL); return self; } @@ -207,18 +209,24 @@ static void metadata_menuitem_clean_album_art_temp_dir (void) { const gchar* _tmp0_ = NULL; gchar* _tmp1_ = NULL; gchar* path; - GFile* _tmp2_ = NULL; + const gchar* _tmp2_; + GFile* _tmp3_ = NULL; GFile* album_art_dir; - gboolean _tmp3_; + GFile* _tmp4_; + gboolean _tmp5_ = FALSE; _tmp0_ = g_get_user_cache_dir (); _tmp1_ = g_build_filename (_tmp0_, METADATA_MENUITEM_ALBUM_ART_DIR_SUFFIX, NULL); path = _tmp1_; - _tmp2_ = g_file_new_for_path (path); - album_art_dir = _tmp2_; - _tmp3_ = metadata_menuitem_delete_album_art_contents (album_art_dir); - if (_tmp3_ == FALSE) { + _tmp2_ = path; + _tmp3_ = g_file_new_for_path (_tmp2_); + album_art_dir = _tmp3_; + _tmp4_ = album_art_dir; + _tmp5_ = metadata_menuitem_delete_album_art_contents (_tmp4_); + if (_tmp5_ == FALSE) { + const gchar* _tmp6_; + _tmp6_ = path; g_warning ("metadata-menu-item.vala:58: could not remove the temp album art files " \ -"%s", path); +"%s", _tmp6_); } _g_object_unref0 (album_art_dir); _g_free0 (path); @@ -230,14 +238,18 @@ static gchar* metadata_menuitem_create_album_art_temp_dir (void) { const gchar* _tmp0_ = NULL; gchar* _tmp1_ = NULL; gchar* path; - gint _tmp2_; + const gchar* _tmp2_; + gint _tmp3_ = 0; _tmp0_ = g_get_user_cache_dir (); _tmp1_ = g_build_filename (_tmp0_, METADATA_MENUITEM_ALBUM_ART_DIR_SUFFIX, NULL); path = _tmp1_; - _tmp2_ = g_mkdir_with_parents (path, 0700); - if (_tmp2_ == (-1)) { + _tmp2_ = path; + _tmp3_ = g_mkdir_with_parents (_tmp2_, 0700); + if (_tmp3_ == (-1)) { + const gchar* _tmp4_; + _tmp4_ = path; g_warning ("metadata-menu-item.vala:66: could not create temp dir %s for remote al" \ -"bum art, it must have been created already", path); +"bum art, it must have been created already", _tmp4_); } result = path; return result; @@ -255,100 +267,130 @@ static const gchar* string_to_string (const gchar* self) { static gboolean metadata_menuitem_delete_album_art_contents (GFile* dir) { gboolean result = FALSE; gboolean _result_; - GFileEnumerator* _tmp0_ = NULL; - GFileEnumerator* e; GError * _inner_error_ = NULL; g_return_val_if_fail (dir != NULL, FALSE); _result_ = TRUE; - _tmp0_ = g_file_enumerate_children (dir, G_FILE_ATTRIBUTE_STANDARD_NAME, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); - e = _tmp0_; - if (_inner_error_ != NULL) { - goto __catch2_g_error; - } - while (TRUE) { - GFileInfo* _tmp1_ = NULL; - GFileInfo* file; - const gchar* _tmp2_ = NULL; - const gchar* _tmp3_ = NULL; - GFile* _tmp4_ = NULL; - GFile* child; - _tmp1_ = g_file_enumerator_next_file (e, NULL, &_inner_error_); - file = _tmp1_; - if (_inner_error_ != NULL) { - _g_object_unref0 (e); - goto __catch2_g_error; - } - if (file == NULL) { - _g_object_unref0 (file); - break; - } - _tmp2_ = g_file_info_get_name (file); - g_debug ("metadata-menu-item.vala:85: file name = %s", _tmp2_); - _tmp3_ = g_file_info_get_name (file); - _tmp4_ = g_file_get_child (dir, _tmp3_); - child = _tmp4_; - g_file_delete (child, NULL, &_inner_error_); + { + GFile* _tmp0_; + GFileEnumerator* _tmp1_ = NULL; + GFileEnumerator* e; + _tmp0_ = dir; + _tmp1_ = g_file_enumerate_children (_tmp0_, G_FILE_ATTRIBUTE_STANDARD_NAME, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); + e = _tmp1_; if (_inner_error_ != NULL) { goto __catch3_g_error; } - goto __finally3; - __catch3_g_error: - { - GError * error_; - gchar* _tmp5_ = NULL; - gchar* _tmp6_; - const gchar* _tmp7_ = NULL; - const gchar* _tmp8_ = NULL; - gchar* _tmp9_ = NULL; - gchar* _tmp10_; - error_ = _inner_error_; - _inner_error_ = NULL; - _tmp5_ = g_file_get_basename (child); - _tmp6_ = _tmp5_; - _tmp7_ = string_to_string (_tmp6_); - _tmp8_ = string_to_string (error_->message); - _tmp9_ = g_strconcat ("Unable to delete file '", _tmp7_, ": ", _tmp8_, NULL); - _tmp10_ = _tmp9_; - g_warning ("metadata-menu-item.vala:92: %s", _tmp10_); - _g_free0 (_tmp10_); - _g_free0 (_tmp6_); - _result_ = FALSE; - _g_error_free0 (error_); - } - __finally3: - if (_inner_error_ != NULL) { + while (TRUE) { + GFileEnumerator* _tmp2_; + GFileInfo* _tmp3_ = NULL; + GFileInfo* file; + GFileInfo* _tmp4_; + GFileInfo* _tmp5_; + const gchar* _tmp6_ = NULL; + GFile* _tmp7_; + GFileInfo* _tmp8_; + const gchar* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* child; + _tmp2_ = e; + _tmp3_ = g_file_enumerator_next_file (_tmp2_, NULL, &_inner_error_); + file = _tmp3_; + if (_inner_error_ != NULL) { + _g_object_unref0 (e); + goto __catch3_g_error; + } + _tmp4_ = file; + if (_tmp4_ == NULL) { + _g_object_unref0 (file); + break; + } + _tmp5_ = file; + _tmp6_ = g_file_info_get_name (_tmp5_); + g_debug ("metadata-menu-item.vala:85: file name = %s", _tmp6_); + _tmp7_ = dir; + _tmp8_ = file; + _tmp9_ = g_file_info_get_name (_tmp8_); + _tmp10_ = g_file_get_child (_tmp7_, _tmp9_); + child = _tmp10_; + { + GFile* _tmp11_; + _tmp11_ = child; + g_file_delete (_tmp11_, NULL, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch4_g_error; + } + } + goto __finally4; + __catch4_g_error: + { + GError* error_ = NULL; + GFile* _tmp12_; + gchar* _tmp13_ = NULL; + gchar* _tmp14_; + const gchar* _tmp15_ = NULL; + GError* _tmp16_; + const gchar* _tmp17_; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_; + error_ = _inner_error_; + _inner_error_ = NULL; + _tmp12_ = child; + _tmp13_ = g_file_get_basename (_tmp12_); + _tmp14_ = _tmp13_; + _tmp15_ = string_to_string (_tmp14_); + _tmp16_ = error_; + _tmp17_ = _tmp16_->message; + _tmp18_ = string_to_string (_tmp17_); + _tmp19_ = g_strconcat ("Unable to delete file '", _tmp15_, ": ", _tmp18_, NULL); + _tmp20_ = _tmp19_; + g_warning ("metadata-menu-item.vala:92: %s", _tmp20_); + _g_free0 (_tmp20_); + _g_free0 (_tmp14_); + _result_ = FALSE; + _g_error_free0 (error_); + } + __finally4: + if (_inner_error_ != NULL) { + _g_object_unref0 (child); + _g_object_unref0 (file); + _g_object_unref0 (e); + goto __catch3_g_error; + } _g_object_unref0 (child); _g_object_unref0 (file); - _g_object_unref0 (e); - goto __catch2_g_error; } - _g_object_unref0 (child); - _g_object_unref0 (file); + _g_object_unref0 (e); } - _g_object_unref0 (e); - goto __finally2; - __catch2_g_error: + goto __finally3; + __catch3_g_error: { - GError * _error_; - gchar* _tmp11_ = NULL; - gchar* _tmp12_; - const gchar* _tmp13_ = NULL; - gchar* _tmp14_ = NULL; - gchar* _tmp15_; + GError* _error_ = NULL; + GFile* _tmp21_; + gchar* _tmp22_ = NULL; + gchar* _tmp23_; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_; + GError* _tmp27_; + const gchar* _tmp28_; _error_ = _inner_error_; _inner_error_ = NULL; - _tmp11_ = g_file_get_basename (dir); - _tmp12_ = _tmp11_; - _tmp13_ = string_to_string (_tmp12_); - _tmp14_ = g_strconcat ("Unable to read files from directory '", _tmp13_, "': %s", NULL); - _tmp15_ = _tmp14_; - g_warning (_tmp15_, _error_->message); - _g_free0 (_tmp15_); - _g_free0 (_tmp12_); + _tmp21_ = dir; + _tmp22_ = g_file_get_basename (_tmp21_); + _tmp23_ = _tmp22_; + _tmp24_ = string_to_string (_tmp23_); + _tmp25_ = g_strconcat ("Unable to read files from directory '", _tmp24_, "': %s", NULL); + _tmp26_ = _tmp25_; + _tmp27_ = _error_; + _tmp28_ = _tmp27_->message; + g_warning (_tmp26_, _tmp28_); + _g_free0 (_tmp26_); + _g_free0 (_tmp23_); _result_ = FALSE; _g_error_free0 (_error_); } - __finally2: + __finally3: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -363,22 +405,24 @@ static gchar* string_strip (const gchar* self) { gchar* result = NULL; gchar* _tmp0_ = NULL; gchar* _result_; + const gchar* _tmp1_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_strdup (self); _result_ = _tmp0_; - g_strstrip (_result_); + _tmp1_ = _result_; + g_strstrip (_tmp1_); result = _result_; return result; } -static void _lambda0_ (MetadataMenuitem* self) { +static void __lambda0_ (MetadataMenuitem* self) { metadata_menuitem_on_fetcher_failed (self); } -static void __lambda0__fetch_file_failed (FetchFile* _sender, gpointer self) { - _lambda0_ (self); +static void ___lambda0__fetch_file_failed (FetchFile* _sender, gpointer self) { + __lambda0_ (self); } @@ -388,66 +432,93 @@ static void _metadata_menuitem_on_fetcher_completed_fetch_file_completed (FetchF void metadata_menuitem_fetch_art (MetadataMenuitem* self, const gchar* uri, const gchar* prop) { - GFile* _tmp0_ = NULL; + const gchar* _tmp0_; + GFile* _tmp1_ = NULL; GFile* art_file; - gboolean _tmp1_; - FetchFile* _tmp10_ = NULL; + GFile* _tmp2_; + gboolean _tmp3_ = FALSE; + const gchar* _tmp19_; + const gchar* _tmp20_; + const gchar* _tmp21_; + const gchar* _tmp22_; + FetchFile* _tmp23_; + FetchFile* _tmp24_; + FetchFile* _tmp25_; + FetchFile* _tmp26_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (uri != NULL); g_return_if_fail (prop != NULL); - _tmp0_ = g_file_new_for_uri (uri); - art_file = _tmp0_; - _tmp1_ = g_file_is_native (art_file); - if (_tmp1_ == TRUE) { - gboolean _tmp2_; + _tmp0_ = uri; + _tmp1_ = g_file_new_for_uri (_tmp0_); + art_file = _tmp1_; + _tmp2_ = art_file; + _tmp3_ = g_file_is_native (_tmp2_); + if (_tmp3_ == TRUE) { + GFile* _tmp4_; + gboolean _tmp5_ = FALSE; gchar* path = NULL; - gchar* _tmp3_ = NULL; - gchar* _tmp4_; - gchar* _tmp5_ = NULL; - gchar* _tmp6_; - gchar* _tmp7_; - gchar* _tmp8_ = NULL; - gchar* _tmp9_; - _tmp2_ = g_file_query_exists (art_file, NULL); - if (_tmp2_ == FALSE) { - dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, prop, PLAYER_ITEM_EMPTY); + _tmp4_ = art_file; + _tmp5_ = g_file_query_exists (_tmp4_, NULL); + if (_tmp5_ == FALSE) { + const gchar* _tmp6_; + _tmp6_ = prop; + dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, _tmp6_, PLAYER_ITEM_EMPTY); _g_object_unref0 (art_file); return; } - _tmp3_ = string_strip (uri); - _tmp4_ = _tmp3_; - _tmp5_ = g_filename_from_uri (_tmp4_, NULL, &_inner_error_); - _tmp6_ = _tmp5_; - _g_free0 (_tmp4_); - _tmp7_ = _tmp6_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_CONVERT_ERROR) { - goto __catch4_g_convert_error; + { + const gchar* _tmp7_; + gchar* _tmp8_ = NULL; + gchar* _tmp9_; + gchar* _tmp10_ = NULL; + gchar* _tmp11_; + gchar* _tmp12_; + const gchar* _tmp13_; + gchar* _tmp14_ = NULL; + gchar* _tmp15_; + const gchar* _tmp16_; + const gchar* _tmp17_; + _tmp7_ = uri; + _tmp8_ = string_strip (_tmp7_); + _tmp9_ = _tmp8_; + _tmp10_ = g_filename_from_uri (_tmp9_, NULL, &_inner_error_); + _tmp11_ = _tmp10_; + _g_free0 (_tmp9_); + _tmp12_ = _tmp11_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_CONVERT_ERROR) { + goto __catch5_g_convert_error; + } + _g_free0 (path); + _g_object_unref0 (art_file); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return; } _g_free0 (path); - _g_object_unref0 (art_file); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - return; + path = _tmp12_; + _tmp13_ = uri; + _tmp14_ = string_strip (_tmp13_); + _tmp15_ = _tmp14_; + g_debug ("metadata-menu-item.vala:116: Populating the artwork field with %s", _tmp15_); + _g_free0 (_tmp15_); + _tmp16_ = prop; + _tmp17_ = path; + dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, _tmp16_, _tmp17_); } - _g_free0 (path); - path = _tmp7_; - _tmp8_ = string_strip (uri); - _tmp9_ = _tmp8_; - g_debug ("metadata-menu-item.vala:116: Populating the artwork field with %s", _tmp9_); - _g_free0 (_tmp9_); - dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, prop, path); - goto __finally4; - __catch4_g_convert_error: + goto __finally5; + __catch5_g_convert_error: { - GError * e; + GError* e = NULL; + const gchar* _tmp18_; e = _inner_error_; _inner_error_ = NULL; - g_warning ("metadata-menu-item.vala:120: Problem converting URI %s to file path", uri); + _tmp18_ = uri; + g_warning ("metadata-menu-item.vala:120: Problem converting URI %s to file path", _tmp18_); _g_error_free0 (e); } - __finally4: + __finally5: if (_inner_error_ != NULL) { _g_free0 (path); _g_object_unref0 (art_file); @@ -459,17 +530,24 @@ void metadata_menuitem_fetch_art (MetadataMenuitem* self, const gchar* uri, cons _g_object_unref0 (art_file); return; } - g_debug ("metadata-menu-item.vala:126: fetch_art -remotely %s", metadata_menuitem_album_art_cache_dir); - if (metadata_menuitem_album_art_cache_dir == NULL) { + _tmp19_ = metadata_menuitem_album_art_cache_dir; + g_debug ("metadata-menu-item.vala:126: fetch_art -remotely %s", _tmp19_); + _tmp20_ = metadata_menuitem_album_art_cache_dir; + if (_tmp20_ == NULL) { _g_object_unref0 (art_file); return; } - _tmp10_ = fetch_file_new (uri, prop); + _tmp21_ = uri; + _tmp22_ = prop; + _tmp23_ = fetch_file_new (_tmp21_, _tmp22_); _g_object_unref0 (metadata_menuitem_fetcher); - metadata_menuitem_fetcher = _tmp10_; - g_signal_connect_object (metadata_menuitem_fetcher, "failed", (GCallback) __lambda0__fetch_file_failed, self, 0); - g_signal_connect_object (metadata_menuitem_fetcher, "completed", (GCallback) _metadata_menuitem_on_fetcher_completed_fetch_file_completed, self, 0); - fetch_file_fetch_data (metadata_menuitem_fetcher, NULL, NULL); + metadata_menuitem_fetcher = _tmp23_; + _tmp24_ = metadata_menuitem_fetcher; + g_signal_connect_object (_tmp24_, "failed", (GCallback) ___lambda0__fetch_file_failed, self, 0); + _tmp25_ = metadata_menuitem_fetcher; + g_signal_connect_object (_tmp25_, "completed", (GCallback) _metadata_menuitem_on_fetcher_completed_fetch_file_completed, self, 0); + _tmp26_ = metadata_menuitem_fetcher; + fetch_file_fetch_data (_tmp26_, NULL, NULL); _g_object_unref0 (art_file); } @@ -487,73 +565,113 @@ static gpointer _g_object_ref0 (gpointer self) { static void metadata_menuitem_on_fetcher_completed (MetadataMenuitem* self, GByteArray* update, const gchar* property) { - GdkPixbufLoader* _tmp0_ = NULL; - GdkPixbufLoader* loader; - GdkPixbuf* _tmp1_ = NULL; - GdkPixbuf* _tmp2_; - GdkPixbuf* icon; - gchar* _tmp3_ = NULL; - gchar* path; - gint _tmp4_; - gint r; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (update != NULL); g_return_if_fail (property != NULL); - _tmp0_ = gdk_pixbuf_loader_new (); - loader = _tmp0_; - gdk_pixbuf_loader_write (loader, update->data, (gsize) ((gint) update->len), &_inner_error_); - if (_inner_error_ != NULL) { - _g_object_unref0 (loader); - goto __catch5_g_error; - } - gdk_pixbuf_loader_close (loader, &_inner_error_); - if (_inner_error_ != NULL) { - _g_object_unref0 (loader); - goto __catch5_g_error; - } - _tmp1_ = gdk_pixbuf_loader_get_pixbuf (loader); - _tmp2_ = _g_object_ref0 (_tmp1_); - icon = _tmp2_; - _tmp3_ = g_strconcat (metadata_menuitem_album_art_cache_dir, "/downloaded-coverart-XXXXXX", NULL); - path = _tmp3_; - _tmp4_ = g_mkstemp (path); - r = _tmp4_; - if (r != (-1)) { - GdkPixbufFormat* _tmp5_ = NULL; - const gchar* _tmp6_ = NULL; - gchar* _tmp7_; - _tmp5_ = gdk_pixbuf_loader_get_format (loader); - _tmp6_ = gdk_pixbuf_format_get_name (_tmp5_); - gdk_pixbuf_save (icon, path, _tmp6_, &_inner_error_, NULL); + { + GdkPixbufLoader* _tmp0_; + GdkPixbufLoader* loader; + GdkPixbufLoader* _tmp1_; + GByteArray* _tmp2_; + guint8* _tmp3_; + gint _tmp3__length1; + GdkPixbufLoader* _tmp4_; + GdkPixbufLoader* _tmp5_; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_; + GdkPixbuf* icon; + const gchar* _tmp8_; + gchar* _tmp9_ = NULL; + gchar* path; + const gchar* _tmp10_; + gint _tmp11_ = 0; + gint r; + gint _tmp12_; + _tmp0_ = gdk_pixbuf_loader_new (); + loader = _tmp0_; + _tmp1_ = loader; + _tmp2_ = update; + _tmp3_ = _tmp2_->data; + _tmp3__length1 = (gint) _tmp2_->len; + gdk_pixbuf_loader_write (_tmp1_, _tmp3_, (gsize) _tmp3__length1, &_inner_error_); if (_inner_error_ != NULL) { - _g_free0 (path); - _g_object_unref0 (icon); _g_object_unref0 (loader); - goto __catch5_g_error; + goto __catch6_g_error; } - dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, property, path); - if (self->priv->previous_temp_album_art_path != NULL) { - g_remove (self->priv->previous_temp_album_art_path); + _tmp4_ = loader; + gdk_pixbuf_loader_close (_tmp4_, &_inner_error_); + if (_inner_error_ != NULL) { + _g_object_unref0 (loader); + goto __catch6_g_error; + } + _tmp5_ = loader; + _tmp6_ = gdk_pixbuf_loader_get_pixbuf (_tmp5_); + _tmp7_ = _g_object_ref0 (_tmp6_); + icon = _tmp7_; + _tmp8_ = metadata_menuitem_album_art_cache_dir; + _tmp9_ = g_strconcat (_tmp8_, "/downloaded-coverart-XXXXXX", NULL); + path = _tmp9_; + _tmp10_ = path; + _tmp11_ = g_mkstemp (_tmp10_); + r = _tmp11_; + _tmp12_ = r; + if (_tmp12_ != (-1)) { + GdkPixbuf* _tmp13_; + const gchar* _tmp14_; + GdkPixbufLoader* _tmp15_; + GdkPixbufFormat* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_; + const gchar* _tmp19_; + const gchar* _tmp20_; + const gchar* _tmp22_; + gchar* _tmp23_; + _tmp13_ = icon; + _tmp14_ = path; + _tmp15_ = loader; + _tmp16_ = gdk_pixbuf_loader_get_format (_tmp15_); + _tmp17_ = gdk_pixbuf_format_get_name (_tmp16_); + gdk_pixbuf_save (_tmp13_, _tmp14_, _tmp17_, &_inner_error_, NULL); + if (_inner_error_ != NULL) { + _g_free0 (path); + _g_object_unref0 (icon); + _g_object_unref0 (loader); + goto __catch6_g_error; + } + _tmp18_ = property; + _tmp19_ = path; + dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, _tmp18_, _tmp19_); + _tmp20_ = self->priv->previous_temp_album_art_path; + if (_tmp20_ != NULL) { + const gchar* _tmp21_; + _tmp21_ = self->priv->previous_temp_album_art_path; + g_remove (_tmp21_); + } + _tmp22_ = path; + _tmp23_ = g_strdup (_tmp22_); + _g_free0 (self->priv->previous_temp_album_art_path); + self->priv->previous_temp_album_art_path = _tmp23_; } - _tmp7_ = g_strdup (path); - _g_free0 (self->priv->previous_temp_album_art_path); - self->priv->previous_temp_album_art_path = _tmp7_; + _g_free0 (path); + _g_object_unref0 (icon); + _g_object_unref0 (loader); } - _g_free0 (path); - _g_object_unref0 (icon); - _g_object_unref0 (loader); - goto __finally5; - __catch5_g_error: + goto __finally6; + __catch6_g_error: { - GError * e; + GError* e = NULL; + GError* _tmp24_; + const gchar* _tmp25_; e = _inner_error_; _inner_error_ = NULL; + _tmp24_ = e; + _tmp25_ = _tmp24_->message; g_warning ("metadata-menu-item.vala:163: Problem creating file from bytearray fetc" \ -"hed from the interweb - error: %s", e->message); +"hed from the interweb - error: %s", _tmp25_); _g_error_free0 (e); } - __finally5: + __finally6: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -564,53 +682,75 @@ static void metadata_menuitem_on_fetcher_completed (MetadataMenuitem* self, GByt static void metadata_menuitem_real_handle_event (DbusmenuMenuitem* base, const gchar* name, GVariant* input_value, guint timestamp) { MetadataMenuitem * self; - PlayerController* _tmp0_ = NULL; + PlayerController* _tmp0_; + PlayerController* _tmp1_; + gint _tmp2_; self = (MetadataMenuitem*) base; g_return_if_fail (name != NULL); g_return_if_fail (input_value != NULL); _tmp0_ = player_item_get_owner ((PlayerItem*) self); - if (_tmp0_->current_state == PLAYER_CONTROLLER_STATE_OFFLINE) { - PlayerController* _tmp1_ = NULL; - _tmp1_ = player_item_get_owner ((PlayerItem*) self); - player_controller_instantiate (_tmp1_); + _tmp1_ = _tmp0_; + _tmp2_ = _tmp1_->current_state; + if (_tmp2_ == ((gint) PLAYER_CONTROLLER_STATE_OFFLINE)) { + PlayerController* _tmp3_; + PlayerController* _tmp4_; + _tmp3_ = player_item_get_owner ((PlayerItem*) self); + _tmp4_ = _tmp3_; + player_controller_instantiate (_tmp4_); } else { - PlayerController* _tmp2_ = NULL; - _tmp2_ = player_item_get_owner ((PlayerItem*) self); - if (_tmp2_->current_state == PLAYER_CONTROLLER_STATE_CONNECTED) { - PlayerController* _tmp3_ = NULL; - _tmp3_ = player_item_get_owner ((PlayerItem*) self); - mpris2_controller_expose (_tmp3_->mpris_bridge); + PlayerController* _tmp5_; + PlayerController* _tmp6_; + gint _tmp7_; + _tmp5_ = player_item_get_owner ((PlayerItem*) self); + _tmp6_ = _tmp5_; + _tmp7_ = _tmp6_->current_state; + if (_tmp7_ == ((gint) PLAYER_CONTROLLER_STATE_CONNECTED)) { + PlayerController* _tmp8_; + PlayerController* _tmp9_; + Mpris2Controller* _tmp10_; + _tmp8_ = player_item_get_owner ((PlayerItem*) self); + _tmp9_ = _tmp8_; + _tmp10_ = _tmp9_->mpris_bridge; + mpris2_controller_expose (_tmp10_); } } } void metadata_menuitem_alter_label (MetadataMenuitem* self, const gchar* new_title) { + const gchar* _tmp0_; + const gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (new_title != NULL); - if (new_title == NULL) { + _tmp0_ = new_title; + if (_tmp0_ == NULL) { return; } - dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_NAME, new_title); + _tmp1_ = new_title; + dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_NAME, _tmp1_); } void metadata_menuitem_toggle_active_triangle (MetadataMenuitem* self, gboolean update) { + gboolean _tmp0_; g_return_if_fail (self != NULL); g_debug ("metadata-menu-item.vala:189: toggle active triangle"); - dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_RUNNING, update); + _tmp0_ = update; + dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_RUNNING, _tmp0_); } void metadata_menuitem_should_collapse (MetadataMenuitem* self, gboolean collapse) { + gboolean _tmp0_; g_return_if_fail (self != NULL); - dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_HIDE_TRACK_DETAILS, collapse); + _tmp0_ = collapse; + dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_HIDE_TRACK_DETAILS, _tmp0_); } GeeHashSet* metadata_menuitem_attributes_format (void) { GeeHashSet* result = NULL; - GeeHashSet* _tmp0_ = NULL; + GeeHashSet* _tmp0_; GeeHashSet* attrs; _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL); attrs = _tmp0_; @@ -628,7 +768,7 @@ GeeHashSet* metadata_menuitem_attributes_format (void) { GeeHashSet* metadata_menuitem_relevant_attributes_for_ui (void) { GeeHashSet* result = NULL; - GeeHashSet* _tmp0_ = NULL; + GeeHashSet* _tmp0_; GeeHashSet* attrs; _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL); attrs = _tmp0_; @@ -646,16 +786,22 @@ static GObject * metadata_menuitem_constructor (GType type, guint n_construct_pr GObjectClass * parent_class; MetadataMenuitem * self; gchar* _tmp0_ = NULL; - PlayerController* _tmp1_ = NULL; - GAppInfo* _tmp2_ = NULL; - const gchar* _tmp3_ = NULL; - PlayerController* _tmp4_ = NULL; - GAppInfo* _tmp5_ = NULL; - const gchar* _tmp6_ = NULL; - PlayerController* _tmp7_ = NULL; - const gchar* _tmp8_ = NULL; - GeeHashSet* _tmp9_ = NULL; - GeeHashSet* _tmp10_; + PlayerController* _tmp1_; + PlayerController* _tmp2_; + GAppInfo* _tmp3_; + GAppInfo* _tmp4_; + const gchar* _tmp5_ = NULL; + PlayerController* _tmp6_; + PlayerController* _tmp7_; + GAppInfo* _tmp8_; + GAppInfo* _tmp9_; + const gchar* _tmp10_ = NULL; + PlayerController* _tmp11_; + PlayerController* _tmp12_; + const gchar* _tmp13_; + const gchar* _tmp14_; + GeeHashSet* _tmp15_ = NULL; + GeeHashSet* _tmp16_; parent_class = G_OBJECT_CLASS (metadata_menuitem_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = METADATA_MENUITEM (obj); @@ -666,23 +812,29 @@ static GObject * metadata_menuitem_constructor (GType type, guint n_construct_pr _g_free0 (metadata_menuitem_album_art_cache_dir); metadata_menuitem_album_art_cache_dir = _tmp0_; _tmp1_ = player_item_get_owner ((PlayerItem*) self); - _tmp2_ = player_controller_get_app_info (_tmp1_); - _tmp3_ = g_app_info_get_name (_tmp2_); + _tmp2_ = _tmp1_; + _tmp3_ = player_controller_get_app_info (_tmp2_); + _tmp4_ = _tmp3_; + _tmp5_ = g_app_info_get_name (_tmp4_); g_debug ("metadata-menu-item.vala:42: JUST ABOUT TO ATTEMPT PLAYER NAME SETTING " \ -"%s", _tmp3_); - _tmp4_ = player_item_get_owner ((PlayerItem*) self); - _tmp5_ = player_controller_get_app_info (_tmp4_); - _tmp6_ = g_app_info_get_name (_tmp5_); - dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_NAME, _tmp6_); - _tmp7_ = player_item_get_owner ((PlayerItem*) self); - _tmp8_ = player_controller_get_icon_name (_tmp7_); - dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_ICON, _tmp8_); +"%s", _tmp5_); + _tmp6_ = player_item_get_owner ((PlayerItem*) self); + _tmp7_ = _tmp6_; + _tmp8_ = player_controller_get_app_info (_tmp7_); + _tmp9_ = _tmp8_; + _tmp10_ = g_app_info_get_name (_tmp9_); + dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_NAME, _tmp10_); + _tmp11_ = player_item_get_owner ((PlayerItem*) self); + _tmp12_ = _tmp11_; + _tmp13_ = player_controller_get_icon_name (_tmp12_); + _tmp14_ = _tmp13_; + dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_ICON, _tmp14_); dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_PLAYER_RUNNING, FALSE); dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, DBUSMENU_METADATA_MENUITEM_HIDE_TRACK_DETAILS, TRUE); - _tmp9_ = metadata_menuitem_relevant_attributes_for_ui (); - _tmp10_ = _tmp9_; - player_item_reset ((PlayerItem*) self, _tmp10_); - _g_object_unref0 (_tmp10_); + _tmp15_ = metadata_menuitem_relevant_attributes_for_ui (); + _tmp16_ = _tmp15_; + player_item_reset ((PlayerItem*) self, _tmp16_); + _g_object_unref0 (_tmp16_); return obj; } diff --git a/src/metadata-widget.c b/src/metadata-widget.c index 36b48f8..597c12c 100644 --- a/src/metadata-widget.c +++ b/src/metadata-widget.c @@ -229,7 +229,7 @@ metadata_widget_init (MetadataWidget *self) GtkWidget* player_label; player_label = gtk_label_new (""); gtk_misc_set_alignment(GTK_MISC(player_label), (gfloat)0, (gfloat)0); - gtk_misc_set_padding (GTK_MISC(player_label), (gfloat)1, (gfloat)0); + gtk_misc_set_padding (GTK_MISC(player_label), (gfloat)1, (gfloat)4); gtk_widget_set_size_request (player_label, 150, 24); priv->player_label = player_label; diff --git a/src/mpris2-controller.c b/src/mpris2-controller.c index 3a8ab9b..20d02a7 100644 --- a/src/mpris2-controller.c +++ b/src/mpris2-controller.c @@ -1,4 +1,4 @@ -/* mpris2-controller.c generated by valac 0.12.1, the Vala compiler +/* mpris2-controller.c generated by valac 0.14.2, the Vala compiler * generated from mpris2-controller.vala, do not modify */ /* @@ -205,14 +205,14 @@ struct _PlaylistDetails { struct _ActivePlaylistContainer { gboolean valid; - PlaylistDetails details; + PlaylistDetails* details; }; struct _MprisPlaylistsIface { GTypeInterface parent_iface; void (*ActivatePlaylist) (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*ActivatePlaylist_finish) (MprisPlaylists* self, GAsyncResult* _res_, GError** error); - void (*GetPlaylists) (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); + void (*GetPlaylists) (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* (*GetPlaylists_finish) (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); gchar** (*get_Orderings) (MprisPlaylists* self, int* result_length1); void (*set_Orderings) (MprisPlaylists* self, gchar** value, int value_length1); @@ -264,17 +264,25 @@ struct _Mpris2ControllerFetchPlaylistsData { PlaylistDetails* current_playlists; gint current_playlists_length1; gint _current_playlists_size_; - gint _tmp0_; - PlaylistDetails* _tmp1_; + MprisPlaylists* _tmp0_; + gint _tmp1_; PlaylistDetails* _tmp2_; - gint _tmp2__length1; - gint __tmp2__size_; - GError * e; - gpointer _tmp3_; - PlayerItem* _tmp4_; + PlaylistDetails* _tmp3_; + gint _tmp3__length1; + gint __tmp3__size_; + GError* e; + PlaylistDetails* _tmp4_; + gint _tmp4__length1; + PlayerController* _tmp5_; + GeeArrayList* _tmp6_; + gpointer _tmp7_; PlaylistsMenuitem* playlists_item; - gboolean _tmp5_; - gboolean* _tmp6_; + PlaylistsMenuitem* _tmp8_; + PlaylistDetails* _tmp9_; + gint _tmp9__length1; + PlayerController* _tmp10_; + gboolean _tmp11_; + gboolean* _tmp12_; GError * _inner_error_; }; @@ -367,9 +375,9 @@ static void mpris2_controller_on_playlistdetails_changed (Mpris2Controller* self GType playlists_menuitem_get_type (void) G_GNUC_CONST; void playlists_menuitem_update_individual_playlist (PlaylistsMenuitem* self, PlaylistDetails* new_detail); static void mpris2_controller_fetch_playlists_data_free (gpointer _data); -static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* data); +static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* _data_); MprisPlaylists* mpris2_controller_get_playlists (Mpris2Controller* self); -void mpris_playlists_GetPlaylists (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); +void mpris_playlists_GetPlaylists (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* mpris_playlists_GetPlaylists_finish (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); static void mpris2_controller_fetch_playlists_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); static void _vala_PlaylistDetails_array_free (PlaylistDetails* array, gint array_length); @@ -399,8 +407,10 @@ static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify Mpris2Controller* mpris2_controller_construct (GType object_type, PlayerController* ctrl) { Mpris2Controller * self = NULL; + PlayerController* _tmp0_; g_return_val_if_fail (ctrl != NULL, NULL); - self = (Mpris2Controller*) g_object_new (object_type, "owner", ctrl, NULL); + _tmp0_ = ctrl; + self = (Mpris2Controller*) g_object_new (object_type, "owner", _tmp0_, NULL); return self; } @@ -452,128 +462,194 @@ static gboolean _mpris2_controller_fetch_active_playlist_gsource_func (gpointer void mpris2_controller_property_changed_cb (Mpris2Controller* self, const gchar* interface_source, GHashTable* changed_properties, gchar** invalid, int invalid_length1) { gboolean _tmp0_ = FALSE; - gconstpointer _tmp2_ = NULL; - GVariant* _tmp3_; + GHashTable* _tmp1_; + gboolean _tmp4_; + GHashTable* _tmp5_; + gconstpointer _tmp6_ = NULL; + GVariant* _tmp7_; GVariant* play_v; - gconstpointer _tmp9_ = NULL; - GVariant* _tmp10_; + GVariant* _tmp8_; + GHashTable* _tmp19_; + gconstpointer _tmp20_ = NULL; + GVariant* _tmp21_; GVariant* meta_v; - gconstpointer _tmp11_ = NULL; - GVariant* _tmp12_; + GVariant* _tmp22_; + GHashTable* _tmp23_; + gconstpointer _tmp24_ = NULL; + GVariant* _tmp25_; GVariant* playlist_v; - gboolean _tmp13_ = FALSE; - gconstpointer _tmp15_ = NULL; - GVariant* _tmp16_; + gboolean _tmp26_ = FALSE; + GVariant* _tmp27_; + gboolean _tmp31_; + GHashTable* _tmp32_; + gconstpointer _tmp33_ = NULL; + GVariant* _tmp34_; GVariant* playlist_count_v; - gboolean _tmp17_ = FALSE; - gconstpointer _tmp19_ = NULL; - GVariant* _tmp20_; + gboolean _tmp35_ = FALSE; + GVariant* _tmp36_; + gboolean _tmp40_; + GHashTable* _tmp41_; + gconstpointer _tmp42_ = NULL; + GVariant* _tmp43_; GVariant* playlist_orderings_v; - gboolean _tmp21_ = FALSE; - gconstpointer _tmp23_ = NULL; - GVariant* _tmp24_; + gboolean _tmp44_ = FALSE; + GVariant* _tmp45_; + gboolean _tmp49_; + GHashTable* _tmp50_; + gconstpointer _tmp51_ = NULL; + GVariant* _tmp52_; GVariant* identity_v; + GVariant* _tmp53_; g_return_if_fail (self != NULL); g_return_if_fail (interface_source != NULL); g_return_if_fail (changed_properties != NULL); - if (changed_properties == NULL) { + _tmp1_ = changed_properties; + if (_tmp1_ == NULL) { _tmp0_ = TRUE; } else { - gboolean _tmp1_; - _tmp1_ = g_str_has_prefix (interface_source, MPRIS_PREFIX); - _tmp0_ = _tmp1_ == FALSE; + const gchar* _tmp2_; + gboolean _tmp3_ = FALSE; + _tmp2_ = interface_source; + _tmp3_ = g_str_has_prefix (_tmp2_, MPRIS_PREFIX); + _tmp0_ = _tmp3_ == FALSE; } - if (_tmp0_) { + _tmp4_ = _tmp0_; + if (_tmp4_) { g_warning ("mpris2-controller.vala:78: Property-changed hash is null or this is an" \ " interface that doesn't concern us"); return; } - _tmp2_ = g_hash_table_lookup (changed_properties, "PlaybackStatus"); - _tmp3_ = _g_variant_ref0 ((GVariant*) _tmp2_); - play_v = _tmp3_; - if (play_v != NULL) { - gchar* _tmp4_ = NULL; + _tmp5_ = changed_properties; + _tmp6_ = g_hash_table_lookup (_tmp5_, "PlaybackStatus"); + _tmp7_ = _g_variant_ref0 ((GVariant*) _tmp6_); + play_v = _tmp7_; + _tmp8_ = play_v; + if (_tmp8_ != NULL) { + MprisPlayer* _tmp9_; + gchar* _tmp10_; + gchar* _tmp11_; gchar* state; - TransportState _tmp5_; + const gchar* _tmp12_; + TransportState _tmp13_ = 0; TransportState p; - gpointer _tmp6_ = NULL; - PlayerItem* _tmp7_; - TransportMenuitem* _tmp8_; - _tmp4_ = mpris_player_get_PlaybackStatus (self->priv->_player); - state = _tmp4_; + PlayerController* _tmp14_; + GeeArrayList* _tmp15_; + gpointer _tmp16_ = NULL; + TransportMenuitem* _tmp17_; + TransportState _tmp18_; + _tmp9_ = self->priv->_player; + _tmp10_ = mpris_player_get_PlaybackStatus (_tmp9_); + _tmp11_ = _tmp10_; + state = _tmp11_; g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 200, _mpris2_controller_ensure_correct_playback_status_gsource_func, g_object_ref (self), g_object_unref); - _tmp5_ = mpris2_controller_determine_play_state (self, state); - p = (TransportState) _tmp5_; - _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); - _tmp7_ = (PlayerItem*) _tmp6_; - _tmp8_ = IS_TRANSPORT_MENUITEM (_tmp7_) ? ((TransportMenuitem*) _tmp7_) : NULL; - transport_menuitem_change_play_state (_tmp8_, p); - _g_object_unref0 (_tmp8_); + _tmp12_ = state; + _tmp13_ = mpris2_controller_determine_play_state (self, _tmp12_); + p = (TransportState) _tmp13_; + _tmp14_ = self->priv->_owner; + _tmp15_ = _tmp14_->custom_items; + _tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); + _tmp17_ = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp16_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp16_)) : NULL; + _tmp18_ = p; + transport_menuitem_change_play_state (_tmp17_, _tmp18_); + _g_object_unref0 (_tmp17_); _g_free0 (state); } - _tmp9_ = g_hash_table_lookup (changed_properties, "Metadata"); - _tmp10_ = _g_variant_ref0 ((GVariant*) _tmp9_); - meta_v = _tmp10_; - if (meta_v != NULL) { + _tmp19_ = changed_properties; + _tmp20_ = g_hash_table_lookup (_tmp19_, "Metadata"); + _tmp21_ = _g_variant_ref0 ((GVariant*) _tmp20_); + meta_v = _tmp21_; + _tmp22_ = meta_v; + if (_tmp22_ != NULL) { g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 200, _mpris2_controller_ensure_correct_metadata_gsource_func, g_object_ref (self), g_object_unref); } - _tmp11_ = g_hash_table_lookup (changed_properties, "ActivePlaylist"); - _tmp12_ = _g_variant_ref0 ((GVariant*) _tmp11_); - playlist_v = _tmp12_; - if (playlist_v != NULL) { - gboolean _tmp14_; - _tmp14_ = TRUE; - _tmp13_ = _bool_equal (self->priv->_owner->use_playlists, &_tmp14_) == TRUE; + _tmp23_ = changed_properties; + _tmp24_ = g_hash_table_lookup (_tmp23_, "ActivePlaylist"); + _tmp25_ = _g_variant_ref0 ((GVariant*) _tmp24_); + playlist_v = _tmp25_; + _tmp27_ = playlist_v; + if (_tmp27_ != NULL) { + PlayerController* _tmp28_; + gboolean* _tmp29_; + gboolean _tmp30_; + _tmp28_ = self->priv->_owner; + _tmp29_ = _tmp28_->use_playlists; + _tmp30_ = TRUE; + _tmp26_ = _bool_equal (_tmp29_, &_tmp30_) == TRUE; } else { - _tmp13_ = FALSE; + _tmp26_ = FALSE; } - if (_tmp13_) { + _tmp31_ = _tmp26_; + if (_tmp31_) { g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 300, _mpris2_controller_fetch_active_playlist_gsource_func, g_object_ref (self), g_object_unref); } - _tmp15_ = g_hash_table_lookup (changed_properties, "PlaylistCount"); - _tmp16_ = _g_variant_ref0 ((GVariant*) _tmp15_); - playlist_count_v = _tmp16_; - if (playlist_count_v != NULL) { - gboolean _tmp18_; - _tmp18_ = TRUE; - _tmp17_ = _bool_equal (self->priv->_owner->use_playlists, &_tmp18_) == TRUE; + _tmp32_ = changed_properties; + _tmp33_ = g_hash_table_lookup (_tmp32_, "PlaylistCount"); + _tmp34_ = _g_variant_ref0 ((GVariant*) _tmp33_); + playlist_count_v = _tmp34_; + _tmp36_ = playlist_count_v; + if (_tmp36_ != NULL) { + PlayerController* _tmp37_; + gboolean* _tmp38_; + gboolean _tmp39_; + _tmp37_ = self->priv->_owner; + _tmp38_ = _tmp37_->use_playlists; + _tmp39_ = TRUE; + _tmp35_ = _bool_equal (_tmp38_, &_tmp39_) == TRUE; } else { - _tmp17_ = FALSE; + _tmp35_ = FALSE; } - if (_tmp17_) { + _tmp40_ = _tmp35_; + if (_tmp40_) { mpris2_controller_fetch_playlists (self, NULL, NULL); mpris2_controller_fetch_active_playlist (self); } - _tmp19_ = g_hash_table_lookup (changed_properties, "Orderings"); - _tmp20_ = _g_variant_ref0 ((GVariant*) _tmp19_); - playlist_orderings_v = _tmp20_; - if (playlist_orderings_v != NULL) { - gboolean _tmp22_; - _tmp22_ = TRUE; - _tmp21_ = _bool_equal (self->priv->_owner->use_playlists, &_tmp22_) == TRUE; + _tmp41_ = changed_properties; + _tmp42_ = g_hash_table_lookup (_tmp41_, "Orderings"); + _tmp43_ = _g_variant_ref0 ((GVariant*) _tmp42_); + playlist_orderings_v = _tmp43_; + _tmp45_ = playlist_orderings_v; + if (_tmp45_ != NULL) { + PlayerController* _tmp46_; + gboolean* _tmp47_; + gboolean _tmp48_; + _tmp46_ = self->priv->_owner; + _tmp47_ = _tmp46_->use_playlists; + _tmp48_ = TRUE; + _tmp44_ = _bool_equal (_tmp47_, &_tmp48_) == TRUE; } else { - _tmp21_ = FALSE; + _tmp44_ = FALSE; } - if (_tmp21_) { + _tmp49_ = _tmp44_; + if (_tmp49_) { mpris2_controller_fetch_playlists (self, NULL, NULL); mpris2_controller_fetch_active_playlist (self); } - _tmp23_ = g_hash_table_lookup (changed_properties, "Identity"); - _tmp24_ = _g_variant_ref0 ((GVariant*) _tmp23_); - identity_v = _tmp24_; - if (identity_v != NULL) { - gpointer _tmp25_ = NULL; - PlayerItem* _tmp26_; + _tmp50_ = changed_properties; + _tmp51_ = g_hash_table_lookup (_tmp50_, "Identity"); + _tmp52_ = _g_variant_ref0 ((GVariant*) _tmp51_); + identity_v = _tmp52_; + _tmp53_ = identity_v; + if (_tmp53_ != NULL) { + PlayerController* _tmp54_; + GeeArrayList* _tmp55_; + gpointer _tmp56_ = NULL; MetadataMenuitem* md; - gchar* _tmp27_ = NULL; - gchar* _tmp28_; - _tmp25_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp26_ = (PlayerItem*) _tmp25_; - md = IS_METADATA_MENUITEM (_tmp26_) ? ((MetadataMenuitem*) _tmp26_) : NULL; - _tmp27_ = mpris_root_get_Identity (self->priv->_mpris2_root); - _tmp28_ = _tmp27_; - metadata_menuitem_alter_label (md, _tmp28_); - _g_free0 (_tmp28_); + MetadataMenuitem* _tmp57_; + MprisRoot* _tmp58_; + gchar* _tmp59_; + gchar* _tmp60_; + gchar* _tmp61_; + _tmp54_ = self->priv->_owner; + _tmp55_ = _tmp54_->custom_items; + _tmp56_ = gee_abstract_list_get ((GeeAbstractList*) _tmp55_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp56_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp56_)) : NULL; + _tmp57_ = md; + _tmp58_ = self->priv->_mpris2_root; + _tmp59_ = mpris_root_get_Identity (_tmp58_); + _tmp60_ = _tmp59_; + _tmp61_ = _tmp60_; + metadata_menuitem_alter_label (_tmp57_, _tmp61_); + _g_free0 (_tmp61_); _g_object_unref0 (md); } _g_variant_unref0 (identity_v); @@ -589,42 +665,48 @@ static gboolean mpris2_controller_ensure_correct_metadata (Mpris2Controller* sel gboolean result = FALSE; GHashTable* _tmp0_ = NULL; GHashTable* changed_updates; - gpointer _tmp1_ = NULL; + PlayerController* _tmp1_; + GeeArrayList* _tmp2_; + gpointer _tmp3_ = NULL; PlayerItem* metadata; - GeeHashSet* _tmp2_ = NULL; - GeeHashSet* _tmp3_; GeeHashSet* _tmp4_ = NULL; GeeHashSet* _tmp5_; - gpointer _tmp6_ = NULL; - PlayerItem* _tmp7_; + GeeHashSet* _tmp6_ = NULL; + GeeHashSet* _tmp7_; + PlayerController* _tmp8_; + GeeArrayList* _tmp9_; + gpointer _tmp10_ = NULL; MetadataMenuitem* md; - GeeHashSet* _tmp8_ = NULL; - GeeHashSet* _tmp9_; - gboolean _tmp10_; - gboolean _tmp11_; + GeeHashSet* _tmp11_ = NULL; + GeeHashSet* _tmp12_; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_; gboolean collapsing; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = mpris2_controller_clean_metadata (self); changed_updates = _tmp0_; - _tmp1_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - metadata = (PlayerItem*) _tmp1_; - _tmp2_ = metadata_menuitem_relevant_attributes_for_ui (); - _tmp3_ = _tmp2_; - player_item_reset (metadata, _tmp3_); - _g_object_unref0 (_tmp3_); + _tmp1_ = self->priv->_owner; + _tmp2_ = _tmp1_->custom_items; + _tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _tmp2_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + metadata = (PlayerItem*) _tmp3_; _tmp4_ = metadata_menuitem_relevant_attributes_for_ui (); _tmp5_ = _tmp4_; - player_item_update (metadata, changed_updates, _tmp5_); + player_item_reset (metadata, _tmp5_); _g_object_unref0 (_tmp5_); - _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp7_ = (PlayerItem*) _tmp6_; - md = IS_METADATA_MENUITEM (_tmp7_) ? ((MetadataMenuitem*) _tmp7_) : NULL; - _tmp8_ = metadata_menuitem_relevant_attributes_for_ui (); - _tmp9_ = _tmp8_; - _tmp10_ = player_item_populated (metadata, _tmp9_); - _tmp11_ = !_tmp10_; - _g_object_unref0 (_tmp9_); - collapsing = _tmp11_; + _tmp6_ = metadata_menuitem_relevant_attributes_for_ui (); + _tmp7_ = _tmp6_; + player_item_update (metadata, changed_updates, _tmp7_); + _g_object_unref0 (_tmp7_); + _tmp8_ = self->priv->_owner; + _tmp9_ = _tmp8_->custom_items; + _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp10_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp10_)) : NULL; + _tmp11_ = metadata_menuitem_relevant_attributes_for_ui (); + _tmp12_ = _tmp11_; + _tmp13_ = player_item_populated (metadata, _tmp12_); + _tmp14_ = !_tmp13_; + _g_object_unref0 (_tmp12_); + collapsing = _tmp14_; metadata_menuitem_should_collapse (md, collapsing); result = FALSE; _g_object_unref0 (md); @@ -636,26 +718,32 @@ static gboolean mpris2_controller_ensure_correct_metadata (Mpris2Controller* sel static gboolean mpris2_controller_ensure_correct_playback_status (Mpris2Controller* self) { gboolean result = FALSE; - gchar* _tmp0_ = NULL; + MprisPlayer* _tmp0_; gchar* _tmp1_; - TransportState _tmp2_; - TransportState _tmp3_; + gchar* _tmp2_; + gchar* _tmp3_; + TransportState _tmp4_ = 0; + TransportState _tmp5_; TransportState p; - gpointer _tmp4_ = NULL; - PlayerItem* _tmp5_; - TransportMenuitem* _tmp6_; + PlayerController* _tmp6_; + GeeArrayList* _tmp7_; + gpointer _tmp8_ = NULL; + TransportMenuitem* _tmp9_; g_return_val_if_fail (self != NULL, FALSE); - _tmp0_ = mpris_player_get_PlaybackStatus (self->priv->_player); - _tmp1_ = _tmp0_; - _tmp2_ = mpris2_controller_determine_play_state (self, _tmp1_); - _tmp3_ = (TransportState) _tmp2_; - _g_free0 (_tmp1_); - p = _tmp3_; - _tmp4_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); - _tmp5_ = (PlayerItem*) _tmp4_; - _tmp6_ = IS_TRANSPORT_MENUITEM (_tmp5_) ? ((TransportMenuitem*) _tmp5_) : NULL; - transport_menuitem_change_play_state (_tmp6_, p); - _g_object_unref0 (_tmp6_); + _tmp0_ = self->priv->_player; + _tmp1_ = mpris_player_get_PlaybackStatus (_tmp0_); + _tmp2_ = _tmp1_; + _tmp3_ = _tmp2_; + _tmp4_ = mpris2_controller_determine_play_state (self, _tmp3_); + _tmp5_ = (TransportState) _tmp4_; + _g_free0 (_tmp3_); + p = _tmp5_; + _tmp6_ = self->priv->_owner; + _tmp7_ = _tmp6_->custom_items; + _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); + _tmp9_ = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp8_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp8_)) : NULL; + transport_menuitem_change_play_state (_tmp9_, p); + _g_object_unref0 (_tmp9_); result = FALSE; return result; } @@ -668,54 +756,80 @@ static GVariant* _variant_new1 (const gchar* value) { static GHashTable* mpris2_controller_clean_metadata (Mpris2Controller* self) { GHashTable* result = NULL; - GHashTable* _tmp0_ = NULL; - GHashTable* changed_updates; - GHashTable* _tmp1_ = NULL; + MprisPlayer* _tmp0_; + GHashTable* _tmp1_; GHashTable* _tmp2_; - gconstpointer _tmp3_ = NULL; - GVariant* _tmp4_; - GVariant* _tmp5_; + GHashTable* changed_updates; + MprisPlayer* _tmp3_; + GHashTable* _tmp4_; + GHashTable* _tmp5_; + GHashTable* _tmp6_; + gconstpointer _tmp7_ = NULL; + GVariant* _tmp8_; + GVariant* _tmp9_; GVariant* artist_v; + GVariant* _tmp10_; g_return_val_if_fail (self != NULL, NULL); - _tmp0_ = mpris_player_get_Metadata (self->priv->_player); - changed_updates = _tmp0_; - _tmp1_ = mpris_player_get_Metadata (self->priv->_player); + _tmp0_ = self->priv->_player; + _tmp1_ = mpris_player_get_Metadata (_tmp0_); _tmp2_ = _tmp1_; - _tmp3_ = g_hash_table_lookup (_tmp2_, "xesam:artist"); - _tmp4_ = _g_variant_ref0 ((GVariant*) _tmp3_); + changed_updates = _tmp2_; + _tmp3_ = self->priv->_player; + _tmp4_ = mpris_player_get_Metadata (_tmp3_); _tmp5_ = _tmp4_; - _g_hash_table_unref0 (_tmp2_); - artist_v = _tmp5_; - if (artist_v != NULL) { + _tmp6_ = _tmp5_; + _tmp7_ = g_hash_table_lookup (_tmp6_, "xesam:artist"); + _tmp8_ = _g_variant_ref0 ((GVariant*) _tmp7_); + _tmp9_ = _tmp8_; + _g_hash_table_unref0 (_tmp6_); + artist_v = _tmp9_; + _tmp10_ = artist_v; + if (_tmp10_ != NULL) { gchar* display_artists = NULL; - const gchar* _tmp6_ = NULL; - gchar* _tmp12_; - _tmp6_ = g_variant_get_type_string (artist_v); - if (g_strcmp0 (_tmp6_, "s") == 0) { - const gchar* _tmp7_ = NULL; - gchar* _tmp8_; - _tmp7_ = g_variant_get_string (artist_v, NULL); - _tmp8_ = g_strdup (_tmp7_); + GVariant* _tmp11_; + const gchar* _tmp12_ = NULL; + GHashTable* _tmp21_; + gchar* _tmp22_; + const gchar* _tmp23_; + GVariant* _tmp24_; + _tmp11_ = artist_v; + _tmp12_ = g_variant_get_type_string (_tmp11_); + if (g_strcmp0 (_tmp12_, "s") == 0) { + GVariant* _tmp13_; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_; + _tmp13_ = artist_v; + _tmp14_ = g_variant_get_string (_tmp13_, NULL); + _tmp15_ = g_strdup (_tmp14_); _g_free0 (display_artists); - display_artists = _tmp8_; + display_artists = _tmp15_; } else { - size_t _tmp9_; - gchar** _tmp10_ = NULL; + GVariant* _tmp16_; + size_t _tmp17_; + gchar** _tmp18_ = NULL; gchar** artists; gint artists_length1; gint _artists_size_; - gchar* _tmp11_ = NULL; - _tmp10_ = g_variant_dup_strv (artist_v, &_tmp9_); - artists = _tmp10_; - artists_length1 = _tmp9_; - _artists_size_ = _tmp9_; - _tmp11_ = g_strjoinv (", ", artists); + gchar** _tmp19_; + gint _tmp19__length1; + gchar* _tmp20_ = NULL; + _tmp16_ = artist_v; + _tmp18_ = g_variant_dup_strv (_tmp16_, &_tmp17_); + artists = _tmp18_; + artists_length1 = _tmp17_; + _artists_size_ = artists_length1; + _tmp19_ = artists; + _tmp19__length1 = artists_length1; + _tmp20_ = g_strjoinv (", ", _tmp19_); _g_free0 (display_artists); - display_artists = _tmp11_; + display_artists = _tmp20_; artists = (_vala_array_free (artists, artists_length1, (GDestroyNotify) g_free), NULL); } - _tmp12_ = g_strdup ("xesam:artist"); - g_hash_table_replace (changed_updates, _tmp12_, _variant_new1 (display_artists)); + _tmp21_ = changed_updates; + _tmp22_ = g_strdup ("xesam:artist"); + _tmp23_ = display_artists; + _tmp24_ = _variant_new1 (_tmp23_); + g_hash_table_replace (_tmp21_, _tmp22_, _tmp24_); _g_free0 (display_artists); } result = changed_updates; @@ -727,13 +841,19 @@ static GHashTable* mpris2_controller_clean_metadata (Mpris2Controller* self) { static TransportState mpris2_controller_determine_play_state (Mpris2Controller* self, const gchar* status) { TransportState result = 0; gboolean _tmp0_ = FALSE; + const gchar* _tmp1_; + gboolean _tmp3_; g_return_val_if_fail (self != NULL, 0); - if (status != NULL) { - _tmp0_ = g_strcmp0 (status, "Playing") == 0; + _tmp1_ = status; + if (_tmp1_ != NULL) { + const gchar* _tmp2_; + _tmp2_ = status; + _tmp0_ = g_strcmp0 (_tmp2_, "Playing") == 0; } else { _tmp0_ = FALSE; } - if (_tmp0_) { + _tmp3_ = _tmp0_; + if (_tmp3_) { result = TRANSPORT_STATE_PLAYING; return result; } @@ -744,74 +864,108 @@ static TransportState mpris2_controller_determine_play_state (Mpris2Controller* void mpris2_controller_initial_update (Mpris2Controller* self) { TransportState update = 0; - gchar* _tmp0_ = NULL; + MprisPlayer* _tmp0_; gchar* _tmp1_; - gboolean _tmp2_; - gchar* _tmp6_ = NULL; - gchar* _tmp7_; - gboolean _tmp8_; - gpointer _tmp13_ = NULL; - PlayerItem* _tmp14_; - TransportMenuitem* _tmp15_; - GHashTable* _tmp16_ = NULL; + gchar* _tmp2_; + gchar* _tmp3_; + gboolean _tmp4_; + MprisRoot* _tmp10_; + gchar* _tmp11_; + gchar* _tmp12_; + gchar* _tmp13_; + gboolean _tmp14_; + PlayerController* _tmp23_; + GeeArrayList* _tmp24_; + gpointer _tmp25_ = NULL; + TransportMenuitem* _tmp26_; + TransportState _tmp27_; + GHashTable* _tmp28_ = NULL; GHashTable* cleaned_metadata; - gpointer _tmp17_ = NULL; - PlayerItem* _tmp18_; - GeeHashSet* _tmp19_ = NULL; - GeeHashSet* _tmp20_; - gboolean _tmp21_; + PlayerController* _tmp29_; + GeeArrayList* _tmp30_; + gpointer _tmp31_ = NULL; + PlayerItem* _tmp32_; + GHashTable* _tmp33_; + GeeHashSet* _tmp34_ = NULL; + GeeHashSet* _tmp35_; + PlayerController* _tmp36_; + gboolean* _tmp37_; + gboolean _tmp38_; g_return_if_fail (self != NULL); - _tmp0_ = mpris_player_get_PlaybackStatus (self->priv->_player); - _tmp1_ = _tmp0_; - _tmp2_ = _tmp1_ == NULL; - _g_free0 (_tmp1_); - if (_tmp2_) { + _tmp0_ = self->priv->_player; + _tmp1_ = mpris_player_get_PlaybackStatus (_tmp0_); + _tmp2_ = _tmp1_; + _tmp3_ = _tmp2_; + _tmp4_ = _tmp3_ == NULL; + _g_free0 (_tmp3_); + if (_tmp4_) { update = TRANSPORT_STATE_PAUSED; } else { - gchar* _tmp3_ = NULL; - gchar* _tmp4_; - TransportState _tmp5_; - _tmp3_ = mpris_player_get_PlaybackStatus (self->priv->_player); - _tmp4_ = _tmp3_; - _tmp5_ = mpris2_controller_determine_play_state (self, _tmp4_); - update = _tmp5_; - _g_free0 (_tmp4_); + MprisPlayer* _tmp5_; + gchar* _tmp6_; + gchar* _tmp7_; + gchar* _tmp8_; + TransportState _tmp9_ = 0; + _tmp5_ = self->priv->_player; + _tmp6_ = mpris_player_get_PlaybackStatus (_tmp5_); + _tmp7_ = _tmp6_; + _tmp8_ = _tmp7_; + _tmp9_ = mpris2_controller_determine_play_state (self, _tmp8_); + update = _tmp9_; + _g_free0 (_tmp8_); } - _tmp6_ = mpris_root_get_Identity (self->priv->_mpris2_root); - _tmp7_ = _tmp6_; - _tmp8_ = _tmp7_ != NULL; - _g_free0 (_tmp7_); - if (_tmp8_) { - gpointer _tmp9_ = NULL; - PlayerItem* _tmp10_; + _tmp10_ = self->priv->_mpris2_root; + _tmp11_ = mpris_root_get_Identity (_tmp10_); + _tmp12_ = _tmp11_; + _tmp13_ = _tmp12_; + _tmp14_ = _tmp13_ != NULL; + _g_free0 (_tmp13_); + if (_tmp14_) { + PlayerController* _tmp15_; + GeeArrayList* _tmp16_; + gpointer _tmp17_ = NULL; MetadataMenuitem* md; - gchar* _tmp11_ = NULL; - gchar* _tmp12_; - _tmp9_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp10_ = (PlayerItem*) _tmp9_; - md = IS_METADATA_MENUITEM (_tmp10_) ? ((MetadataMenuitem*) _tmp10_) : NULL; - _tmp11_ = mpris_root_get_Identity (self->priv->_mpris2_root); - _tmp12_ = _tmp11_; - metadata_menuitem_alter_label (md, _tmp12_); - _g_free0 (_tmp12_); + MetadataMenuitem* _tmp18_; + MprisRoot* _tmp19_; + gchar* _tmp20_; + gchar* _tmp21_; + gchar* _tmp22_; + _tmp15_ = self->priv->_owner; + _tmp16_ = _tmp15_->custom_items; + _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp17_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp17_)) : NULL; + _tmp18_ = md; + _tmp19_ = self->priv->_mpris2_root; + _tmp20_ = mpris_root_get_Identity (_tmp19_); + _tmp21_ = _tmp20_; + _tmp22_ = _tmp21_; + metadata_menuitem_alter_label (_tmp18_, _tmp22_); + _g_free0 (_tmp22_); _g_object_unref0 (md); } - _tmp13_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); - _tmp14_ = (PlayerItem*) _tmp13_; - _tmp15_ = IS_TRANSPORT_MENUITEM (_tmp14_) ? ((TransportMenuitem*) _tmp14_) : NULL; - transport_menuitem_change_play_state (_tmp15_, update); - _g_object_unref0 (_tmp15_); - _tmp16_ = mpris2_controller_clean_metadata (self); - cleaned_metadata = _tmp16_; - _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp18_ = (PlayerItem*) _tmp17_; - _tmp19_ = metadata_menuitem_attributes_format (); - _tmp20_ = _tmp19_; - player_item_update (_tmp18_, cleaned_metadata, _tmp20_); - _g_object_unref0 (_tmp20_); - _g_object_unref0 (_tmp18_); - _tmp21_ = TRUE; - if (_bool_equal (self->priv->_owner->use_playlists, &_tmp21_) == TRUE) { + _tmp23_ = self->priv->_owner; + _tmp24_ = _tmp23_->custom_items; + _tmp25_ = gee_abstract_list_get ((GeeAbstractList*) _tmp24_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); + _tmp26_ = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp25_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp25_)) : NULL; + _tmp27_ = update; + transport_menuitem_change_play_state (_tmp26_, _tmp27_); + _g_object_unref0 (_tmp26_); + _tmp28_ = mpris2_controller_clean_metadata (self); + cleaned_metadata = _tmp28_; + _tmp29_ = self->priv->_owner; + _tmp30_ = _tmp29_->custom_items; + _tmp31_ = gee_abstract_list_get ((GeeAbstractList*) _tmp30_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + _tmp32_ = (PlayerItem*) _tmp31_; + _tmp33_ = cleaned_metadata; + _tmp34_ = metadata_menuitem_attributes_format (); + _tmp35_ = _tmp34_; + player_item_update (_tmp32_, _tmp33_, _tmp35_); + _g_object_unref0 (_tmp35_); + _g_object_unref0 (_tmp32_); + _tmp36_ = self->priv->_owner; + _tmp37_ = _tmp36_->use_playlists; + _tmp38_ = TRUE; + if (_bool_equal (_tmp37_, &_tmp38_) == TRUE) { mpris2_controller_fetch_playlists (self, NULL, NULL); mpris2_controller_fetch_active_playlist (self); } @@ -820,21 +974,41 @@ void mpris2_controller_initial_update (Mpris2Controller* self) { void mpris2_controller_transport_update (Mpris2Controller* self, TransportAction command) { + TransportAction _tmp0_; g_return_if_fail (self != NULL); - if (command == TRANSPORT_ACTION_PLAY_PAUSE) { - mpris_player_PlayPause (self->priv->_player, NULL, NULL); + _tmp0_ = command; + if (_tmp0_ == TRANSPORT_ACTION_PLAY_PAUSE) { + MprisPlayer* _tmp1_; + _tmp1_ = self->priv->_player; + mpris_player_PlayPause (_tmp1_, NULL, NULL); } else { - if (command == TRANSPORT_ACTION_PREVIOUS) { - mpris_player_Previous (self->priv->_player, NULL, NULL); + TransportAction _tmp2_; + _tmp2_ = command; + if (_tmp2_ == TRANSPORT_ACTION_PREVIOUS) { + MprisPlayer* _tmp3_; + _tmp3_ = self->priv->_player; + mpris_player_Previous (_tmp3_, NULL, NULL); } else { - if (command == TRANSPORT_ACTION_NEXT) { - mpris_player_Next (self->priv->_player, NULL, NULL); + TransportAction _tmp4_; + _tmp4_ = command; + if (_tmp4_ == TRANSPORT_ACTION_NEXT) { + MprisPlayer* _tmp5_; + _tmp5_ = self->priv->_player; + mpris_player_Next (_tmp5_, NULL, NULL); } else { - if (command == TRANSPORT_ACTION_REWIND) { - mpris_player_Seek (self->priv->_player, (gint64) (-500000), NULL, NULL); + TransportAction _tmp6_; + _tmp6_ = command; + if (_tmp6_ == TRANSPORT_ACTION_REWIND) { + MprisPlayer* _tmp7_; + _tmp7_ = self->priv->_player; + mpris_player_Seek (_tmp7_, (gint64) (-500000), NULL, NULL); } else { - if (command == TRANSPORT_ACTION_FORWIND) { - mpris_player_Seek (self->priv->_player, (gint64) 400000, NULL, NULL); + TransportAction _tmp8_; + _tmp8_ = command; + if (_tmp8_ == TRANSPORT_ACTION_FORWIND) { + MprisPlayer* _tmp9_; + _tmp9_ = self->priv->_player; + mpris_player_Seek (_tmp9_, (gint64) 400000, NULL, NULL); } } } @@ -846,45 +1020,58 @@ void mpris2_controller_transport_update (Mpris2Controller* self, TransportAction gboolean mpris2_controller_connected (Mpris2Controller* self) { gboolean result = FALSE; gboolean _tmp0_ = FALSE; + MprisPlayer* _tmp1_; + gboolean _tmp3_; g_return_val_if_fail (self != NULL, FALSE); - if (self->priv->_player != NULL) { - _tmp0_ = self->priv->_mpris2_root != NULL; + _tmp1_ = self->priv->_player; + if (_tmp1_ != NULL) { + MprisRoot* _tmp2_; + _tmp2_ = self->priv->_mpris2_root; + _tmp0_ = _tmp2_ != NULL; } else { _tmp0_ = FALSE; } - result = _tmp0_; + _tmp3_ = _tmp0_; + result = _tmp3_; return result; } void mpris2_controller_expose (Mpris2Controller* self) { - gboolean _tmp0_; + gboolean _tmp0_ = FALSE; g_return_if_fail (self != NULL); _tmp0_ = mpris2_controller_connected (self); if (_tmp0_ == TRUE) { - mpris_root_Raise (self->priv->_mpris2_root, NULL, NULL); + MprisRoot* _tmp1_; + _tmp1_ = self->priv->_mpris2_root; + mpris_root_Raise (_tmp1_, NULL, NULL); } } static void mpris2_controller_on_playlistdetails_changed (Mpris2Controller* self, PlaylistDetails* details) { - gpointer _tmp0_ = NULL; - PlayerItem* _tmp1_; + PlayerController* _tmp0_; + GeeArrayList* _tmp1_; + gpointer _tmp2_ = NULL; PlaylistsMenuitem* playlists_item; + PlaylistDetails _tmp3_; g_return_if_fail (self != NULL); - _tmp0_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); - _tmp1_ = (PlayerItem*) _tmp0_; - playlists_item = IS_PLAYLISTS_MENUITEM (_tmp1_) ? ((PlaylistsMenuitem*) _tmp1_) : NULL; - playlists_menuitem_update_individual_playlist (playlists_item, details); + g_return_if_fail (details != NULL); + _tmp0_ = self->priv->_owner; + _tmp1_ = _tmp0_->custom_items; + _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _tmp1_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); + playlists_item = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp2_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp2_)) : NULL; + _tmp3_ = *details; + playlists_menuitem_update_individual_playlist (playlists_item, &_tmp3_); _g_object_unref0 (playlists_item); } static void mpris2_controller_fetch_playlists_data_free (gpointer _data) { - Mpris2ControllerFetchPlaylistsData* data; - data = _data; - _g_object_unref0 (data->self); - g_slice_free (Mpris2ControllerFetchPlaylistsData, data); + Mpris2ControllerFetchPlaylistsData* _data_; + _data_ = _data; + _g_object_unref0 (_data_->self); + g_slice_free (Mpris2ControllerFetchPlaylistsData, _data_); } @@ -895,10 +1082,12 @@ static gpointer _g_object_ref0 (gpointer self) { void mpris2_controller_fetch_playlists (Mpris2Controller* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { Mpris2ControllerFetchPlaylistsData* _data_; + Mpris2Controller* _tmp0_; _data_ = g_slice_new0 (Mpris2ControllerFetchPlaylistsData); _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, mpris2_controller_fetch_playlists); g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, mpris2_controller_fetch_playlists_data_free); - _data_->self = _g_object_ref0 (self); + _tmp0_ = _g_object_ref0 (self); + _data_->self = _tmp0_; mpris2_controller_fetch_playlists_co (_data_); } @@ -910,11 +1099,11 @@ void mpris2_controller_fetch_playlists_finish (Mpris2Controller* self, GAsyncRes static void mpris2_controller_fetch_playlists_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { - Mpris2ControllerFetchPlaylistsData* data; - data = _user_data_; - data->_source_object_ = source_object; - data->_res_ = _res_; - mpris2_controller_fetch_playlists_co (data); + Mpris2ControllerFetchPlaylistsData* _data_; + _data_ = _user_data_; + _data_->_source_object_ = source_object; + _data_->_res_ = _res_; + mpris2_controller_fetch_playlists_co (_data_); } @@ -942,8 +1131,8 @@ static gpointer __bool_dup0 (gpointer self) { } -static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* data) { - switch (data->_state_) { +static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlaylistsData* _data_) { + switch (_data_->_state_) { case 0: goto _state_0; case 1: @@ -952,103 +1141,134 @@ static gboolean mpris2_controller_fetch_playlists_co (Mpris2ControllerFetchPlayl g_assert_not_reached (); } _state_0: - data->current_playlists = NULL; - data->current_playlists_length1 = 0; - data->_current_playlists_size_ = 0; - data->_state_ = 1; - mpris_playlists_GetPlaylists (data->self->priv->_playlists, (guint32) 0, (guint32) MPRIS2_CONTROLLER_MAX_PLAYLIST_COUNT, "Alphabetical", FALSE, mpris2_controller_fetch_playlists_ready, data); - return FALSE; - _state_1: - data->_tmp1_ = NULL; - data->_tmp1_ = mpris_playlists_GetPlaylists_finish (data->self->priv->_playlists, data->_res_, &data->_tmp0_, &data->_inner_error_); - data->_tmp2_ = data->_tmp1_; - data->_tmp2__length1 = data->_tmp0_; - data->__tmp2__size_ = data->_tmp0_; - if (data->_inner_error_ != NULL) { - if (data->_inner_error_->domain == G_IO_ERROR) { - goto __catch11_g_io_error; - } - data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); - g_clear_error (&data->_inner_error_); + _data_->current_playlists = NULL; + _data_->current_playlists_length1 = 0; + _data_->_current_playlists_size_ = _data_->current_playlists_length1; + { + _data_->_tmp0_ = _data_->self->priv->_playlists; + _data_->_tmp1_ = 0; + _data_->_state_ = 1; + mpris_playlists_GetPlaylists (_data_->_tmp0_, (gint32) 0, (guint32) MPRIS2_CONTROLLER_MAX_PLAYLIST_COUNT, "Alphabetical", FALSE, mpris2_controller_fetch_playlists_ready, _data_); return FALSE; + _state_1: + _data_->_tmp2_ = NULL; + _data_->_tmp2_ = mpris_playlists_GetPlaylists_finish (_data_->_tmp0_, _data_->_res_, &_data_->_tmp1_, &_data_->_inner_error_); + _data_->_tmp3_ = _data_->_tmp2_; + _data_->_tmp3__length1 = _data_->_tmp1_; + _data_->__tmp3__size_ = _data_->_tmp3__length1; + if (_data_->_inner_error_ != NULL) { + if (_data_->_inner_error_->domain == G_IO_ERROR) { + goto __catch12_g_io_error; + } + _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); + g_clear_error (&_data_->_inner_error_); + return FALSE; + } + _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL); + _data_->current_playlists = _data_->_tmp3_; + _data_->current_playlists_length1 = _data_->_tmp3__length1; + _data_->_current_playlists_size_ = _data_->current_playlists_length1; } - data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL); - data->current_playlists = data->_tmp2_; - data->current_playlists_length1 = data->_tmp2__length1; - data->_current_playlists_size_ = data->_tmp2__length1; - goto __finally11; - __catch11_g_io_error: + goto __finally12; + __catch12_g_io_error: { - data->e = data->_inner_error_; - data->_inner_error_ = NULL; - _g_error_free0 (data->e); - data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL); - if (data->_state_ == 0) { - g_simple_async_result_complete_in_idle (data->_async_result); + _data_->e = _data_->_inner_error_; + _data_->_inner_error_ = NULL; + _g_error_free0 (_data_->e); + _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL); + if (_data_->_state_ == 0) { + g_simple_async_result_complete_in_idle (_data_->_async_result); } else { - g_simple_async_result_complete (data->_async_result); + g_simple_async_result_complete (_data_->_async_result); } - g_object_unref (data->_async_result); + g_object_unref (_data_->_async_result); return FALSE; } - __finally11: - if (data->_inner_error_ != NULL) { - data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL); - g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); - g_clear_error (&data->_inner_error_); + __finally12: + if (_data_->_inner_error_ != NULL) { + _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL); + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); + g_clear_error (&_data_->_inner_error_); return FALSE; } - if (data->current_playlists != NULL) { - data->_tmp3_ = NULL; - data->_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) data->self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); - data->_tmp4_ = (PlayerItem*) data->_tmp3_; - data->playlists_item = IS_PLAYLISTS_MENUITEM (data->_tmp4_) ? ((PlaylistsMenuitem*) data->_tmp4_) : NULL; - playlists_menuitem_update (data->playlists_item, data->current_playlists, data->current_playlists_length1); - _g_object_unref0 (data->playlists_item); + _data_->_tmp4_ = _data_->current_playlists; + _data_->_tmp4__length1 = _data_->current_playlists_length1; + if (_data_->_tmp4_ != NULL) { + _data_->_tmp5_ = _data_->self->priv->_owner; + _data_->_tmp6_ = _data_->_tmp5_->custom_items; + _data_->_tmp7_ = NULL; + _data_->_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _data_->_tmp6_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); + _data_->playlists_item = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _data_->_tmp7_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _data_->_tmp7_)) : NULL; + _data_->_tmp8_ = _data_->playlists_item; + _data_->_tmp9_ = _data_->current_playlists; + _data_->_tmp9__length1 = _data_->current_playlists_length1; + playlists_menuitem_update (_data_->_tmp8_, _data_->_tmp9_, _data_->_tmp9__length1); + _g_object_unref0 (_data_->playlists_item); } else { g_warning ("mpris2-controller.vala:243: Playlists are on but its returning no cur" \ "rent_playlists"); - data->_tmp5_ = FALSE; - data->_tmp6_ = __bool_dup0 (&data->_tmp5_); - _g_free0 (data->self->priv->_owner->use_playlists); - data->self->priv->_owner->use_playlists = data->_tmp6_; + _data_->_tmp10_ = _data_->self->priv->_owner; + _data_->_tmp11_ = FALSE; + _data_->_tmp12_ = __bool_dup0 (&_data_->_tmp11_); + _g_free0 (_data_->_tmp10_->use_playlists); + _data_->_tmp10_->use_playlists = _data_->_tmp12_; } - data->current_playlists = (_vala_PlaylistDetails_array_free (data->current_playlists, data->current_playlists_length1), NULL); - if (data->_state_ == 0) { - g_simple_async_result_complete_in_idle (data->_async_result); + _data_->current_playlists = (_vala_PlaylistDetails_array_free (_data_->current_playlists, _data_->current_playlists_length1), NULL); + if (_data_->_state_ == 0) { + g_simple_async_result_complete_in_idle (_data_->_async_result); } else { - g_simple_async_result_complete (data->_async_result); + g_simple_async_result_complete (_data_->_async_result); } - g_object_unref (data->_async_result); + g_object_unref (_data_->_async_result); return FALSE; } static gboolean mpris2_controller_fetch_active_playlist (Mpris2Controller* self) { gboolean result = FALSE; - ActivePlaylistContainer _tmp0_ = {0}; + MprisPlaylists* _tmp0_; ActivePlaylistContainer _tmp1_; - gboolean _tmp2_; - gpointer _tmp3_ = NULL; - PlayerItem* _tmp4_; + ActivePlaylistContainer _tmp2_; + ActivePlaylistContainer _tmp3_; + gboolean _tmp4_; + gboolean _tmp5_; + PlayerController* _tmp6_; + GeeArrayList* _tmp7_; + gpointer _tmp8_ = NULL; PlaylistsMenuitem* playlists_item; - ActivePlaylistContainer _tmp5_ = {0}; - ActivePlaylistContainer _tmp6_; + PlaylistsMenuitem* _tmp9_; + MprisPlaylists* _tmp10_; + ActivePlaylistContainer _tmp11_; + ActivePlaylistContainer _tmp12_; + ActivePlaylistContainer _tmp13_; + PlaylistDetails* _tmp14_; + PlaylistDetails _tmp15_; g_return_val_if_fail (self != NULL, FALSE); - mpris_playlists_get_ActivePlaylist (self->priv->_playlists, &_tmp0_); - _tmp1_ = _tmp0_; - _tmp2_ = _tmp1_.valid == FALSE; - active_playlist_container_destroy (&_tmp1_); - if (_tmp2_) { + _tmp0_ = self->priv->_playlists; + mpris_playlists_get_ActivePlaylist (_tmp0_, &_tmp1_); + _tmp2_ = _tmp1_; + _tmp3_ = _tmp2_; + _tmp4_ = _tmp3_.valid; + _tmp5_ = _tmp4_ == FALSE; + active_playlist_container_destroy (&_tmp3_); + if (_tmp5_) { + result = FALSE; + return result; } - _tmp3_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->_owner->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); - _tmp4_ = (PlayerItem*) _tmp3_; - playlists_item = IS_PLAYLISTS_MENUITEM (_tmp4_) ? ((PlaylistsMenuitem*) _tmp4_) : NULL; - mpris_playlists_get_ActivePlaylist (self->priv->_playlists, &_tmp5_); - _tmp6_ = _tmp5_; - playlists_menuitem_active_playlist_update (playlists_item, &_tmp6_.details); - active_playlist_container_destroy (&_tmp6_); + _tmp6_ = self->priv->_owner; + _tmp7_ = _tmp6_->custom_items; + _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); + playlists_item = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp8_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp8_)) : NULL; + _tmp9_ = playlists_item; + _tmp10_ = self->priv->_playlists; + mpris_playlists_get_ActivePlaylist (_tmp10_, &_tmp11_); + _tmp12_ = _tmp11_; + _tmp13_ = _tmp12_; + _tmp14_ = _tmp13_.details; + _tmp15_ = *_tmp14_; + playlists_menuitem_active_playlist_update (_tmp9_, &_tmp15_); + active_playlist_container_destroy (&_tmp13_); result = FALSE; _g_object_unref0 (playlists_item); return result; @@ -1059,17 +1279,29 @@ void mpris2_controller_activate_playlist (Mpris2Controller* self, const char* pa GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (path != NULL); - mpris_playlists_ActivatePlaylist (self->priv->_playlists, path, NULL, NULL); - goto __finally12; - __catch12_g_io_error: { - GError * e; + MprisPlaylists* _tmp0_; + const char* _tmp1_; + _tmp0_ = self->priv->_playlists; + _tmp1_ = path; + mpris_playlists_ActivatePlaylist (_tmp0_, _tmp1_, NULL, NULL); + } + goto __finally13; + __catch13_g_io_error: + { + GError* e = NULL; + const char* _tmp2_; + GError* _tmp3_; + const gchar* _tmp4_; e = _inner_error_; _inner_error_ = NULL; - g_warning ("mpris2-controller.vala:265: Could not activate playlist %s because %s", (const gchar*) path, e->message); + _tmp2_ = path; + _tmp3_ = e; + _tmp4_ = _tmp3_->message; + g_warning ("mpris2-controller.vala:264: Could not activate playlist %s because %s", (const gchar*) _tmp2_, _tmp4_); _g_error_free0 (e); } - __finally12: + __finally13: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -1080,90 +1312,110 @@ void mpris2_controller_activate_playlist (Mpris2Controller* self, const char* pa MprisRoot* mpris2_controller_get_mpris2_root (Mpris2Controller* self) { MprisRoot* result; + MprisRoot* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_mpris2_root; + _tmp0_ = self->priv->_mpris2_root; + result = _tmp0_; return result; } static void mpris2_controller_set_mpris2_root (Mpris2Controller* self, MprisRoot* value) { MprisRoot* _tmp0_; + MprisRoot* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_mpris2_root); - self->priv->_mpris2_root = _tmp0_; + self->priv->_mpris2_root = _tmp1_; g_object_notify ((GObject *) self, "mpris2-root"); } MprisPlayer* mpris2_controller_get_player (Mpris2Controller* self) { MprisPlayer* result; + MprisPlayer* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_player; + _tmp0_ = self->priv->_player; + result = _tmp0_; return result; } static void mpris2_controller_set_player (Mpris2Controller* self, MprisPlayer* value) { MprisPlayer* _tmp0_; + MprisPlayer* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_player); - self->priv->_player = _tmp0_; + self->priv->_player = _tmp1_; g_object_notify ((GObject *) self, "player"); } MprisPlaylists* mpris2_controller_get_playlists (Mpris2Controller* self) { MprisPlaylists* result; + MprisPlaylists* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_playlists; + _tmp0_ = self->priv->_playlists; + result = _tmp0_; return result; } static void mpris2_controller_set_playlists (Mpris2Controller* self, MprisPlaylists* value) { MprisPlaylists* _tmp0_; + MprisPlaylists* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_playlists); - self->priv->_playlists = _tmp0_; + self->priv->_playlists = _tmp1_; g_object_notify ((GObject *) self, "playlists"); } FreeDesktopProperties* mpris2_controller_get_properties_interface (Mpris2Controller* self) { FreeDesktopProperties* result; + FreeDesktopProperties* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_properties_interface; + _tmp0_ = self->priv->_properties_interface; + result = _tmp0_; return result; } static void mpris2_controller_set_properties_interface (Mpris2Controller* self, FreeDesktopProperties* value) { FreeDesktopProperties* _tmp0_; + FreeDesktopProperties* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_properties_interface); - self->priv->_properties_interface = _tmp0_; + self->priv->_properties_interface = _tmp1_; g_object_notify ((GObject *) self, "properties-interface"); } PlayerController* mpris2_controller_get_owner (Mpris2Controller* self) { PlayerController* result; + PlayerController* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_owner; + _tmp0_ = self->priv->_owner; + result = _tmp0_; return result; } static void mpris2_controller_set_owner (Mpris2Controller* self, PlayerController* value) { PlayerController* _tmp0_; + PlayerController* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_owner); - self->priv->_owner = _tmp0_; + self->priv->_owner = _tmp1_; g_object_notify ((GObject *) self, "owner"); } @@ -1182,92 +1434,118 @@ static GObject * mpris2_controller_constructor (GType type, guint n_construct_pr GObject * obj; GObjectClass * parent_class; Mpris2Controller * self; - const gchar* _tmp0_ = NULL; - MprisRoot* _tmp1_ = NULL; - MprisRoot* _tmp2_; - MprisRoot* _tmp3_; - const gchar* _tmp4_ = NULL; - MprisPlayer* _tmp5_ = NULL; - MprisPlayer* _tmp6_; - MprisPlayer* _tmp7_; - FreeDesktopProperties* _tmp8_ = NULL; - FreeDesktopProperties* _tmp9_; - FreeDesktopProperties* _tmp10_; - gboolean _tmp11_; GError * _inner_error_ = NULL; parent_class = G_OBJECT_CLASS (mpris2_controller_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = MPRIS2_CONTROLLER (obj); - _tmp0_ = player_controller_get_dbus_name (self->priv->_owner); - _tmp1_ = g_initable_new (TYPE_MPRIS_ROOT_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp0_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2", NULL); - _tmp2_ = (MprisRoot*) _tmp1_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_IO_ERROR) { - goto __catch13_g_io_error; - } - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - } - _tmp3_ = _tmp2_; - mpris2_controller_set_mpris2_root (self, _tmp3_); - _g_object_unref0 (_tmp3_); - _tmp4_ = player_controller_get_dbus_name (self->priv->_owner); - _tmp5_ = g_initable_new (TYPE_MPRIS_PLAYER_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp4_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL); - _tmp6_ = (MprisPlayer*) _tmp5_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_IO_ERROR) { - goto __catch13_g_io_error; + { + PlayerController* _tmp0_; + const gchar* _tmp1_; + const gchar* _tmp2_; + MprisRoot* _tmp3_ = NULL; + MprisRoot* _tmp4_; + MprisRoot* _tmp5_; + PlayerController* _tmp6_; + const gchar* _tmp7_; + const gchar* _tmp8_; + MprisPlayer* _tmp9_ = NULL; + MprisPlayer* _tmp10_; + MprisPlayer* _tmp11_; + FreeDesktopProperties* _tmp12_ = NULL; + FreeDesktopProperties* _tmp13_; + FreeDesktopProperties* _tmp14_; + FreeDesktopProperties* _tmp15_; + PlayerController* _tmp16_; + gboolean* _tmp17_; + gboolean _tmp18_; + _tmp0_ = self->priv->_owner; + _tmp1_ = player_controller_get_dbus_name (_tmp0_); + _tmp2_ = _tmp1_; + _tmp3_ = g_initable_new (TYPE_MPRIS_ROOT_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp2_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2", NULL); + _tmp4_ = (MprisRoot*) _tmp3_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_IO_ERROR) { + goto __catch14_g_io_error; + } + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); } - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - } - _tmp7_ = _tmp6_; - mpris2_controller_set_player (self, _tmp7_); - _g_object_unref0 (_tmp7_); - _tmp8_ = g_initable_new (TYPE_FREE_DESKTOP_PROPERTIES_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", "org.freedesktop.Properties.PropertiesChanged", "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.freedesktop.DBus.Properties", NULL); - _tmp9_ = (FreeDesktopProperties*) _tmp8_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_IO_ERROR) { - goto __catch13_g_io_error; + _tmp5_ = _tmp4_; + mpris2_controller_set_mpris2_root (self, _tmp5_); + _g_object_unref0 (_tmp5_); + _tmp6_ = self->priv->_owner; + _tmp7_ = player_controller_get_dbus_name (_tmp6_); + _tmp8_ = _tmp7_; + _tmp9_ = g_initable_new (TYPE_MPRIS_PLAYER_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp8_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL); + _tmp10_ = (MprisPlayer*) _tmp9_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_IO_ERROR) { + goto __catch14_g_io_error; + } + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); } - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - } - _tmp10_ = _tmp9_; - mpris2_controller_set_properties_interface (self, _tmp10_); - _g_object_unref0 (_tmp10_); - g_signal_connect_object (self->priv->_properties_interface, "properties-changed", (GCallback) _mpris2_controller_property_changed_cb_free_desktop_properties_properties_changed, self, 0); - _tmp11_ = TRUE; - if (_bool_equal (self->priv->_owner->use_playlists, &_tmp11_) == TRUE) { - const gchar* _tmp12_ = NULL; - MprisPlaylists* _tmp13_ = NULL; - MprisPlaylists* _tmp14_; - MprisPlaylists* _tmp15_; - _tmp12_ = player_controller_get_dbus_name (self->priv->_owner); - _tmp13_ = g_initable_new (TYPE_MPRIS_PLAYLISTS_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp12_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Playlists", NULL); - _tmp14_ = (MprisPlaylists*) _tmp13_; + _tmp11_ = _tmp10_; + mpris2_controller_set_player (self, _tmp11_); + _g_object_unref0 (_tmp11_); + _tmp12_ = g_initable_new (TYPE_FREE_DESKTOP_PROPERTIES_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", "org.freedesktop.Properties.PropertiesChanged", "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.freedesktop.DBus.Properties", NULL); + _tmp13_ = (FreeDesktopProperties*) _tmp12_; if (_inner_error_ != NULL) { if (_inner_error_->domain == G_IO_ERROR) { - goto __catch13_g_io_error; + goto __catch14_g_io_error; } g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); } - _tmp15_ = _tmp14_; - mpris2_controller_set_playlists (self, _tmp15_); - _g_object_unref0 (_tmp15_); - g_signal_connect_object (self->priv->_playlists, "playlist-changed", (GCallback) _mpris2_controller_on_playlistdetails_changed_mpris_playlists_playlist_changed, self, 0); + _tmp14_ = _tmp13_; + mpris2_controller_set_properties_interface (self, _tmp14_); + _g_object_unref0 (_tmp14_); + _tmp15_ = self->priv->_properties_interface; + g_signal_connect_object (_tmp15_, "properties-changed", (GCallback) _mpris2_controller_property_changed_cb_free_desktop_properties_properties_changed, self, 0); + _tmp16_ = self->priv->_owner; + _tmp17_ = _tmp16_->use_playlists; + _tmp18_ = TRUE; + if (_bool_equal (_tmp17_, &_tmp18_) == TRUE) { + PlayerController* _tmp19_; + const gchar* _tmp20_; + const gchar* _tmp21_; + MprisPlaylists* _tmp22_ = NULL; + MprisPlaylists* _tmp23_; + MprisPlaylists* _tmp24_; + MprisPlaylists* _tmp25_; + _tmp19_ = self->priv->_owner; + _tmp20_ = player_controller_get_dbus_name (_tmp19_); + _tmp21_ = _tmp20_; + _tmp22_ = g_initable_new (TYPE_MPRIS_PLAYLISTS_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp21_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", "/org/mpris/MediaPlayer2", "g-interface-name", "org.mpris.MediaPlayer2.Playlists", NULL); + _tmp23_ = (MprisPlaylists*) _tmp22_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_IO_ERROR) { + goto __catch14_g_io_error; + } + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + } + _tmp24_ = _tmp23_; + mpris2_controller_set_playlists (self, _tmp24_); + _g_object_unref0 (_tmp24_); + _tmp25_ = self->priv->_playlists; + g_signal_connect_object (_tmp25_, "playlist-changed", (GCallback) _mpris2_controller_on_playlistdetails_changed_mpris_playlists_playlist_changed, self, 0); + } } - goto __finally13; - __catch13_g_io_error: + goto __finally14; + __catch14_g_io_error: { - GError * e; + GError* e = NULL; + GError* _tmp26_; + const gchar* _tmp27_; e = _inner_error_; _inner_error_ = NULL; - g_critical ("mpris2-controller.vala:57: Problems connecting to the session bus - %s", e->message); + _tmp26_ = e; + _tmp27_ = _tmp26_->message; + g_critical ("mpris2-controller.vala:57: Problems connecting to the session bus - %s", _tmp27_); _g_error_free0 (e); } - __finally13: + __finally14: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); diff --git a/src/mpris2-controller.vala b/src/mpris2-controller.vala index cc80a86..0fa7b6c 100644 --- a/src/mpris2-controller.vala +++ b/src/mpris2-controller.vala @@ -248,8 +248,7 @@ public class Mpris2Controller : GLib.Object private bool fetch_active_playlist() { if (this.playlists.ActivePlaylist.valid == false){ - // TODO - // What happens here ? + return false; } PlaylistsMenuitem playlists_item = this.owner.custom_items[PlayerController.widget_order.PLAYLISTS] as PlaylistsMenuitem; playlists_item.active_playlist_update ( this.playlists.ActivePlaylist.details ); diff --git a/src/mpris2-interfaces.c b/src/mpris2-interfaces.c index b288a8f..d5d0bce 100644 --- a/src/mpris2-interfaces.c +++ b/src/mpris2-interfaces.c @@ -1,4 +1,4 @@ -/* mpris2-interfaces.c generated by valac 0.12.1, the Vala compiler +/* mpris2-interfaces.c generated by valac 0.14.2, the Vala compiler * generated from mpris2-interfaces.vala, do not modify */ /* @@ -57,6 +57,7 @@ typedef struct _PlaylistDetails PlaylistDetails; #define TYPE_ACTIVE_PLAYLIST_CONTAINER (active_playlist_container_get_type ()) typedef struct _ActivePlaylistContainer ActivePlaylistContainer; +#define _playlist_details_free0(var) ((var == NULL) ? NULL : (var = (playlist_details_free (var), NULL))) #define TYPE_MPRIS_PLAYLISTS (mpris_playlists_get_type ()) #define MPRIS_PLAYLISTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MPRIS_PLAYLISTS, MprisPlaylists)) @@ -114,14 +115,14 @@ struct _PlaylistDetails { struct _ActivePlaylistContainer { gboolean valid; - PlaylistDetails details; + PlaylistDetails* details; }; struct _MprisPlaylistsIface { GTypeInterface parent_iface; void (*ActivatePlaylist) (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*ActivatePlaylist_finish) (MprisPlaylists* self, GAsyncResult* _res_, GError** error); - void (*GetPlaylists) (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); + void (*GetPlaylists) (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* (*GetPlaylists_finish) (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); gchar** (*get_Orderings) (MprisPlaylists* self, int* result_length1); void (*set_Orderings) (MprisPlaylists* self, gchar** value, int value_length1); @@ -256,7 +257,7 @@ guint mpris_playlists_register_object (void* object, GDBusConnection* connection GType mpris_playlists_get_type (void) G_GNUC_CONST; void mpris_playlists_ActivatePlaylist (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); void mpris_playlists_ActivatePlaylist_finish (MprisPlaylists* self, GAsyncResult* _res_, GError** error); -void mpris_playlists_GetPlaylists (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); +void mpris_playlists_GetPlaylists (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* mpris_playlists_GetPlaylists_finish (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); gchar** mpris_playlists_get_Orderings (MprisPlaylists* self, int* result_length1); void mpris_playlists_set_Orderings (MprisPlaylists* self, gchar** value, int value_length1); @@ -269,7 +270,7 @@ static void mpris_playlists_proxy_g_signal (GDBusProxy* proxy, const gchar* send 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_); +static void mpris_playlists_proxy_GetPlaylists_async (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); static PlaylistDetails* mpris_playlists_proxy_GetPlaylists_finish (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); static gchar** mpris_playlists_dbus_proxy_get_Orderings (MprisPlaylists* self, int* result_length1); static void mpris_playlists_dbus_proxy_set_Orderings (MprisPlaylists* self, gchar** value, int value_length1); @@ -341,7 +342,7 @@ static const GDBusArgInfo _mpris_playlists_dbus_arg_info_ActivatePlaylist_playli static const GDBusArgInfo * const _mpris_playlists_dbus_arg_info_ActivatePlaylist_in[] = {&_mpris_playlists_dbus_arg_info_ActivatePlaylist_playlist_id, NULL}; static const GDBusArgInfo * const _mpris_playlists_dbus_arg_info_ActivatePlaylist_out[] = {NULL}; static const GDBusMethodInfo _mpris_playlists_dbus_method_info_ActivatePlaylist = {-1, "ActivatePlaylist", (GDBusArgInfo **) (&_mpris_playlists_dbus_arg_info_ActivatePlaylist_in), (GDBusArgInfo **) (&_mpris_playlists_dbus_arg_info_ActivatePlaylist_out)}; -static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_index = {-1, "index", "u"}; +static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_index = {-1, "index", "i"}; static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_max_count = {-1, "max_count", "u"}; static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_order = {-1, "order", "s"}; static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_reverse_order = {-1, "reverse_order", "b"}; @@ -382,51 +383,61 @@ void mpris_root_Raise_finish (MprisRoot* self, GAsyncResult* _res_, GError** err gboolean mpris_root_get_HasTracklist (MprisRoot* self) { + g_return_val_if_fail (self != NULL, FALSE); return MPRIS_ROOT_GET_INTERFACE (self)->get_HasTracklist (self); } void mpris_root_set_HasTracklist (MprisRoot* self, gboolean value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_HasTracklist (self, value); } gboolean mpris_root_get_CanQuit (MprisRoot* self) { + g_return_val_if_fail (self != NULL, FALSE); return MPRIS_ROOT_GET_INTERFACE (self)->get_CanQuit (self); } void mpris_root_set_CanQuit (MprisRoot* self, gboolean value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_CanQuit (self, value); } gboolean mpris_root_get_CanRaise (MprisRoot* self) { + g_return_val_if_fail (self != NULL, FALSE); return MPRIS_ROOT_GET_INTERFACE (self)->get_CanRaise (self); } void mpris_root_set_CanRaise (MprisRoot* self, gboolean value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_CanRaise (self, value); } gchar* mpris_root_get_Identity (MprisRoot* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_ROOT_GET_INTERFACE (self)->get_Identity (self); } void mpris_root_set_Identity (MprisRoot* self, const gchar* value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_Identity (self, value); } gchar* mpris_root_get_DesktopEntry (MprisRoot* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_ROOT_GET_INTERFACE (self)->get_DesktopEntry (self); } void mpris_root_set_DesktopEntry (MprisRoot* self, const gchar* value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_DesktopEntry (self, value); } @@ -875,7 +886,7 @@ static GVariant* _dbus_mpris_root_get_Identity (MprisRoot* self) { GVariant* _reply; result = mpris_root_get_Identity (self); _reply = g_variant_new_string (result); - _g_free0 ( result); + _g_free0 (result); return _reply; } @@ -885,7 +896,7 @@ static GVariant* _dbus_mpris_root_get_DesktopEntry (MprisRoot* self) { GVariant* _reply; result = mpris_root_get_DesktopEntry (self); _reply = g_variant_new_string (result); - _g_free0 ( result); + _g_free0 (result); return _reply; } @@ -1038,31 +1049,37 @@ void mpris_player_Seek_finish (MprisPlayer* self, GAsyncResult* _res_, GError** GHashTable* mpris_player_get_Metadata (MprisPlayer* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_PLAYER_GET_INTERFACE (self)->get_Metadata (self); } void mpris_player_set_Metadata (MprisPlayer* self, GHashTable* value) { + g_return_if_fail (self != NULL); MPRIS_PLAYER_GET_INTERFACE (self)->set_Metadata (self, value); } gint32 mpris_player_get_Position (MprisPlayer* self) { + g_return_val_if_fail (self != NULL, 0); return MPRIS_PLAYER_GET_INTERFACE (self)->get_Position (self); } void mpris_player_set_Position (MprisPlayer* self, gint32 value) { + g_return_if_fail (self != NULL); MPRIS_PLAYER_GET_INTERFACE (self)->set_Position (self, value); } gchar* mpris_player_get_PlaybackStatus (MprisPlayer* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_PLAYER_GET_INTERFACE (self)->get_PlaybackStatus (self); } void mpris_player_set_PlaybackStatus (MprisPlayer* self, const gchar* value) { + g_return_if_fail (self != NULL); MPRIS_PLAYER_GET_INTERFACE (self)->set_PlaybackStatus (self, value); } @@ -1071,7 +1088,8 @@ static void g_cclosure_user_marshal_VOID__INT64 (GClosure * closure, GValue * re typedef void (*GMarshalFunc_VOID__INT64) (gpointer data1, gint64 arg_1, gpointer data2); register GMarshalFunc_VOID__INT64 callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -1583,7 +1601,7 @@ static GVariant* _dbus_mpris_player_get_Metadata (MprisPlayer* self) { g_variant_builder_add (&_tmp10_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value)); } _reply = g_variant_builder_end (&_tmp10_); - _g_hash_table_unref0 ( result); + _g_hash_table_unref0 (result); return _reply; } @@ -1602,7 +1620,7 @@ static GVariant* _dbus_mpris_player_get_PlaybackStatus (MprisPlayer* self) { GVariant* _reply; result = mpris_player_get_PlaybackStatus (self); _reply = g_variant_new_string (result); - _g_free0 ( result); + _g_free0 (result); return _reply; } @@ -1707,6 +1725,7 @@ guint mpris_player_register_object (gpointer object, GDBusConnection* connection static void _mpris_player_unregister_object (gpointer user_data) { gpointer* data; data = user_data; + g_signal_handlers_disconnect_by_func (data[0], _dbus_mpris_player_seeked, data); g_object_unref (data[0]); g_object_unref (data[1]); g_free (data[2]); @@ -1715,9 +1734,24 @@ static void _mpris_player_unregister_object (gpointer user_data) { void playlist_details_copy (const PlaylistDetails* self, PlaylistDetails* dest) { - dest->path = g_strdup (self->path); - dest->name = g_strdup (self->name); - dest->icon_path = g_strdup (self->icon_path); + const char* _tmp0_; + char* _tmp1_; + const gchar* _tmp2_; + gchar* _tmp3_; + const gchar* _tmp4_; + gchar* _tmp5_; + _tmp0_ = (*self).path; + _tmp1_ = g_strdup (_tmp0_); + _g_free0 ((*dest).path); + (*dest).path = _tmp1_; + _tmp2_ = (*self).name; + _tmp3_ = g_strdup (_tmp2_); + _g_free0 ((*dest).name); + (*dest).name = _tmp3_; + _tmp4_ = (*self).icon_path; + _tmp5_ = g_strdup (_tmp4_); + _g_free0 ((*dest).icon_path); + (*dest).icon_path = _tmp5_; } @@ -1753,16 +1787,26 @@ GType playlist_details_get_type (void) { } +static gpointer _playlist_details_dup0 (gpointer self) { + return self ? playlist_details_dup (self) : NULL; +} + + void active_playlist_container_copy (const ActivePlaylistContainer* self, ActivePlaylistContainer* dest) { - PlaylistDetails _tmp0_ = {0}; - dest->valid = self->valid; - playlist_details_copy (&self->details, &_tmp0_); - dest->details = _tmp0_; + gboolean _tmp0_; + PlaylistDetails* _tmp1_; + PlaylistDetails* _tmp2_; + _tmp0_ = (*self).valid; + (*dest).valid = _tmp0_; + _tmp1_ = (*self).details; + _tmp2_ = _playlist_details_dup0 (_tmp1_); + _playlist_details_free0 ((*dest).details); + (*dest).details = _tmp2_; } void active_playlist_container_destroy (ActivePlaylistContainer* self) { - playlist_details_destroy (&(*self).details); + _playlist_details_free0 ((*self).details); } @@ -1801,7 +1845,7 @@ void mpris_playlists_ActivatePlaylist_finish (MprisPlaylists* self, GAsyncResult } -void mpris_playlists_GetPlaylists (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_) { +void mpris_playlists_GetPlaylists (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_) { MPRIS_PLAYLISTS_GET_INTERFACE (self)->GetPlaylists (self, index, max_count, order, reverse_order, _callback_, _user_data_); } @@ -1812,31 +1856,37 @@ PlaylistDetails* mpris_playlists_GetPlaylists_finish (MprisPlaylists* self, GAsy gchar** mpris_playlists_get_Orderings (MprisPlaylists* self, int* result_length1) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_PLAYLISTS_GET_INTERFACE (self)->get_Orderings (self, result_length1); } void mpris_playlists_set_Orderings (MprisPlaylists* self, gchar** value, int value_length1) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->set_Orderings (self, value, value_length1); } guint32 mpris_playlists_get_PlaylistCount (MprisPlaylists* self) { + g_return_val_if_fail (self != NULL, 0U); return MPRIS_PLAYLISTS_GET_INTERFACE (self)->get_PlaylistCount (self); } void mpris_playlists_set_PlaylistCount (MprisPlaylists* self, guint32 value) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->set_PlaylistCount (self, value); } void mpris_playlists_get_ActivePlaylist (MprisPlaylists* self, ActivePlaylistContainer* result) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->get_ActivePlaylist (self, result); } void mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, ActivePlaylistContainer* value) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->set_ActivePlaylist (self, value); } @@ -1845,7 +1895,8 @@ static void g_cclosure_user_marshal_VOID__BOXED (GClosure * closure, GValue * re typedef void (*GMarshalFunc_VOID__BOXED) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_VOID__BOXED callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -1959,14 +2010,14 @@ static void mpris_playlists_proxy_ActivatePlaylist_finish (MprisPlaylists* self, } -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_) { +static void mpris_playlists_proxy_GetPlaylists_async (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_) { GDBusMessage *_message; GVariant *_arguments; GVariantBuilder _arguments_builder; G_IO_ERROR; _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Playlists", "GetPlaylists"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (index)); + g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (index)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (max_count)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (order)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (reverse_order)); @@ -2202,7 +2253,7 @@ static void mpris_playlists_dbus_proxy_get_ActivePlaylist (MprisPlaylists* self, _tmp47_ = g_variant_iter_next_value (&_tmp44_); _tmp43_.icon_path = g_variant_dup_string (_tmp47_, NULL); g_variant_unref (_tmp47_); - _tmp39_.details = _tmp43_; + _tmp39_.details = g_memdup (&_tmp43_, sizeof (PlaylistDetails)); g_variant_unref (_tmp42_); *result = _tmp39_; g_variant_unref (_inner_reply); @@ -2223,9 +2274,9 @@ static void mpris_playlists_dbus_proxy_set_ActivePlaylist (MprisPlaylists* self, g_variant_builder_init (&_tmp48_, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_tmp48_, g_variant_new_boolean ((*value).valid)); g_variant_builder_init (&_tmp49_, G_VARIANT_TYPE_TUPLE); - g_variant_builder_add_value (&_tmp49_, g_variant_new_object_path ((*value).details.path)); - g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*value).details.name)); - g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*value).details.icon_path)); + g_variant_builder_add_value (&_tmp49_, g_variant_new_object_path ((*(*value).details).path)); + g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*(*value).details).name)); + g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*(*value).details).icon_path)); g_variant_builder_add_value (&_tmp48_, g_variant_builder_end (&_tmp49_)); g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp48_)); g_variant_builder_close (&_arguments_builder); @@ -2289,7 +2340,7 @@ 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; + gint32 index = 0; GVariant* _tmp51_; guint32 max_count = 0U; GVariant* _tmp52_; @@ -2299,7 +2350,7 @@ static void _dbus_mpris_playlists_GetPlaylists (MprisPlaylists* self, GVariant* GVariant* _tmp54_; g_variant_iter_init (&_arguments_iter, parameters); _tmp51_ = g_variant_iter_next_value (&_arguments_iter); - index = g_variant_get_uint32 (_tmp51_); + index = g_variant_get_int32 (_tmp51_); g_variant_unref (_tmp51_); _tmp52_ = g_variant_iter_next_value (&_arguments_iter); max_count = g_variant_get_uint32 (_tmp52_); @@ -2357,7 +2408,7 @@ static void _dbus_mpris_playlists_GetPlaylists_ready (GObject * source_object, G _tmp55_++; } g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp56_)); - result = (_vala_PlaylistDetails_array_free ( result, result_length1), NULL); + result = (_vala_PlaylistDetails_array_free (result, result_length1), NULL); _reply = g_variant_builder_end (&_reply_builder); g_dbus_message_set_body (_reply_message, _reply); g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); @@ -2396,7 +2447,7 @@ static GVariant* _dbus_mpris_playlists_get_Orderings (MprisPlaylists* self) { _tmp59_++; } _reply = g_variant_builder_end (&_tmp60_); - result = (_vala_array_free ( result, result_length1, (GDestroyNotify) g_free), NULL); + result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL); return _reply; } @@ -2419,12 +2470,12 @@ static GVariant* _dbus_mpris_playlists_get_ActivePlaylist (MprisPlaylists* self) g_variant_builder_init (&_tmp62_, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_tmp62_, g_variant_new_boolean (result.valid)); g_variant_builder_init (&_tmp63_, G_VARIANT_TYPE_TUPLE); - g_variant_builder_add_value (&_tmp63_, g_variant_new_object_path (result.details.path)); - g_variant_builder_add_value (&_tmp63_, g_variant_new_string (result.details.name)); - g_variant_builder_add_value (&_tmp63_, g_variant_new_string (result.details.icon_path)); + g_variant_builder_add_value (&_tmp63_, g_variant_new_object_path ((*result.details).path)); + g_variant_builder_add_value (&_tmp63_, g_variant_new_string ((*result.details).name)); + g_variant_builder_add_value (&_tmp63_, g_variant_new_string ((*result.details).icon_path)); g_variant_builder_add_value (&_tmp62_, g_variant_builder_end (&_tmp63_)); _reply = g_variant_builder_end (&_tmp62_); - active_playlist_container_destroy (& result); + active_playlist_container_destroy (&result); return _reply; } @@ -2508,7 +2559,7 @@ static void _dbus_mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, GVar _tmp75_ = g_variant_iter_next_value (&_tmp72_); _tmp71_.icon_path = g_variant_dup_string (_tmp75_, NULL); g_variant_unref (_tmp75_); - _tmp67_.details = _tmp71_; + _tmp67_.details = g_memdup (&_tmp71_, sizeof (PlaylistDetails)); g_variant_unref (_tmp70_); value = _tmp67_; mpris_playlists_set_ActivePlaylist (self, &value); @@ -2573,6 +2624,7 @@ guint mpris_playlists_register_object (gpointer object, GDBusConnection* connect static void _mpris_playlists_unregister_object (gpointer user_data) { gpointer* data; data = user_data; + g_signal_handlers_disconnect_by_func (data[0], _dbus_mpris_playlists_playlist_changed, data); g_object_unref (data[0]); g_object_unref (data[1]); g_free (data[2]); diff --git a/src/mpris2-interfaces.vala b/src/mpris2-interfaces.vala index 5dab1d2..ee86c2b 100644 --- a/src/mpris2-interfaces.vala +++ b/src/mpris2-interfaces.vala @@ -49,15 +49,15 @@ public interface MprisPlayer : Object { // Playlist container public struct PlaylistDetails{ - public ObjectPath path; - public string name; - public string icon_path; + public ObjectPath? path; + public string? name; + public string? icon_path; } // Active playlist property container public struct ActivePlaylistContainer{ public bool valid; - public PlaylistDetails details; + public PlaylistDetails? details; } [DBus (name = "org.mpris.MediaPlayer2.Playlists")] @@ -69,11 +69,11 @@ public interface MprisPlaylists : Object { //methods public abstract async void ActivatePlaylist(ObjectPath playlist_id) throws IOError; - public abstract async PlaylistDetails[] GetPlaylists ( uint32 index, + public abstract async PlaylistDetails[]? GetPlaylists ( int32 index, uint32 max_count, string order, bool reverse_order ) throws IOError; //signals public signal void PlaylistChanged (PlaylistDetails details); -} \ No newline at end of file +} diff --git a/src/mpris2-watcher.c b/src/mpris2-watcher.c index 3b4c72d..7379c72 100644 --- a/src/mpris2-watcher.c +++ b/src/mpris2-watcher.c @@ -1,4 +1,4 @@ -/* mpris2-watcher.c generated by valac 0.12.1, the Vala compiler +/* mpris2-watcher.c generated by valac 0.14.2, the Vala compiler * generated from mpris2-watcher.vala, do not modify */ /* @@ -120,24 +120,38 @@ struct _Mpris2WatcherCheckForActiveClientsData { gchar** interfaces; gint interfaces_length1; gint _interfaces_size_; - gint _tmp0_; - gchar** _tmp1_; + FreeDesktopObject* _tmp0_; + gint _tmp1_; gchar** _tmp2_; - gint _tmp2__length1; - gint __tmp2__size_; - GError * e; + gchar** _tmp3_; + gint _tmp3__length1; + gint __tmp3__size_; + GError* e; + GError* _tmp4_; + const gchar* _tmp5_; + gchar** _tmp6_; + gint _tmp6__length1; gchar** address_collection; - int address_collection_length1; - int address_it; - gchar* _tmp3_; + gint address_collection_length1; + gint _address_collection_size_; + gint address_it; + gchar* _tmp7_; gchar* address; - gboolean _tmp4_; - MprisRoot* _tmp5_; + const gchar* _tmp8_; + gboolean _tmp9_; + const gchar* _tmp10_; + MprisRoot* _tmp11_; MprisRoot* mpris2_root; - gboolean _tmp6_; + MprisRoot* _tmp12_; + const gchar* _tmp13_; + gboolean _tmp14_; gboolean use_playlists; - gchar* _tmp7_; - gchar* _tmp8_; + MprisRoot* _tmp15_; + gchar* _tmp16_; + gchar* _tmp17_; + gchar* _tmp18_; + const gchar* _tmp19_; + gboolean _tmp20_; GError * _inner_error_; }; @@ -162,7 +176,7 @@ Mpris2Watcher* mpris2_watcher_construct (GType object_type); static void mpris2_watcher_check_for_active_clients_data_free (gpointer _data); void mpris2_watcher_check_for_active_clients (Mpris2Watcher* self, GAsyncReadyCallback _callback_, gpointer _user_data_); void mpris2_watcher_check_for_active_clients_finish (Mpris2Watcher* self, GAsyncResult* _res_); -static gboolean mpris2_watcher_check_for_active_clients_co (Mpris2WatcherCheckForActiveClientsData* data); +static gboolean mpris2_watcher_check_for_active_clients_co (Mpris2WatcherCheckForActiveClientsData* _data_); void free_desktop_object_list_names (FreeDesktopObject* self, GAsyncReadyCallback _callback_, gpointer _user_data_); gchar** free_desktop_object_list_names_finish (FreeDesktopObject* self, GAsyncResult* _res_, int* result_length1, GError** error); static void mpris2_watcher_check_for_active_clients_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); @@ -203,10 +217,10 @@ Mpris2Watcher* mpris2_watcher_new (void) { static void mpris2_watcher_check_for_active_clients_data_free (gpointer _data) { - Mpris2WatcherCheckForActiveClientsData* data; - data = _data; - _g_object_unref0 (data->self); - g_slice_free (Mpris2WatcherCheckForActiveClientsData, data); + Mpris2WatcherCheckForActiveClientsData* _data_; + _data_ = _data; + _g_object_unref0 (_data_->self); + g_slice_free (Mpris2WatcherCheckForActiveClientsData, _data_); } @@ -217,10 +231,12 @@ static gpointer _g_object_ref0 (gpointer self) { void mpris2_watcher_check_for_active_clients (Mpris2Watcher* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { Mpris2WatcherCheckForActiveClientsData* _data_; + Mpris2Watcher* _tmp0_; _data_ = g_slice_new0 (Mpris2WatcherCheckForActiveClientsData); _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, mpris2_watcher_check_for_active_clients); g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, mpris2_watcher_check_for_active_clients_data_free); - _data_->self = _g_object_ref0 (self); + _tmp0_ = _g_object_ref0 (self); + _data_->self = _tmp0_; mpris2_watcher_check_for_active_clients_co (_data_); } @@ -232,16 +248,16 @@ void mpris2_watcher_check_for_active_clients_finish (Mpris2Watcher* self, GAsync static void mpris2_watcher_check_for_active_clients_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { - Mpris2WatcherCheckForActiveClientsData* data; - data = _user_data_; - data->_source_object_ = source_object; - data->_res_ = _res_; - mpris2_watcher_check_for_active_clients_co (data); + Mpris2WatcherCheckForActiveClientsData* _data_; + _data_ = _user_data_; + _data_->_source_object_ = source_object; + _data_->_res_ = _res_; + mpris2_watcher_check_for_active_clients_co (_data_); } -static gboolean mpris2_watcher_check_for_active_clients_co (Mpris2WatcherCheckForActiveClientsData* data) { - switch (data->_state_) { +static gboolean mpris2_watcher_check_for_active_clients_co (Mpris2WatcherCheckForActiveClientsData* _data_) { + switch (_data_->_state_) { case 0: goto _state_0; case 1: @@ -250,144 +266,196 @@ static gboolean mpris2_watcher_check_for_active_clients_co (Mpris2WatcherCheckFo g_assert_not_reached (); } _state_0: - data->interfaces_length1 = 0; - data->_interfaces_size_ = 0; - data->_state_ = 1; - free_desktop_object_list_names (data->self->priv->fdesktop_obj, mpris2_watcher_check_for_active_clients_ready, data); - return FALSE; - _state_1: - data->_tmp1_ = NULL; - data->_tmp1_ = free_desktop_object_list_names_finish (data->self->priv->fdesktop_obj, data->_res_, &data->_tmp0_, &data->_inner_error_); - data->_tmp2_ = data->_tmp1_; - data->_tmp2__length1 = data->_tmp0_; - data->__tmp2__size_ = data->_tmp0_; - if (data->_inner_error_ != NULL) { - if (data->_inner_error_->domain == G_IO_ERROR) { - goto __catch7_g_io_error; - } - data->interfaces = (_vala_array_free (data->interfaces, data->interfaces_length1, (GDestroyNotify) g_free), NULL); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); - g_clear_error (&data->_inner_error_); + _data_->interfaces_length1 = 0; + _data_->_interfaces_size_ = 0; + { + _data_->_tmp0_ = _data_->self->priv->fdesktop_obj; + _data_->_tmp1_ = 0; + _data_->_state_ = 1; + free_desktop_object_list_names (_data_->_tmp0_, mpris2_watcher_check_for_active_clients_ready, _data_); return FALSE; + _state_1: + _data_->_tmp2_ = NULL; + _data_->_tmp2_ = free_desktop_object_list_names_finish (_data_->_tmp0_, _data_->_res_, &_data_->_tmp1_, &_data_->_inner_error_); + _data_->_tmp3_ = _data_->_tmp2_; + _data_->_tmp3__length1 = _data_->_tmp1_; + _data_->__tmp3__size_ = _data_->_tmp3__length1; + if (_data_->_inner_error_ != NULL) { + if (_data_->_inner_error_->domain == G_IO_ERROR) { + goto __catch8_g_io_error; + } + _data_->interfaces = (_vala_array_free (_data_->interfaces, _data_->interfaces_length1, (GDestroyNotify) g_free), NULL); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); + g_clear_error (&_data_->_inner_error_); + return FALSE; + } + _data_->interfaces = (_vala_array_free (_data_->interfaces, _data_->interfaces_length1, (GDestroyNotify) g_free), NULL); + _data_->interfaces = _data_->_tmp3_; + _data_->interfaces_length1 = _data_->_tmp3__length1; + _data_->_interfaces_size_ = _data_->interfaces_length1; } - data->interfaces = (_vala_array_free (data->interfaces, data->interfaces_length1, (GDestroyNotify) g_free), NULL); - data->interfaces = data->_tmp2_; - data->interfaces_length1 = data->_tmp2__length1; - data->_interfaces_size_ = data->_tmp2__length1; - goto __finally7; - __catch7_g_io_error: + goto __finally8; + __catch8_g_io_error: { - data->e = data->_inner_error_; - data->_inner_error_ = NULL; + _data_->e = _data_->_inner_error_; + _data_->_inner_error_ = NULL; + _data_->_tmp4_ = _data_->e; + _data_->_tmp5_ = _data_->_tmp4_->message; g_warning ("mpris2-watcher.vala:60: Mpris2watcher could fetch active interfaces at" \ -" startup: %s", data->e->message); - _g_error_free0 (data->e); - data->interfaces = (_vala_array_free (data->interfaces, data->interfaces_length1, (GDestroyNotify) g_free), NULL); - if (data->_state_ == 0) { - g_simple_async_result_complete_in_idle (data->_async_result); +" startup: %s", _data_->_tmp5_); + _g_error_free0 (_data_->e); + _data_->interfaces = (_vala_array_free (_data_->interfaces, _data_->interfaces_length1, (GDestroyNotify) g_free), NULL); + if (_data_->_state_ == 0) { + g_simple_async_result_complete_in_idle (_data_->_async_result); } else { - g_simple_async_result_complete (data->_async_result); + g_simple_async_result_complete (_data_->_async_result); } - g_object_unref (data->_async_result); + g_object_unref (_data_->_async_result); return FALSE; } - __finally7: - if (data->_inner_error_ != NULL) { - data->interfaces = (_vala_array_free (data->interfaces, data->interfaces_length1, (GDestroyNotify) g_free), NULL); - g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code); - g_clear_error (&data->_inner_error_); + __finally8: + if (_data_->_inner_error_ != NULL) { + _data_->interfaces = (_vala_array_free (_data_->interfaces, _data_->interfaces_length1, (GDestroyNotify) g_free), NULL); + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); + g_clear_error (&_data_->_inner_error_); return FALSE; } + _data_->_tmp6_ = _data_->interfaces; + _data_->_tmp6__length1 = _data_->interfaces_length1; { - data->address_collection = data->interfaces; - data->address_collection_length1 = data->interfaces_length1; - for (data->address_it = 0; data->address_it < data->interfaces_length1; data->address_it = data->address_it + 1) { - data->_tmp3_ = g_strdup (data->address_collection[data->address_it]); - data->address = data->_tmp3_; + _data_->address_collection_length1 = 0; + _data_->_address_collection_size_ = 0; + _data_->address_collection = _data_->_tmp6_; + _data_->address_collection_length1 = _data_->_tmp6__length1; + _data_->address_it = 0; + for (_data_->address_it = 0; _data_->address_it < _data_->_tmp6__length1; _data_->address_it = _data_->address_it + 1) { + _data_->_tmp7_ = g_strdup (_data_->address_collection[_data_->address_it]); + _data_->address = _data_->_tmp7_; { - data->_tmp4_ = g_str_has_prefix (data->address, MPRIS_PREFIX); - if (data->_tmp4_) { - data->_tmp5_ = NULL; - data->_tmp5_ = mpris2_watcher_create_mpris_root (data->self, data->address); - data->mpris2_root = data->_tmp5_; - if (data->mpris2_root == NULL) { - _g_object_unref0 (data->mpris2_root); - _g_free0 (data->address); - data->interfaces = (_vala_array_free (data->interfaces, data->interfaces_length1, (GDestroyNotify) g_free), NULL); - if (data->_state_ == 0) { - g_simple_async_result_complete_in_idle (data->_async_result); + _data_->_tmp8_ = _data_->address; + _data_->_tmp9_ = FALSE; + _data_->_tmp9_ = g_str_has_prefix (_data_->_tmp8_, MPRIS_PREFIX); + if (_data_->_tmp9_) { + _data_->_tmp10_ = _data_->address; + _data_->_tmp11_ = NULL; + _data_->_tmp11_ = mpris2_watcher_create_mpris_root (_data_->self, _data_->_tmp10_); + _data_->mpris2_root = _data_->_tmp11_; + _data_->_tmp12_ = _data_->mpris2_root; + if (_data_->_tmp12_ == NULL) { + _g_object_unref0 (_data_->mpris2_root); + _g_free0 (_data_->address); + _data_->interfaces = (_vala_array_free (_data_->interfaces, _data_->interfaces_length1, (GDestroyNotify) g_free), NULL); + if (_data_->_state_ == 0) { + g_simple_async_result_complete_in_idle (_data_->_async_result); } else { - g_simple_async_result_complete (data->_async_result); + g_simple_async_result_complete (_data_->_async_result); } - g_object_unref (data->_async_result); + g_object_unref (_data_->_async_result); return FALSE; } - data->_tmp6_ = mpris2_watcher_supports_playlists (data->self, data->address); - data->use_playlists = data->_tmp6_; - data->_tmp7_ = NULL; - data->_tmp7_ = mpris_root_get_DesktopEntry (data->mpris2_root); - data->_tmp8_ = data->_tmp7_; - g_signal_emit_by_name (data->self, "client-appeared", data->_tmp8_, data->address, data->use_playlists); - _g_free0 (data->_tmp8_); - _g_object_unref0 (data->mpris2_root); + _data_->_tmp13_ = _data_->address; + _data_->_tmp14_ = FALSE; + _data_->_tmp14_ = mpris2_watcher_supports_playlists (_data_->self, _data_->_tmp13_); + _data_->use_playlists = _data_->_tmp14_; + _data_->_tmp15_ = _data_->mpris2_root; + _data_->_tmp16_ = mpris_root_get_DesktopEntry (_data_->_tmp15_); + _data_->_tmp17_ = _data_->_tmp16_; + _data_->_tmp18_ = _data_->_tmp17_; + _data_->_tmp19_ = _data_->address; + _data_->_tmp20_ = _data_->use_playlists; + g_signal_emit_by_name (_data_->self, "client-appeared", _data_->_tmp18_, _data_->_tmp19_, _data_->_tmp20_); + _g_free0 (_data_->_tmp18_); + _g_object_unref0 (_data_->mpris2_root); } - _g_free0 (data->address); + _g_free0 (_data_->address); } } } - data->interfaces = (_vala_array_free (data->interfaces, data->interfaces_length1, (GDestroyNotify) g_free), NULL); - if (data->_state_ == 0) { - g_simple_async_result_complete_in_idle (data->_async_result); + _data_->interfaces = (_vala_array_free (_data_->interfaces, _data_->interfaces_length1, (GDestroyNotify) g_free), NULL); + if (_data_->_state_ == 0) { + g_simple_async_result_complete_in_idle (_data_->_async_result); } else { - g_simple_async_result_complete (data->_async_result); + g_simple_async_result_complete (_data_->_async_result); } - g_object_unref (data->_async_result); + g_object_unref (_data_->_async_result); return FALSE; } static void mpris2_watcher_name_changes_detected (Mpris2Watcher* self, FreeDesktopObject* dbus_obj, const gchar* name, const gchar* previous_owner, const gchar* current_owner) { - MprisRoot* _tmp0_ = NULL; + const gchar* _tmp0_; + MprisRoot* _tmp1_ = NULL; MprisRoot* mpris2_root; - gboolean _tmp1_ = FALSE; + MprisRoot* _tmp2_; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_; + gboolean _tmp6_; g_return_if_fail (self != NULL); g_return_if_fail (dbus_obj != NULL); g_return_if_fail (name != NULL); g_return_if_fail (previous_owner != NULL); g_return_if_fail (current_owner != NULL); - _tmp0_ = mpris2_watcher_create_mpris_root (self, name); - mpris2_root = _tmp0_; - if (mpris2_root == NULL) { + _tmp0_ = name; + _tmp1_ = mpris2_watcher_create_mpris_root (self, _tmp0_); + mpris2_root = _tmp1_; + _tmp2_ = mpris2_root; + if (_tmp2_ == NULL) { _g_object_unref0 (mpris2_root); return; } - if (g_strcmp0 (previous_owner, "") != 0) { - _tmp1_ = g_strcmp0 (current_owner, "") == 0; + _tmp4_ = previous_owner; + if (g_strcmp0 (_tmp4_, "") != 0) { + const gchar* _tmp5_; + _tmp5_ = current_owner; + _tmp3_ = g_strcmp0 (_tmp5_, "") == 0; } else { - _tmp1_ = FALSE; + _tmp3_ = FALSE; } - if (_tmp1_) { - g_debug ("mpris2-watcher.vala:84: Client '%s' gone down", name); - g_signal_emit_by_name (self, "client-disappeared", name); + _tmp6_ = _tmp3_; + if (_tmp6_) { + const gchar* _tmp7_; + const gchar* _tmp8_; + _tmp7_ = name; + g_debug ("mpris2-watcher.vala:84: Client '%s' gone down", _tmp7_); + _tmp8_ = name; + g_signal_emit_by_name (self, "client-disappeared", _tmp8_); } else { - gboolean _tmp2_ = FALSE; - if (g_strcmp0 (previous_owner, "") == 0) { - _tmp2_ = g_strcmp0 (current_owner, "") != 0; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_; + gboolean _tmp12_; + _tmp10_ = previous_owner; + if (g_strcmp0 (_tmp10_, "") == 0) { + const gchar* _tmp11_; + _tmp11_ = current_owner; + _tmp9_ = g_strcmp0 (_tmp11_, "") != 0; } else { - _tmp2_ = FALSE; + _tmp9_ = FALSE; } - if (_tmp2_) { - gboolean _tmp3_; + _tmp12_ = _tmp9_; + if (_tmp12_) { + const gchar* _tmp13_; + const gchar* _tmp14_; + gboolean _tmp15_ = FALSE; gboolean use_playlists; - gchar* _tmp4_ = NULL; - gchar* _tmp5_; - g_debug ("mpris2-watcher.vala:88: Client '%s' has appeared", name); - _tmp3_ = mpris2_watcher_supports_playlists (self, name); - use_playlists = _tmp3_; - _tmp4_ = mpris_root_get_DesktopEntry (mpris2_root); - _tmp5_ = _tmp4_; - g_signal_emit_by_name (self, "client-appeared", _tmp5_, name, use_playlists); - _g_free0 (_tmp5_); + MprisRoot* _tmp16_; + gchar* _tmp17_; + gchar* _tmp18_; + gchar* _tmp19_; + const gchar* _tmp20_; + gboolean _tmp21_; + _tmp13_ = name; + g_debug ("mpris2-watcher.vala:88: Client '%s' has appeared", _tmp13_); + _tmp14_ = name; + _tmp15_ = mpris2_watcher_supports_playlists (self, _tmp14_); + use_playlists = _tmp15_; + _tmp16_ = mpris2_root; + _tmp17_ = mpris_root_get_DesktopEntry (_tmp16_); + _tmp18_ = _tmp17_; + _tmp19_ = _tmp18_; + _tmp20_ = name; + _tmp21_ = use_playlists; + g_signal_emit_by_name (self, "client-appeared", _tmp19_, _tmp20_, _tmp21_); + _g_free0 (_tmp19_); } } _g_object_unref0 (mpris2_root); @@ -397,39 +465,49 @@ static void mpris2_watcher_name_changes_detected (Mpris2Watcher* self, FreeDeskt static MprisRoot* mpris2_watcher_create_mpris_root (Mpris2Watcher* self, const gchar* name) { MprisRoot* result = NULL; MprisRoot* mpris2_root; - gboolean _tmp0_; + const gchar* _tmp0_; + gboolean _tmp1_ = FALSE; GError * _inner_error_ = NULL; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (name != NULL, NULL); mpris2_root = NULL; - _tmp0_ = g_str_has_prefix (name, MPRIS_PREFIX); - if (_tmp0_) { - MprisRoot* _tmp1_ = NULL; - MprisRoot* _tmp2_; - _tmp1_ = g_initable_new (TYPE_MPRIS_ROOT_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", name, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", MPRIS_MEDIA_PLAYER_PATH, "g-interface-name", "org.mpris.MediaPlayer2", NULL); - _tmp2_ = (MprisRoot*) _tmp1_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_IO_ERROR) { - goto __catch8_g_io_error; + _tmp0_ = name; + _tmp1_ = g_str_has_prefix (_tmp0_, MPRIS_PREFIX); + if (_tmp1_) { + { + const gchar* _tmp2_; + MprisRoot* _tmp3_ = NULL; + MprisRoot* _tmp4_; + _tmp2_ = name; + _tmp3_ = g_initable_new (TYPE_MPRIS_ROOT_PROXY, NULL, &_inner_error_, "g-flags", 0, "g-name", _tmp2_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", MPRIS_MEDIA_PLAYER_PATH, "g-interface-name", "org.mpris.MediaPlayer2", NULL); + _tmp4_ = (MprisRoot*) _tmp3_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_IO_ERROR) { + goto __catch9_g_io_error; + } + _g_object_unref0 (mpris2_root); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return NULL; } _g_object_unref0 (mpris2_root); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - return NULL; + mpris2_root = _tmp4_; } - _g_object_unref0 (mpris2_root); - mpris2_root = _tmp2_; - goto __finally8; - __catch8_g_io_error: + goto __finally9; + __catch9_g_io_error: { - GError * e; + GError* e = NULL; + GError* _tmp5_; + const gchar* _tmp6_; e = _inner_error_; _inner_error_ = NULL; + _tmp5_ = e; + _tmp6_ = _tmp5_->message; g_warning ("mpris2-watcher.vala:103: Mpris2watcher could not create a root interfa" \ -"ce: %s", e->message); +"ce: %s", _tmp6_); _g_error_free0 (e); } - __finally8: + __finally9: if (_inner_error_ != NULL) { _g_object_unref0 (mpris2_root); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -445,54 +523,65 @@ static MprisRoot* mpris2_watcher_create_mpris_root (Mpris2Watcher* self, const g static gboolean mpris2_watcher_supports_playlists (Mpris2Watcher* self, const gchar* name) { gboolean result = FALSE; FreeDesktopIntrospectable* introspectable = NULL; - FreeDesktopIntrospectable* _tmp0_ = NULL; - FreeDesktopIntrospectable* _tmp1_; - gchar* _tmp2_ = NULL; - gchar* results; - gboolean _tmp3_; GError * _inner_error_ = NULL; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (name != NULL, FALSE); - _tmp0_ = g_initable_new (TYPE_FREE_DESKTOP_INTROSPECTABLE_PROXY, NULL, &_inner_error_, "g-flags", G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, "g-name", name, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", MPRIS_MEDIA_PLAYER_PATH, "g-interface-name", "org.freedesktop.DBus.Introspectable", NULL); - _tmp1_ = (FreeDesktopIntrospectable*) _tmp0_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_IO_ERROR) { - goto __catch9_g_io_error; + { + const gchar* _tmp0_; + FreeDesktopIntrospectable* _tmp1_ = NULL; + FreeDesktopIntrospectable* _tmp2_; + FreeDesktopIntrospectable* _tmp3_; + gchar* _tmp4_ = NULL; + gchar* results; + const gchar* _tmp5_; + gboolean _tmp6_ = FALSE; + _tmp0_ = name; + _tmp1_ = g_initable_new (TYPE_FREE_DESKTOP_INTROSPECTABLE_PROXY, NULL, &_inner_error_, "g-flags", G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, "g-name", _tmp0_, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", MPRIS_MEDIA_PLAYER_PATH, "g-interface-name", "org.freedesktop.DBus.Introspectable", NULL); + _tmp2_ = (FreeDesktopIntrospectable*) _tmp1_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_IO_ERROR) { + goto __catch10_g_io_error; + } + _g_object_unref0 (introspectable); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return FALSE; } _g_object_unref0 (introspectable); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - return FALSE; - } - _g_object_unref0 (introspectable); - introspectable = _tmp1_; - _tmp2_ = free_desktop_introspectable_Introspect (introspectable, &_inner_error_); - results = _tmp2_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_IO_ERROR) { - goto __catch9_g_io_error; + introspectable = _tmp2_; + _tmp3_ = introspectable; + _tmp4_ = free_desktop_introspectable_Introspect (_tmp3_, &_inner_error_); + results = _tmp4_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_IO_ERROR) { + goto __catch10_g_io_error; + } + _g_object_unref0 (introspectable); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return FALSE; } + _tmp5_ = results; + _tmp6_ = mpris2_watcher_parse_interfaces (self, _tmp5_); + result = _tmp6_; + _g_free0 (results); _g_object_unref0 (introspectable); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - return FALSE; + return result; } - _tmp3_ = mpris2_watcher_parse_interfaces (self, results); - result = _tmp3_; - _g_free0 (results); - _g_object_unref0 (introspectable); - return result; - _g_free0 (results); - goto __finally9; - __catch9_g_io_error: + goto __finally10; + __catch10_g_io_error: { - GError * e; + GError* e = NULL; + GError* _tmp7_; + const gchar* _tmp8_; e = _inner_error_; _inner_error_ = NULL; - g_warning ("mpris2-watcher.vala:131: Could not create an introspectable object: %s", e->message); + _tmp7_ = e; + _tmp8_ = _tmp7_->message; + g_warning ("mpris2-watcher.vala:131: Could not create an introspectable object: %s", _tmp8_); _g_error_free0 (e); } - __finally9: + __finally10: if (_inner_error_ != NULL) { _g_object_unref0 (introspectable); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -508,69 +597,111 @@ static gboolean mpris2_watcher_supports_playlists (Mpris2Watcher* self, const gc static gboolean mpris2_watcher_parse_interfaces (Mpris2Watcher* self, const gchar* interface_info) { gboolean result = FALSE; gboolean _result_; - xmlDoc* _tmp0_ = NULL; + const gchar* _tmp0_; + xmlDoc* _tmp1_ = NULL; xmlDoc* xml_doc; - xmlNode* _tmp1_ = NULL; + xmlDoc* _tmp2_; + xmlDoc* _tmp3_; + xmlNode* _tmp4_ = NULL; xmlNode* root_node; + xmlNode* _tmp5_; + xmlDoc* _tmp27_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (interface_info != NULL, FALSE); _result_ = FALSE; - _tmp0_ = xmlParseDoc (interface_info); - xml_doc = _tmp0_; - if (xml_doc == NULL) { + _tmp0_ = interface_info; + _tmp1_ = xmlParseDoc (_tmp0_); + xml_doc = _tmp1_; + _tmp2_ = xml_doc; + if (_tmp2_ == NULL) { g_warning ("mpris2-watcher.vala:143: Mpris2Watcher - parse-interfaces - failed to " \ "instantiate xml doc"); result = FALSE; return result; } - _tmp1_ = xmlDocGetRootElement (xml_doc); - root_node = _tmp1_; - if (root_node == NULL) { - xmlFreeDoc (xml_doc); + _tmp3_ = xml_doc; + _tmp4_ = xmlDocGetRootElement (_tmp3_); + root_node = _tmp4_; + _tmp5_ = root_node; + if (_tmp5_ == NULL) { + xmlDoc* _tmp6_; + _tmp6_ = xml_doc; + xmlFreeDoc (_tmp6_); g_warning ("mpris2-watcher.vala:151: Mpris2Watcher - the interface info xml is emp" \ "ty"); result = FALSE; return result; } { + xmlNode* _tmp7_; + xmlNode* _tmp8_; xmlNode* iter; - iter = root_node->children; + _tmp7_ = root_node; + _tmp8_ = _tmp7_->children; + iter = _tmp8_; { - gboolean _tmp2_; - _tmp2_ = TRUE; + gboolean _tmp9_; + _tmp9_ = TRUE; while (TRUE) { + gboolean _tmp10_; + xmlNode* _tmp13_; + xmlNode* _tmp14_; + xmlElementType _tmp15_; + xmlNode* _tmp16_; + xmlAttr* _tmp17_; xmlAttr* attributes; - gchar* _tmp3_; + xmlAttr* _tmp18_; + xmlNode* _tmp19_; + const gchar* _tmp20_; + gchar* _tmp21_; gchar* interface_name; - gchar* _tmp4_ = NULL; - gchar* _tmp5_; - gboolean _tmp6_; - if (!_tmp2_) { - iter = iter->next; + const gchar* _tmp22_; + const gchar* _tmp23_; + gchar* _tmp24_ = NULL; + gchar* _tmp25_; + gboolean _tmp26_; + _tmp10_ = _tmp9_; + if (!_tmp10_) { + xmlNode* _tmp11_; + xmlNode* _tmp12_; + _tmp11_ = iter; + _tmp12_ = _tmp11_->next; + iter = _tmp12_; } - _tmp2_ = FALSE; - if (!(iter != NULL)) { + _tmp9_ = FALSE; + _tmp13_ = iter; + if (!(_tmp13_ != NULL)) { break; } - if (iter->type != XML_ELEMENT_NODE) { + _tmp14_ = iter; + _tmp15_ = _tmp14_->type; + if (_tmp15_ != XML_ELEMENT_NODE) { continue; } - attributes = iter->properties; - _tmp3_ = g_strdup (attributes->children->content); - interface_name = _tmp3_; - g_debug ("mpris2-watcher.vala:163: this dbus object has interface %s ", interface_name); - _tmp4_ = g_strconcat (MPRIS_PREFIX, "Playlists", NULL); - _tmp5_ = _tmp4_; - _tmp6_ = g_strcmp0 (interface_name, _tmp5_) == 0; - _g_free0 (_tmp5_); - if (_tmp6_) { + _tmp16_ = iter; + _tmp17_ = _tmp16_->properties; + attributes = _tmp17_; + _tmp18_ = attributes; + _tmp19_ = _tmp18_->children; + _tmp20_ = _tmp19_->content; + _tmp21_ = g_strdup (_tmp20_); + interface_name = _tmp21_; + _tmp22_ = interface_name; + g_debug ("mpris2-watcher.vala:163: this dbus object has interface %s ", _tmp22_); + _tmp23_ = interface_name; + _tmp24_ = g_strconcat (MPRIS_PREFIX, "Playlists", NULL); + _tmp25_ = _tmp24_; + _tmp26_ = g_strcmp0 (_tmp23_, _tmp25_) == 0; + _g_free0 (_tmp25_); + if (_tmp26_) { _result_ = TRUE; } _g_free0 (interface_name); } } } - xmlFreeDoc (xml_doc); + _tmp27_ = xml_doc; + xmlFreeDoc (_tmp27_); result = _result_; return result; } @@ -580,7 +711,8 @@ static void g_cclosure_user_marshal_VOID__STRING_STRING_BOOLEAN (GClosure * clos typedef void (*GMarshalFunc_VOID__STRING_STRING_BOOLEAN) (gpointer data1, const char* arg_1, const char* arg_2, gboolean arg_3, gpointer data2); register GMarshalFunc_VOID__STRING_STRING_BOOLEAN callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 4); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -604,36 +736,44 @@ static GObject * mpris2_watcher_constructor (GType type, guint n_construct_prope GObject * obj; GObjectClass * parent_class; Mpris2Watcher * self; - FreeDesktopObject* _tmp0_ = NULL; - FreeDesktopObject* _tmp1_; GError * _inner_error_ = NULL; parent_class = G_OBJECT_CLASS (mpris2_watcher_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = MPRIS2_WATCHER (obj); - _tmp0_ = g_initable_new (TYPE_FREE_DESKTOP_OBJECT_PROXY, NULL, &_inner_error_, "g-flags", G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, "g-name", FREEDESKTOP_SERVICE, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", FREEDESKTOP_OBJECT, "g-interface-name", "org.freedesktop.DBus", NULL); - _tmp1_ = (FreeDesktopObject*) _tmp0_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_IO_ERROR) { - goto __catch10_g_io_error; + { + FreeDesktopObject* _tmp0_ = NULL; + FreeDesktopObject* _tmp1_; + FreeDesktopObject* _tmp2_; + _tmp0_ = g_initable_new (TYPE_FREE_DESKTOP_OBJECT_PROXY, NULL, &_inner_error_, "g-flags", G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, "g-name", FREEDESKTOP_SERVICE, "g-bus-type", G_BUS_TYPE_SESSION, "g-object-path", FREEDESKTOP_OBJECT, "g-interface-name", "org.freedesktop.DBus", NULL); + _tmp1_ = (FreeDesktopObject*) _tmp0_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_IO_ERROR) { + goto __catch11_g_io_error; + } + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); } - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); + _g_object_unref0 (self->priv->fdesktop_obj); + self->priv->fdesktop_obj = _tmp1_; + _tmp2_ = self->priv->fdesktop_obj; + g_signal_connect_object (_tmp2_, "name-owner-changed", (GCallback) _mpris2_watcher_name_changes_detected_free_desktop_object_name_owner_changed, self, 0); + mpris2_watcher_check_for_active_clients (self, NULL, NULL); } - _g_object_unref0 (self->priv->fdesktop_obj); - self->priv->fdesktop_obj = _tmp1_; - g_signal_connect_object (self->priv->fdesktop_obj, "name-owner-changed", (GCallback) _mpris2_watcher_name_changes_detected_free_desktop_object_name_owner_changed, self, 0); - mpris2_watcher_check_for_active_clients (self, NULL, NULL); - goto __finally10; - __catch10_g_io_error: + goto __finally11; + __catch11_g_io_error: { - GError * e; + GError* e = NULL; + GError* _tmp3_; + const gchar* _tmp4_; e = _inner_error_; _inner_error_ = NULL; + _tmp3_ = e; + _tmp4_ = _tmp3_->message; g_warning ("mpris2-watcher.vala:46: Mpris2watcher could not set up a watch for mpr" \ -"is clients appearing on the bus: %s", e->message); +"is clients appearing on the bus: %s", _tmp4_); _g_error_free0 (e); } - __finally10: + __finally11: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); diff --git a/src/music-player-bridge.c b/src/music-player-bridge.c index 5c3be87..d3d865d 100644 --- a/src/music-player-bridge.c +++ b/src/music-player-bridge.c @@ -1,4 +1,4 @@ -/* music-player-bridge.c generated by valac 0.12.1, the Vala compiler +/* music-player-bridge.c generated by valac 0.14.2, the Vala compiler * generated from music-player-bridge.vala, do not modify */ /* @@ -80,6 +80,8 @@ typedef struct _Mpris2WatcherClass Mpris2WatcherClass; #define _g_free0(var) (var = (g_free (var), NULL)) #define PLAYER_CONTROLLER_TYPE_STATE (player_controller_state_get_type ()) +typedef struct _Block1Data Block1Data; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) typedef struct _PlayerControllerPrivate PlayerControllerPrivate; #define TYPE_PLAYER_ITEM (player_item_get_type ()) @@ -102,7 +104,6 @@ typedef struct _PlayerItemClass PlayerItemClass; typedef struct _Mpris2Controller Mpris2Controller; typedef struct _Mpris2ControllerClass Mpris2ControllerClass; #define _g_key_file_free0(var) ((var == NULL) ? NULL : (var = (g_key_file_free (var), NULL))) -#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) struct _MusicPlayerBridge { GObject parent_instance; @@ -117,6 +118,7 @@ struct _MusicPlayerBridgePrivate { SettingsManager* settings_manager; DbusmenuMenuitem* root_menu; GeeHashMap* registered_clients; + GeeHashMap* file_monitors; Mpris2Watcher* watcher; }; @@ -128,6 +130,12 @@ typedef enum { PLAYER_CONTROLLER_STATE_DISCONNECTED } PlayerControllerstate; +struct _Block1Data { + int _ref_count_; + MusicPlayerBridge * self; + GFileMonitor* monitor; +}; + struct _PlayerController { GObject parent_instance; PlayerControllerPrivate * priv; @@ -169,6 +177,13 @@ static gint music_player_bridge_calculate_menu_position (MusicPlayerBridge* self GType player_controller_state_get_type (void) G_GNUC_CONST; PlayerController* player_controller_new (DbusmenuMenuitem* root, GAppInfo* app, const gchar* dbus_name, const gchar* icon_name, gint offset, gboolean* use_playlists, PlayerControllerstate initial_state); PlayerController* player_controller_construct (GType object_type, DbusmenuMenuitem* root, GAppInfo* app, const gchar* dbus_name, const gchar* icon_name, gint offset, gboolean* use_playlists, PlayerControllerstate initial_state); +static void music_player_bridge_establish_file_monitoring (MusicPlayerBridge* self, GAppInfo* info, const gchar* mpris_key); +static Block1Data* block1_data_ref (Block1Data* _data1_); +static void block1_data_unref (Block1Data* _data1_); +static void __lambda2_ (Block1Data* _data1_, GFile* desktop_file, GFile* other_file, GFileMonitorEvent event_type); +static void music_player_bridge_relevant_desktop_file_changed (MusicPlayerBridge* self, GFile* desktop_file, GFile* other_file, GFileMonitorEvent event_type, GFileMonitor* monitor); +static void ___lambda2__g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self); +void settings_manager_remove_interested (SettingsManager* self, const gchar* app_desktop_name); #define PLAYER_CONTROLLER_WIDGET_QUANTITY 4 void music_player_bridge_client_has_become_available (MusicPlayerBridge* self, const gchar* desktop, const gchar* dbus_name, gboolean use_playlists); gchar** settings_manager_fetch_blacklist (SettingsManager* self, int* result_length1); @@ -213,109 +228,175 @@ MusicPlayerBridge* music_player_bridge_new (void) { static void music_player_bridge_on_blacklist_update (MusicPlayerBridge* self, gchar** blacklist, int blacklist_length1) { + gchar** _tmp0_; + gint _tmp0__length1; + Mpris2Watcher* _tmp15_; g_return_if_fail (self != NULL); - g_debug ("music-player-bridge.vala:45: some blacklist update"); + g_debug ("music-player-bridge.vala:47: some blacklist update"); + _tmp0_ = blacklist; + _tmp0__length1 = blacklist_length1; { - gchar** s_collection; - int s_collection_length1; - int s_it; - s_collection = blacklist; - s_collection_length1 = blacklist_length1; - for (s_it = 0; s_it < blacklist_length1; s_it = s_it + 1) { - gchar* _tmp0_; - gchar* s; - _tmp0_ = g_strdup (s_collection[s_it]); - s = _tmp0_; + gchar** s_collection = NULL; + gint s_collection_length1 = 0; + gint _s_collection_size_ = 0; + gint s_it = 0; + s_collection = _tmp0_; + s_collection_length1 = _tmp0__length1; + for (s_it = 0; s_it < _tmp0__length1; s_it = s_it + 1) { + gchar* _tmp1_; + gchar* s = NULL; + _tmp1_ = g_strdup (s_collection[s_it]); + s = _tmp1_; { - gchar* _tmp1_; - gchar* _tmp2_ = NULL; + const gchar* _tmp2_; + gchar* _tmp3_; + gchar* _tmp4_ = NULL; gchar* key; - gboolean _tmp3_; - _tmp1_ = g_strdup (s); - _tmp2_ = music_player_bridge_determine_key (_tmp1_); - key = _tmp2_; - _tmp3_ = gee_abstract_map_has_key ((GeeAbstractMap*) self->priv->registered_clients, key); - if (_tmp3_) { - gpointer _tmp4_ = NULL; - PlayerController* _tmp5_; - g_debug ("music-player-bridge.vala:50: Apparently %s is now blacklisted - remove" \ -" thy self", key); - _tmp4_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->registered_clients, key); - _tmp5_ = (PlayerController*) _tmp4_; - player_controller_remove_from_menu (_tmp5_); - _g_object_unref0 (_tmp5_); - gee_abstract_map_unset ((GeeAbstractMap*) self->priv->registered_clients, key, NULL); + GeeHashMap* _tmp5_; + const gchar* _tmp6_; + gboolean _tmp7_ = FALSE; + _tmp2_ = s; + _tmp3_ = g_strdup (_tmp2_); + _tmp4_ = music_player_bridge_determine_key (_tmp3_); + key = _tmp4_; + _tmp5_ = self->priv->registered_clients; + _tmp6_ = key; + _tmp7_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp5_, _tmp6_); + if (_tmp7_) { + const gchar* _tmp8_; + GeeHashMap* _tmp9_; + const gchar* _tmp10_; + gpointer _tmp11_ = NULL; + PlayerController* _tmp12_; + GeeHashMap* _tmp13_; + const gchar* _tmp14_; + _tmp8_ = key; + g_debug ("music-player-bridge.vala:52: Apparently %s is now blacklisted - remove" \ +" thy self", _tmp8_); + _tmp9_ = self->priv->registered_clients; + _tmp10_ = key; + _tmp11_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp9_, _tmp10_); + _tmp12_ = (PlayerController*) _tmp11_; + player_controller_remove_from_menu (_tmp12_); + _g_object_unref0 (_tmp12_); + _tmp13_ = self->priv->registered_clients; + _tmp14_ = key; + gee_abstract_map_unset ((GeeAbstractMap*) _tmp13_, _tmp14_, NULL); } _g_free0 (key); _g_free0 (s); } } } - mpris2_watcher_check_for_active_clients (self->priv->watcher, NULL, NULL); + _tmp15_ = self->priv->watcher; + mpris2_watcher_check_for_active_clients (_tmp15_, NULL, NULL); } static void music_player_bridge_try_to_add_inactive_familiar_clients (MusicPlayerBridge* self) { g_return_if_fail (self != NULL); { - GeeArrayList* _tmp0_ = NULL; + SettingsManager* _tmp0_; + GeeArrayList* _tmp1_ = NULL; GeeArrayList* _desktop_list; - gint _tmp1_; + GeeArrayList* _tmp2_; + gint _tmp3_; + gint _tmp4_; gint _desktop_size; gint _desktop_index; - _tmp0_ = settings_manager_fetch_interested (self->priv->settings_manager); - _desktop_list = _tmp0_; - _tmp1_ = gee_collection_get_size ((GeeCollection*) _desktop_list); - _desktop_size = _tmp1_; + _tmp0_ = self->priv->settings_manager; + _tmp1_ = settings_manager_fetch_interested (_tmp0_); + _desktop_list = _tmp1_; + _tmp2_ = _desktop_list; + _tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_); + _tmp4_ = _tmp3_; + _desktop_size = _tmp4_; _desktop_index = -1; while (TRUE) { - gpointer _tmp2_ = NULL; + gint _tmp5_; + gint _tmp6_; + gint _tmp7_; + GeeArrayList* _tmp8_; + gint _tmp9_; + gpointer _tmp10_ = NULL; gchar* desktop; - gchar* _tmp3_ = NULL; - gchar* _tmp4_; - GAppInfo* _tmp5_ = NULL; - GAppInfo* _tmp6_; + const gchar* _tmp11_; + const gchar* _tmp12_; + gchar* _tmp13_ = NULL; + gchar* _tmp14_; + GAppInfo* _tmp15_ = NULL; + GAppInfo* _tmp16_; GAppInfo* app_info; - gchar* _tmp7_; - gchar* _tmp8_ = NULL; + GAppInfo* _tmp17_; + const gchar* _tmp19_; + gchar* _tmp20_; + gchar* _tmp21_ = NULL; gchar* mpris_key; - gchar* _tmp9_ = NULL; - gchar* _tmp10_; - gint _tmp11_; - PlayerController* _tmp12_ = NULL; - PlayerController* _tmp13_; + DbusmenuMenuitem* _tmp22_; + GAppInfo* _tmp23_; + const gchar* _tmp24_; + gchar* _tmp25_ = NULL; + gchar* _tmp26_; + gint _tmp27_ = 0; + PlayerController* _tmp28_; + PlayerController* _tmp29_; PlayerController* ctrl; - _desktop_index = _desktop_index + 1; - if (!(_desktop_index < _desktop_size)) { + GeeHashMap* _tmp30_; + const gchar* _tmp31_; + PlayerController* _tmp32_; + GAppInfo* _tmp33_; + const gchar* _tmp34_; + _tmp5_ = _desktop_index; + _desktop_index = _tmp5_ + 1; + _tmp6_ = _desktop_index; + _tmp7_ = _desktop_size; + if (!(_tmp6_ < _tmp7_)) { break; } - _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _desktop_list, _desktop_index); - desktop = (gchar*) _tmp2_; - g_debug ("music-player-bridge.vala:62: interested client found : %s", desktop); - _tmp3_ = g_strconcat (desktop, ".desktop", NULL); - _tmp4_ = _tmp3_; - _tmp5_ = music_player_bridge_create_app_info (_tmp4_); - _tmp6_ = _tmp5_; - _g_free0 (_tmp4_); - app_info = _tmp6_; - if (app_info == NULL) { - g_warning ("music-player-bridge.vala:65: Could not create app_info for path %s \n" \ -" Getting out of here ", desktop); + _tmp8_ = _desktop_list; + _tmp9_ = _desktop_index; + _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_); + desktop = (gchar*) _tmp10_; + _tmp11_ = desktop; + g_debug ("music-player-bridge.vala:64: interested client found : %s", _tmp11_); + _tmp12_ = desktop; + _tmp13_ = g_strconcat (_tmp12_, ".desktop", NULL); + _tmp14_ = _tmp13_; + _tmp15_ = music_player_bridge_create_app_info (_tmp14_); + _tmp16_ = _tmp15_; + _g_free0 (_tmp14_); + app_info = _tmp16_; + _tmp17_ = app_info; + if (_tmp17_ == NULL) { + const gchar* _tmp18_; + _tmp18_ = desktop; + g_warning ("music-player-bridge.vala:67: Could not create app_info for path %s \n" \ +" Getting out of here ", _tmp18_); _g_object_unref0 (app_info); _g_free0 (desktop); continue; } - _tmp7_ = g_strdup (desktop); - _tmp8_ = music_player_bridge_determine_key (_tmp7_); - mpris_key = _tmp8_; - _tmp9_ = music_player_bridge_fetch_icon_name (desktop); - _tmp10_ = _tmp9_; - _tmp11_ = music_player_bridge_calculate_menu_position (self); - _tmp12_ = player_controller_new (self->priv->root_menu, app_info, NULL, _tmp10_, _tmp11_, NULL, PLAYER_CONTROLLER_STATE_OFFLINE); - _tmp13_ = _tmp12_; - _g_free0 (_tmp10_); - ctrl = _tmp13_; - gee_abstract_map_set ((GeeAbstractMap*) self->priv->registered_clients, mpris_key, ctrl); + _tmp19_ = desktop; + _tmp20_ = g_strdup (_tmp19_); + _tmp21_ = music_player_bridge_determine_key (_tmp20_); + mpris_key = _tmp21_; + _tmp22_ = self->priv->root_menu; + _tmp23_ = app_info; + _tmp24_ = desktop; + _tmp25_ = music_player_bridge_fetch_icon_name (_tmp24_); + _tmp26_ = _tmp25_; + _tmp27_ = music_player_bridge_calculate_menu_position (self); + _tmp28_ = player_controller_new (_tmp22_, _tmp23_, NULL, _tmp26_, _tmp27_, NULL, PLAYER_CONTROLLER_STATE_OFFLINE); + _tmp29_ = _tmp28_; + _g_free0 (_tmp26_); + ctrl = _tmp29_; + _tmp30_ = self->priv->registered_clients; + _tmp31_ = mpris_key; + _tmp32_ = ctrl; + gee_abstract_map_set ((GeeAbstractMap*) _tmp30_, _tmp31_, _tmp32_); + _tmp33_ = app_info; + _tmp34_ = mpris_key; + music_player_bridge_establish_file_monitoring (self, _tmp33_, _tmp34_); _g_object_unref0 (ctrl); _g_free0 (mpris_key); _g_object_unref0 (app_info); @@ -326,18 +407,247 @@ static void music_player_bridge_try_to_add_inactive_familiar_clients (MusicPlaye } +static Block1Data* block1_data_ref (Block1Data* _data1_) { + g_atomic_int_inc (&_data1_->_ref_count_); + return _data1_; +} + + +static void block1_data_unref (Block1Data* _data1_) { + if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { + _g_object_unref0 (_data1_->self); + _g_object_unref0 (_data1_->monitor); + g_slice_free (Block1Data, _data1_); + } +} + + +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; +} + + +static void __lambda2_ (Block1Data* _data1_, GFile* desktop_file, GFile* other_file, GFileMonitorEvent event_type) { + MusicPlayerBridge * self; + GFile* _tmp0_; + GFile* _tmp1_; + GFileMonitorEvent _tmp2_; + GFileMonitor* _tmp3_; + self = _data1_->self; + g_return_if_fail (desktop_file != NULL); + _tmp0_ = desktop_file; + _tmp1_ = other_file; + _tmp2_ = event_type; + _tmp3_ = _data1_->monitor; + music_player_bridge_relevant_desktop_file_changed (self, _tmp0_, _tmp1_, _tmp2_, _tmp3_); +} + + +static void ___lambda2__g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self) { + __lambda2_ (self, file, other_file, event_type); +} + + +static void music_player_bridge_establish_file_monitoring (MusicPlayerBridge* self, GAppInfo* info, const gchar* mpris_key) { + Block1Data* _data1_; + GAppInfo* _tmp0_; + GDesktopAppInfo* _tmp1_; + GDesktopAppInfo* desktop_info; + GDesktopAppInfo* _tmp2_; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_; + gchar* file_path; + const gchar* _tmp5_; + GFile* _tmp6_ = NULL; + GFile* f; + GeeHashMap* _tmp13_; + const gchar* _tmp14_; + const gchar* _tmp15_; + GFileMonitor* _tmp16_; + GError * _inner_error_ = NULL; + g_return_if_fail (self != NULL); + g_return_if_fail (info != NULL); + g_return_if_fail (mpris_key != NULL); + _data1_ = g_slice_new0 (Block1Data); + _data1_->_ref_count_ = 1; + _data1_->self = g_object_ref (self); + _tmp0_ = info; + _tmp1_ = _g_object_ref0 (G_IS_DESKTOP_APP_INFO (_tmp0_) ? ((GDesktopAppInfo*) _tmp0_) : NULL); + desktop_info = _tmp1_; + _tmp2_ = desktop_info; + _tmp3_ = g_desktop_app_info_get_filename (_tmp2_); + _tmp4_ = g_strdup (_tmp3_); + file_path = _tmp4_; + _tmp5_ = file_path; + _tmp6_ = g_file_new_for_path (_tmp5_); + f = _tmp6_; + { + GFile* _tmp7_; + GFileMonitor* _tmp8_ = NULL; + GFileMonitor* _tmp9_; + GFileMonitor* _tmp10_; + _tmp7_ = f; + _tmp8_ = g_file_monitor (_tmp7_, G_FILE_MONITOR_SEND_MOVED, NULL, &_inner_error_); + _tmp9_ = _tmp8_; + if (_inner_error_ != NULL) { + goto __catch0_g_error; + } + _tmp10_ = _g_object_ref0 (_tmp9_); + _g_object_unref0 (_data1_->monitor); + _data1_->monitor = _tmp10_; + } + goto __finally0; + __catch0_g_error: + { + GError* e = NULL; + GAppInfo* _tmp11_; + const gchar* _tmp12_ = NULL; + e = _inner_error_; + _inner_error_ = NULL; + _tmp11_ = info; + _tmp12_ = g_app_info_get_name (_tmp11_); + g_warning ("music-player-bridge.vala:93: Unable to create a file monitor for %s", _tmp12_); + _g_error_free0 (e); + _g_object_unref0 (f); + _g_free0 (file_path); + _g_object_unref0 (desktop_info); + block1_data_unref (_data1_); + _data1_ = NULL; + return; + } + __finally0: + if (_inner_error_ != NULL) { + _g_object_unref0 (f); + _g_free0 (file_path); + _g_object_unref0 (desktop_info); + block1_data_unref (_data1_); + _data1_ = NULL; + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return; + } + _tmp13_ = self->priv->file_monitors; + _tmp14_ = file_path; + _tmp15_ = mpris_key; + gee_abstract_map_set ((GeeAbstractMap*) _tmp13_, _tmp14_, _tmp15_); + _tmp16_ = _data1_->monitor; + g_signal_connect_data (_tmp16_, "changed", (GCallback) ___lambda2__g_file_monitor_changed, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); + _g_object_unref0 (f); + _g_free0 (file_path); + _g_object_unref0 (desktop_info); + block1_data_unref (_data1_); + _data1_ = NULL; +} + + +static void music_player_bridge_relevant_desktop_file_changed (MusicPlayerBridge* self, GFile* desktop_file, GFile* other_file, GFileMonitorEvent event_type, GFileMonitor* monitor) { + GFileMonitorEvent _tmp0_; + GFile* _tmp1_; + gchar* _tmp2_ = NULL; + gchar* path; + const gchar* _tmp3_; + GeeHashMap* _tmp4_; + const gchar* _tmp5_; + gboolean _tmp6_ = FALSE; + GeeHashMap* _tmp8_; + GeeHashMap* _tmp9_; + const gchar* _tmp10_; + gpointer _tmp11_ = NULL; + gchar* _tmp12_; + gpointer _tmp13_ = NULL; + PlayerController* _tmp14_; + SettingsManager* _tmp15_; + GeeHashMap* _tmp16_; + const gchar* _tmp17_; + gpointer _tmp18_ = NULL; + gchar* _tmp19_; + GeeHashMap* _tmp20_; + GeeHashMap* _tmp21_; + const gchar* _tmp22_; + gpointer _tmp23_ = NULL; + gchar* _tmp24_; + GFileMonitor* _tmp25_; + GFileMonitor* _tmp26_; + g_return_if_fail (self != NULL); + g_return_if_fail (desktop_file != NULL); + g_return_if_fail (monitor != NULL); + _tmp0_ = event_type; + if (_tmp0_ != G_FILE_MONITOR_EVENT_DELETED) { + return; + } + _tmp1_ = desktop_file; + _tmp2_ = g_file_get_path (_tmp1_); + path = _tmp2_; + _tmp3_ = path; + if (_tmp3_ == NULL) { + g_warning ("music-player-bridge.vala:113: relevant_desktop_file_changed is returni" \ +"ng a file with no path !"); + _g_free0 (path); + return; + } + _tmp4_ = self->priv->file_monitors; + _tmp5_ = path; + _tmp6_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp4_, _tmp5_); + if (!_tmp6_) { + const gchar* _tmp7_; + _tmp7_ = path; + g_warning ("music-player-bridge.vala:117: relevant_desktop_file_changed is returni" \ +"ng a file which we know nothing about - %s", _tmp7_); + _g_free0 (path); + return; + } + _tmp8_ = self->priv->registered_clients; + _tmp9_ = self->priv->file_monitors; + _tmp10_ = path; + _tmp11_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp9_, _tmp10_); + _tmp12_ = (gchar*) _tmp11_; + _tmp13_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp8_, _tmp12_); + _tmp14_ = (PlayerController*) _tmp13_; + player_controller_remove_from_menu (_tmp14_); + _g_object_unref0 (_tmp14_); + _g_free0 (_tmp12_); + _tmp15_ = self->priv->settings_manager; + _tmp16_ = self->priv->file_monitors; + _tmp17_ = path; + _tmp18_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp16_, _tmp17_); + _tmp19_ = (gchar*) _tmp18_; + settings_manager_remove_interested (_tmp15_, _tmp19_); + _g_free0 (_tmp19_); + _tmp20_ = self->priv->registered_clients; + _tmp21_ = self->priv->file_monitors; + _tmp22_ = path; + _tmp23_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp21_, _tmp22_); + _tmp24_ = (gchar*) _tmp23_; + gee_abstract_map_unset ((GeeAbstractMap*) _tmp20_, _tmp24_, NULL); + _g_free0 (_tmp24_); + _tmp25_ = monitor; + g_file_monitor_cancel (_tmp25_); + _tmp26_ = monitor; + g_object_unref ((GObject*) _tmp26_); + _g_free0 (path); +} + + static gint music_player_bridge_calculate_menu_position (MusicPlayerBridge* self) { gint result = 0; - gint _tmp0_; + GeeHashMap* _tmp0_; + gint _tmp1_; + gint _tmp2_; g_return_val_if_fail (self != NULL, 0); - _tmp0_ = gee_map_get_size ((GeeMap*) self->priv->registered_clients); - if (_tmp0_ == 0) { + _tmp0_ = self->priv->registered_clients; + _tmp1_ = gee_abstract_map_get_size ((GeeMap*) _tmp0_); + _tmp2_ = _tmp1_; + if (_tmp2_ == 0) { result = MUSIC_PLAYER_BRIDGE_DEVICE_ITEMS_COUNT; return result; } else { - gint _tmp1_; - _tmp1_ = gee_map_get_size ((GeeMap*) self->priv->registered_clients); - result = MUSIC_PLAYER_BRIDGE_DEVICE_ITEMS_COUNT + (_tmp1_ * PLAYER_CONTROLLER_WIDGET_QUANTITY); + GeeHashMap* _tmp3_; + gint _tmp4_; + gint _tmp5_; + _tmp3_ = self->priv->registered_clients; + _tmp4_ = gee_abstract_map_get_size ((GeeMap*) _tmp3_); + _tmp5_ = _tmp4_; + result = MUSIC_PLAYER_BRIDGE_DEVICE_ITEMS_COUNT + (_tmp5_ * PLAYER_CONTROLLER_WIDGET_QUANTITY); return result; } } @@ -385,111 +695,188 @@ static gchar* bool_to_string (gboolean self) { void music_player_bridge_client_has_become_available (MusicPlayerBridge* self, const gchar* desktop, const gchar* dbus_name, gboolean use_playlists) { gboolean _tmp0_ = FALSE; - gint _tmp1_; - gchar** _tmp2_ = NULL; - gchar** _tmp3_; - gint _tmp3__length1; - gboolean _tmp4_; - gchar* _tmp5_ = NULL; - gchar* _tmp6_; - GAppInfo* _tmp7_ = NULL; - GAppInfo* _tmp8_; + const gchar* _tmp1_; + gboolean _tmp3_; + const gchar* _tmp5_; + SettingsManager* _tmp6_; + gint _tmp7_ = 0; + gchar** _tmp8_ = NULL; + gchar** _tmp9_; + gint _tmp9__length1; + gboolean _tmp10_; + const gchar* _tmp12_; + const gchar* _tmp13_; + gchar* _tmp14_ = NULL; + gchar* _tmp15_; + GAppInfo* _tmp16_ = NULL; + GAppInfo* _tmp17_; GAppInfo* app_info; - gchar* _tmp9_; - gchar* _tmp10_ = NULL; + GAppInfo* _tmp18_; + const gchar* _tmp20_; + gchar* _tmp21_; + gchar* _tmp22_ = NULL; gchar* mpris_key; - gboolean _tmp11_; + GeeHashMap* _tmp23_; + const gchar* _tmp24_; + gboolean _tmp25_ = FALSE; g_return_if_fail (self != NULL); g_return_if_fail (desktop != NULL); g_return_if_fail (dbus_name != NULL); - if (desktop == NULL) { + _tmp1_ = desktop; + if (_tmp1_ == NULL) { _tmp0_ = TRUE; } else { - _tmp0_ = g_strcmp0 (desktop, "") == 0; + const gchar* _tmp2_; + _tmp2_ = desktop; + _tmp0_ = g_strcmp0 (_tmp2_, "") == 0; } - if (_tmp0_) { - g_warning ("music-player-bridge.vala:96: Client %s attempting to register without " \ -"desktop entry being set on the mpris root", dbus_name); + _tmp3_ = _tmp0_; + if (_tmp3_) { + const gchar* _tmp4_; + _tmp4_ = dbus_name; + g_warning ("music-player-bridge.vala:143: Client %s attempting to register without" \ +" desktop entry being set on the mpris root", _tmp4_); return; } - _tmp2_ = settings_manager_fetch_blacklist (self->priv->settings_manager, &_tmp1_); - _tmp3_ = _tmp2_; - _tmp3__length1 = _tmp1_; - _tmp4_ = _vala_string_array_contains (_tmp3_, _tmp1_, desktop); - _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL); - if (_tmp4_) { - g_debug ("music-player-bridge.vala:101: Client %s attempting to register but I'm" \ -" afraid it is blacklisted", desktop); + _tmp5_ = desktop; + _tmp6_ = self->priv->settings_manager; + _tmp8_ = settings_manager_fetch_blacklist (_tmp6_, &_tmp7_); + _tmp9_ = _tmp8_; + _tmp9__length1 = _tmp7_; + _tmp10_ = _vala_string_array_contains (_tmp9_, _tmp7_, _tmp5_); + _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL); + if (_tmp10_) { + const gchar* _tmp11_; + _tmp11_ = desktop; + g_debug ("music-player-bridge.vala:148: Client %s attempting to register but I'm" \ +" afraid it is blacklisted", _tmp11_); return; } - g_debug ("music-player-bridge.vala:106: client_has_become_available %s", desktop); - _tmp5_ = g_strconcat (desktop, ".desktop", NULL); - _tmp6_ = _tmp5_; - _tmp7_ = music_player_bridge_create_app_info (_tmp6_); - _tmp8_ = _tmp7_; - _g_free0 (_tmp6_); - app_info = _tmp8_; - if (app_info == NULL) { - g_warning ("music-player-bridge.vala:109: Could not create app_info for path %s \n" \ -" Getting out of here ", desktop); + _tmp12_ = desktop; + g_debug ("music-player-bridge.vala:153: client_has_become_available %s", _tmp12_); + _tmp13_ = desktop; + _tmp14_ = g_strconcat (_tmp13_, ".desktop", NULL); + _tmp15_ = _tmp14_; + _tmp16_ = music_player_bridge_create_app_info (_tmp15_); + _tmp17_ = _tmp16_; + _g_free0 (_tmp15_); + app_info = _tmp17_; + _tmp18_ = app_info; + if (_tmp18_ == NULL) { + const gchar* _tmp19_; + _tmp19_ = desktop; + g_warning ("music-player-bridge.vala:156: Could not create app_info for path %s \n" \ +" Getting out of here ", _tmp19_); _g_object_unref0 (app_info); return; } - _tmp9_ = g_strdup (desktop); - _tmp10_ = music_player_bridge_determine_key (_tmp9_); - mpris_key = _tmp10_; - _tmp11_ = gee_abstract_map_has_key ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - if (_tmp11_ == FALSE) { - gchar* _tmp12_ = NULL; - gchar* _tmp13_; - gint _tmp14_; - PlayerController* _tmp15_ = NULL; - PlayerController* _tmp16_; + _tmp20_ = desktop; + _tmp21_ = g_strdup (_tmp20_); + _tmp22_ = music_player_bridge_determine_key (_tmp21_); + mpris_key = _tmp22_; + _tmp23_ = self->priv->registered_clients; + _tmp24_ = mpris_key; + _tmp25_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp23_, _tmp24_); + if (_tmp25_ == FALSE) { + const gchar* _tmp26_; + DbusmenuMenuitem* _tmp27_; + GAppInfo* _tmp28_; + const gchar* _tmp29_; + const gchar* _tmp30_; + gchar* _tmp31_ = NULL; + gchar* _tmp32_; + gint _tmp33_ = 0; + gboolean _tmp34_; + PlayerController* _tmp35_; + PlayerController* _tmp36_; PlayerController* ctrl; - g_debug ("music-player-bridge.vala:117: New client has registered that we have n" \ -"ot seen before: %s", dbus_name); - _tmp12_ = music_player_bridge_fetch_icon_name (desktop); - _tmp13_ = _tmp12_; - _tmp14_ = music_player_bridge_calculate_menu_position (self); - _tmp15_ = player_controller_new (self->priv->root_menu, app_info, dbus_name, _tmp13_, _tmp14_, &use_playlists, PLAYER_CONTROLLER_STATE_READY); - _tmp16_ = _tmp15_; - _g_free0 (_tmp13_); - ctrl = _tmp16_; - gee_abstract_map_set ((GeeAbstractMap*) self->priv->registered_clients, mpris_key, ctrl); - g_debug ("music-player-bridge.vala:126: Have not seen this %s before, new contro" \ -"ller created.", desktop); - settings_manager_add_interested (self->priv->settings_manager, desktop); - g_debug ("music-player-bridge.vala:128: application added to the interested list"); + GeeHashMap* _tmp37_; + const gchar* _tmp38_; + PlayerController* _tmp39_; + const gchar* _tmp40_; + SettingsManager* _tmp41_; + const gchar* _tmp42_; + GAppInfo* _tmp43_; + const gchar* _tmp44_; + _tmp26_ = dbus_name; + g_debug ("music-player-bridge.vala:164: New client has registered that we have n" \ +"ot seen before: %s", _tmp26_); + _tmp27_ = self->priv->root_menu; + _tmp28_ = app_info; + _tmp29_ = dbus_name; + _tmp30_ = desktop; + _tmp31_ = music_player_bridge_fetch_icon_name (_tmp30_); + _tmp32_ = _tmp31_; + _tmp33_ = music_player_bridge_calculate_menu_position (self); + _tmp34_ = use_playlists; + _tmp35_ = player_controller_new (_tmp27_, _tmp28_, _tmp29_, _tmp32_, _tmp33_, &_tmp34_, PLAYER_CONTROLLER_STATE_READY); + _tmp36_ = _tmp35_; + _g_free0 (_tmp32_); + ctrl = _tmp36_; + _tmp37_ = self->priv->registered_clients; + _tmp38_ = mpris_key; + _tmp39_ = ctrl; + gee_abstract_map_set ((GeeAbstractMap*) _tmp37_, _tmp38_, _tmp39_); + _tmp40_ = desktop; + g_debug ("music-player-bridge.vala:173: Have not seen this %s before, new contro" \ +"ller created.", _tmp40_); + _tmp41_ = self->priv->settings_manager; + _tmp42_ = desktop; + settings_manager_add_interested (_tmp41_, _tmp42_); + _tmp43_ = app_info; + _tmp44_ = mpris_key; + music_player_bridge_establish_file_monitoring (self, _tmp43_, _tmp44_); + g_debug ("music-player-bridge.vala:176: application added to the interested list"); _g_object_unref0 (ctrl); } else { - gpointer _tmp17_ = NULL; - PlayerController* _tmp18_; - gboolean* _tmp19_; - gpointer _tmp20_ = NULL; - PlayerController* _tmp21_; - gpointer _tmp22_ = NULL; - PlayerController* _tmp23_; - gchar* _tmp24_ = NULL; - gchar* _tmp25_; - _tmp17_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - _tmp18_ = (PlayerController*) _tmp17_; - _tmp19_ = __bool_dup0 (&use_playlists); - _g_free0 (_tmp18_->use_playlists); - _tmp18_->use_playlists = _tmp19_; - _g_object_unref0 (_tmp18_); - _tmp20_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - _tmp21_ = (PlayerController*) _tmp20_; - player_controller_update_state (_tmp21_, PLAYER_CONTROLLER_STATE_READY); - _g_object_unref0 (_tmp21_); - _tmp22_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - _tmp23_ = (PlayerController*) _tmp22_; - player_controller_activate (_tmp23_, dbus_name); - _g_object_unref0 (_tmp23_); - _tmp24_ = bool_to_string (use_playlists); - _tmp25_ = _tmp24_; - g_debug ("music-player-bridge.vala:134: Application has already registered - awa" \ -"ken the hibernation: %s with playlists %s \n", dbus_name, _tmp25_); - _g_free0 (_tmp25_); + GeeHashMap* _tmp45_; + const gchar* _tmp46_; + gpointer _tmp47_ = NULL; + PlayerController* _tmp48_; + gboolean _tmp49_; + gboolean* _tmp50_; + GeeHashMap* _tmp51_; + const gchar* _tmp52_; + gpointer _tmp53_ = NULL; + PlayerController* _tmp54_; + GeeHashMap* _tmp55_; + const gchar* _tmp56_; + gpointer _tmp57_ = NULL; + PlayerController* _tmp58_; + const gchar* _tmp59_; + const gchar* _tmp60_; + gboolean _tmp61_; + gchar* _tmp62_ = NULL; + gchar* _tmp63_; + _tmp45_ = self->priv->registered_clients; + _tmp46_ = mpris_key; + _tmp47_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp45_, _tmp46_); + _tmp48_ = (PlayerController*) _tmp47_; + _tmp49_ = use_playlists; + _tmp50_ = __bool_dup0 (&_tmp49_); + _g_free0 (_tmp48_->use_playlists); + _tmp48_->use_playlists = _tmp50_; + _g_object_unref0 (_tmp48_); + _tmp51_ = self->priv->registered_clients; + _tmp52_ = mpris_key; + _tmp53_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp51_, _tmp52_); + _tmp54_ = (PlayerController*) _tmp53_; + player_controller_update_state (_tmp54_, PLAYER_CONTROLLER_STATE_READY); + _g_object_unref0 (_tmp54_); + _tmp55_ = self->priv->registered_clients; + _tmp56_ = mpris_key; + _tmp57_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp55_, _tmp56_); + _tmp58_ = (PlayerController*) _tmp57_; + _tmp59_ = dbus_name; + player_controller_activate (_tmp58_, _tmp59_); + _g_object_unref0 (_tmp58_); + _tmp60_ = dbus_name; + _tmp61_ = use_playlists; + _tmp62_ = bool_to_string (_tmp61_); + _tmp63_ = _tmp62_; + g_debug ("music-player-bridge.vala:182: Application has already registered - awa" \ +"ken the hibernation: %s with playlists %s \n", _tmp60_, _tmp63_); + _g_free0 (_tmp63_); } _g_free0 (mpris_key); _g_object_unref0 (app_info); @@ -497,45 +884,62 @@ void music_player_bridge_client_has_become_available (MusicPlayerBridge* self, c void music_player_bridge_client_has_vanished (MusicPlayerBridge* self, const gchar* mpris_root_interface) { + const gchar* _tmp0_; + DbusmenuMenuitem* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (mpris_root_interface != NULL); - g_debug ("music-player-bridge.vala:140: MusicPlayerBridge -> client with dbus in" \ -"terface %s has vanished", mpris_root_interface); - if (self->priv->root_menu != NULL) { - gchar* _tmp0_; - gchar* _tmp1_ = NULL; + _tmp0_ = mpris_root_interface; + g_debug ("music-player-bridge.vala:188: MusicPlayerBridge -> client with dbus in" \ +"terface %s has vanished", _tmp0_); + _tmp1_ = self->priv->root_menu; + if (_tmp1_ != NULL) { + const gchar* _tmp2_; + const gchar* _tmp3_; + gchar* _tmp4_; + gchar* _tmp5_ = NULL; gchar* mpris_key; - gboolean _tmp2_ = FALSE; - g_debug ("music-player-bridge.vala:143: attempt to remove %s", mpris_root_interface); - _tmp0_ = g_strdup (mpris_root_interface); - _tmp1_ = music_player_bridge_determine_key (_tmp0_); - mpris_key = _tmp1_; - if (mpris_key != NULL) { - gboolean _tmp3_; - _tmp3_ = gee_abstract_map_has_key ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - _tmp2_ = _tmp3_; + gboolean _tmp6_ = FALSE; + const gchar* _tmp7_; + gboolean _tmp11_; + _tmp2_ = mpris_root_interface; + g_debug ("music-player-bridge.vala:191: attempt to remove %s", _tmp2_); + _tmp3_ = mpris_root_interface; + _tmp4_ = g_strdup (_tmp3_); + _tmp5_ = music_player_bridge_determine_key (_tmp4_); + mpris_key = _tmp5_; + _tmp7_ = mpris_key; + if (_tmp7_ != NULL) { + GeeHashMap* _tmp8_; + const gchar* _tmp9_; + gboolean _tmp10_ = FALSE; + _tmp8_ = self->priv->registered_clients; + _tmp9_ = mpris_key; + _tmp10_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp8_, _tmp9_); + _tmp6_ = _tmp10_; } else { - _tmp2_ = FALSE; + _tmp6_ = FALSE; } - if (_tmp2_) { - gpointer _tmp4_ = NULL; - PlayerController* _tmp5_; - _tmp4_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - _tmp5_ = (PlayerController*) _tmp4_; - player_controller_hibernate (_tmp5_); - _g_object_unref0 (_tmp5_); - g_debug ("music-player-bridge.vala:147: Successively offlined client %s", mpris_key); + _tmp11_ = _tmp6_; + if (_tmp11_) { + GeeHashMap* _tmp12_; + const gchar* _tmp13_; + gpointer _tmp14_ = NULL; + PlayerController* _tmp15_; + const gchar* _tmp16_; + _tmp12_ = self->priv->registered_clients; + _tmp13_ = mpris_key; + _tmp14_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp12_, _tmp13_); + _tmp15_ = (PlayerController*) _tmp14_; + player_controller_hibernate (_tmp15_); + _g_object_unref0 (_tmp15_); + _tmp16_ = mpris_key; + g_debug ("music-player-bridge.vala:195: Successively offlined client %s", _tmp16_); } _g_free0 (mpris_key); } } -static gpointer _g_object_ref0 (gpointer self) { - return self ? g_object_ref (self) : NULL; -} - - static void _music_player_bridge_client_has_become_available_mpris2_watcher_client_appeared (Mpris2Watcher* _sender, const gchar* desktop_file_name, const gchar* dbus_name, gboolean use_playlists, gpointer self) { music_player_bridge_client_has_become_available (self, desktop_file_name, dbus_name, use_playlists); } @@ -548,103 +952,147 @@ static void _music_player_bridge_client_has_vanished_mpris2_watcher_client_disap void music_player_bridge_set_root_menu_item (MusicPlayerBridge* self, DbusmenuMenuitem* menu) { DbusmenuMenuitem* _tmp0_; - Mpris2Watcher* _tmp1_ = NULL; + DbusmenuMenuitem* _tmp1_; + Mpris2Watcher* _tmp2_; + Mpris2Watcher* _tmp3_; + Mpris2Watcher* _tmp4_; g_return_if_fail (self != NULL); g_return_if_fail (menu != NULL); - _tmp0_ = _g_object_ref0 (menu); + _tmp0_ = menu; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->root_menu); - self->priv->root_menu = _tmp0_; + self->priv->root_menu = _tmp1_; music_player_bridge_try_to_add_inactive_familiar_clients (self); - _tmp1_ = mpris2_watcher_new (); + _tmp2_ = mpris2_watcher_new (); _g_object_unref0 (self->priv->watcher); - self->priv->watcher = _tmp1_; - g_signal_connect_object (self->priv->watcher, "client-appeared", (GCallback) _music_player_bridge_client_has_become_available_mpris2_watcher_client_appeared, self, 0); - g_signal_connect_object (self->priv->watcher, "client-disappeared", (GCallback) _music_player_bridge_client_has_vanished_mpris2_watcher_client_disappeared, self, 0); + self->priv->watcher = _tmp2_; + _tmp3_ = self->priv->watcher; + g_signal_connect_object (_tmp3_, "client-appeared", (GCallback) _music_player_bridge_client_has_become_available_mpris2_watcher_client_appeared, self, 0); + _tmp4_ = self->priv->watcher; + g_signal_connect_object (_tmp4_, "client-disappeared", (GCallback) _music_player_bridge_client_has_vanished_mpris2_watcher_client_disappeared, self, 0); } void music_player_bridge_enable_player_specific_items_for_client (MusicPlayerBridge* self, const gchar* object_path, const gchar* desktop_id) { - gchar* _tmp0_; - gchar* _tmp1_ = NULL; + const gchar* _tmp0_; + gchar* _tmp1_; + gchar* _tmp2_ = NULL; gchar* mpris_key; - gboolean _tmp2_; - gpointer _tmp3_ = NULL; - PlayerController* _tmp4_; + GeeHashMap* _tmp3_; + const gchar* _tmp4_; + gboolean _tmp5_ = FALSE; + GeeHashMap* _tmp7_; + const gchar* _tmp8_; + gpointer _tmp9_ = NULL; + PlayerController* _tmp10_; + const gchar* _tmp11_; g_return_if_fail (self != NULL); g_return_if_fail (object_path != NULL); g_return_if_fail (desktop_id != NULL); - _tmp0_ = g_strdup (desktop_id); - _tmp1_ = music_player_bridge_determine_key (_tmp0_); - mpris_key = _tmp1_; - _tmp2_ = gee_abstract_map_has_key ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - if (_tmp2_ == FALSE) { - g_warning ("music-player-bridge.vala:166: we don't have a client with desktop id %" \ -"s registered", desktop_id); + _tmp0_ = desktop_id; + _tmp1_ = g_strdup (_tmp0_); + _tmp2_ = music_player_bridge_determine_key (_tmp1_); + mpris_key = _tmp2_; + _tmp3_ = self->priv->registered_clients; + _tmp4_ = mpris_key; + _tmp5_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp3_, _tmp4_); + if (_tmp5_ == FALSE) { + const gchar* _tmp6_; + _tmp6_ = desktop_id; + g_warning ("music-player-bridge.vala:214: we don't have a client with desktop id %" \ +"s registered", _tmp6_); _g_free0 (mpris_key); return; } - _tmp3_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - _tmp4_ = (PlayerController*) _tmp3_; - player_controller_enable_player_specific_items (_tmp4_, object_path); - _g_object_unref0 (_tmp4_); + _tmp7_ = self->priv->registered_clients; + _tmp8_ = mpris_key; + _tmp9_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp7_, _tmp8_); + _tmp10_ = (PlayerController*) _tmp9_; + _tmp11_ = object_path; + player_controller_enable_player_specific_items (_tmp10_, _tmp11_); + _g_object_unref0 (_tmp10_); _g_free0 (mpris_key); } void music_player_bridge_enable_track_specific_items_for_client (MusicPlayerBridge* self, const gchar* object_path, const gchar* desktop_id) { - gchar* _tmp0_; - gchar* _tmp1_ = NULL; + const gchar* _tmp0_; + gchar* _tmp1_; + gchar* _tmp2_ = NULL; gchar* mpris_key; - gboolean _tmp2_; - gpointer _tmp3_ = NULL; - PlayerController* _tmp4_; + GeeHashMap* _tmp3_; + const gchar* _tmp4_; + gboolean _tmp5_ = FALSE; + GeeHashMap* _tmp7_; + const gchar* _tmp8_; + gpointer _tmp9_ = NULL; + PlayerController* _tmp10_; + const gchar* _tmp11_; g_return_if_fail (self != NULL); g_return_if_fail (object_path != NULL); g_return_if_fail (desktop_id != NULL); - _tmp0_ = g_strdup (desktop_id); - _tmp1_ = music_player_bridge_determine_key (_tmp0_); - mpris_key = _tmp1_; - _tmp2_ = gee_abstract_map_has_key ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - if (_tmp2_ == FALSE) { - g_warning ("music-player-bridge.vala:177: we don't have a client with desktop id %" \ -"s registered", desktop_id); + _tmp0_ = desktop_id; + _tmp1_ = g_strdup (_tmp0_); + _tmp2_ = music_player_bridge_determine_key (_tmp1_); + mpris_key = _tmp2_; + _tmp3_ = self->priv->registered_clients; + _tmp4_ = mpris_key; + _tmp5_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp3_, _tmp4_); + if (_tmp5_ == FALSE) { + const gchar* _tmp6_; + _tmp6_ = desktop_id; + g_warning ("music-player-bridge.vala:225: we don't have a client with desktop id %" \ +"s registered", _tmp6_); _g_free0 (mpris_key); return; } - _tmp3_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->registered_clients, mpris_key); - _tmp4_ = (PlayerController*) _tmp3_; - player_controller_enable_track_specific_items (_tmp4_, object_path); - _g_object_unref0 (_tmp4_); + _tmp7_ = self->priv->registered_clients; + _tmp8_ = mpris_key; + _tmp9_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp7_, _tmp8_); + _tmp10_ = (PlayerController*) _tmp9_; + _tmp11_ = object_path; + player_controller_enable_track_specific_items (_tmp10_, _tmp11_); + _g_object_unref0 (_tmp10_); _g_free0 (mpris_key); } static GAppInfo* music_player_bridge_create_app_info (const gchar* desktop) { GAppInfo* result = NULL; - GDesktopAppInfo* _tmp0_ = NULL; + const gchar* _tmp0_; + GDesktopAppInfo* _tmp1_; GDesktopAppInfo* info; - gboolean _tmp1_ = FALSE; - GDesktopAppInfo* _tmp2_; - GAppInfo* _tmp3_; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_; + gboolean _tmp5_; + GDesktopAppInfo* _tmp7_; + GAppInfo* _tmp8_; GAppInfo* app_info; g_return_val_if_fail (desktop != NULL, NULL); - _tmp0_ = g_desktop_app_info_new (desktop); - info = _tmp0_; - if (desktop == NULL) { - _tmp1_ = TRUE; + _tmp0_ = desktop; + _tmp1_ = g_desktop_app_info_new (_tmp0_); + info = _tmp1_; + _tmp3_ = desktop; + if (_tmp3_ == NULL) { + _tmp2_ = TRUE; } else { - _tmp1_ = info == NULL; + GDesktopAppInfo* _tmp4_; + _tmp4_ = info; + _tmp2_ = _tmp4_ == NULL; } - if (_tmp1_) { - g_warning ("music-player-bridge.vala:187: Could not create a desktopappinfo instan" \ -"ce from app: %s", desktop); + _tmp5_ = _tmp2_; + if (_tmp5_) { + const gchar* _tmp6_; + _tmp6_ = desktop; + g_warning ("music-player-bridge.vala:235: Could not create a desktopappinfo instan" \ +"ce from app: %s", _tmp6_); result = NULL; _g_object_unref0 (info); return result; } - _tmp2_ = info; - _tmp3_ = _g_object_ref0 (G_IS_APP_INFO (_tmp2_) ? ((GAppInfo*) _tmp2_) : NULL); - app_info = _tmp3_; + _tmp7_ = info; + _tmp8_ = _g_object_ref0 (G_IS_APP_INFO (_tmp7_) ? ((GAppInfo*) _tmp7_) : NULL); + app_info = _tmp8_; result = app_info; _g_object_unref0 (info); return result; @@ -653,68 +1101,74 @@ static GAppInfo* music_player_bridge_create_app_info (const gchar* desktop) { static gchar* music_player_bridge_fetch_icon_name (const gchar* desktop) { gchar* result = NULL; - gchar* _tmp0_ = NULL; - gchar* _tmp1_; - GDesktopAppInfo* _tmp2_ = NULL; + const gchar* _tmp0_; + gchar* _tmp1_ = NULL; + gchar* _tmp2_; GDesktopAppInfo* _tmp3_; + GDesktopAppInfo* _tmp4_; GDesktopAppInfo* info; - GKeyFile* _tmp4_ = NULL; + GKeyFile* _tmp5_; GKeyFile* desktop_keyfile; - const gchar* _tmp5_ = NULL; - gchar* _tmp6_ = NULL; - gchar* _tmp7_; GError * _inner_error_ = NULL; g_return_val_if_fail (desktop != NULL, NULL); - _tmp0_ = g_strconcat (desktop, ".desktop", NULL); - _tmp1_ = _tmp0_; - _tmp2_ = g_desktop_app_info_new (_tmp1_); - _tmp3_ = _tmp2_; - _g_free0 (_tmp1_); - info = _tmp3_; - _tmp4_ = g_key_file_new (); - desktop_keyfile = _tmp4_; - _tmp5_ = g_desktop_app_info_get_filename (info); - g_key_file_load_from_file (desktop_keyfile, _tmp5_, G_KEY_FILE_NONE, &_inner_error_); - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_FILE_ERROR) { - goto __catch0_g_file_error; - } - if (_inner_error_->domain == G_KEY_FILE_ERROR) { - goto __catch0_g_key_file_error; + _tmp0_ = desktop; + _tmp1_ = g_strconcat (_tmp0_, ".desktop", NULL); + _tmp2_ = _tmp1_; + _tmp3_ = g_desktop_app_info_new (_tmp2_); + _tmp4_ = _tmp3_; + _g_free0 (_tmp2_); + info = _tmp4_; + _tmp5_ = g_key_file_new (); + desktop_keyfile = _tmp5_; + { + GKeyFile* _tmp6_; + GDesktopAppInfo* _tmp7_; + const gchar* _tmp8_ = NULL; + _tmp6_ = desktop_keyfile; + _tmp7_ = info; + _tmp8_ = g_desktop_app_info_get_filename (_tmp7_); + g_key_file_load_from_file (_tmp6_, _tmp8_, G_KEY_FILE_NONE, &_inner_error_); + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_FILE_ERROR) { + goto __catch1_g_file_error; + } + if (_inner_error_->domain == G_KEY_FILE_ERROR) { + goto __catch1_g_key_file_error; + } + _g_key_file_free0 (desktop_keyfile); + _g_object_unref0 (info); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return NULL; } - _g_key_file_free0 (desktop_keyfile); - _g_object_unref0 (info); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - return NULL; } - goto __finally0; - __catch0_g_file_error: + goto __finally1; + __catch1_g_file_error: { - GError * _error_; + GError* _error_ = NULL; _error_ = _inner_error_; _inner_error_ = NULL; - g_warning ("music-player-bridge.vala:203: Error loading keyfile - FileError"); + g_warning ("music-player-bridge.vala:251: Error loading keyfile - FileError"); result = NULL; _g_error_free0 (_error_); _g_key_file_free0 (desktop_keyfile); _g_object_unref0 (info); return result; } - goto __finally0; - __catch0_g_key_file_error: + goto __finally1; + __catch1_g_key_file_error: { - GError * _error_; + GError* _error_ = NULL; _error_ = _inner_error_; _inner_error_ = NULL; - g_warning ("music-player-bridge.vala:207: Error loading keyfile - KeyFileError"); + g_warning ("music-player-bridge.vala:255: Error loading keyfile - KeyFileError"); result = NULL; _g_error_free0 (_error_); _g_key_file_free0 (desktop_keyfile); _g_object_unref0 (info); return result; } - __finally0: + __finally1: if (_inner_error_ != NULL) { _g_key_file_free0 (desktop_keyfile); _g_object_unref0 (info); @@ -722,29 +1176,35 @@ static gchar* music_player_bridge_fetch_icon_name (const gchar* desktop) { g_clear_error (&_inner_error_); return NULL; } - _tmp6_ = g_key_file_get_string (desktop_keyfile, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_ICON, &_inner_error_); - _tmp7_ = _tmp6_; - if (_inner_error_ != NULL) { - if (_inner_error_->domain == G_KEY_FILE_ERROR) { - goto __catch1_g_key_file_error; + { + GKeyFile* _tmp9_; + gchar* _tmp10_ = NULL; + gchar* _tmp11_; + _tmp9_ = desktop_keyfile; + _tmp10_ = g_key_file_get_string (_tmp9_, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_ICON, &_inner_error_); + _tmp11_ = _tmp10_; + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_KEY_FILE_ERROR) { + goto __catch2_g_key_file_error; + } + _g_key_file_free0 (desktop_keyfile); + _g_object_unref0 (info); + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return NULL; } + result = _tmp11_; _g_key_file_free0 (desktop_keyfile); _g_object_unref0 (info); - g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - return NULL; + return result; } - result = _tmp7_; - _g_key_file_free0 (desktop_keyfile); - _g_object_unref0 (info); - return result; - goto __finally1; - __catch1_g_key_file_error: + goto __finally2; + __catch2_g_key_file_error: { - GError * _error_; + GError* _error_ = NULL; _error_ = _inner_error_; _inner_error_ = NULL; - g_warning ("music-player-bridge.vala:216: Error trying to fetch the icon name from" \ + g_warning ("music-player-bridge.vala:264: Error trying to fetch the icon name from" \ " the keyfile"); result = NULL; _g_error_free0 (_error_); @@ -752,7 +1212,7 @@ static gchar* music_player_bridge_fetch_icon_name (const gchar* desktop) { _g_object_unref0 (info); return result; } - __finally1: + __finally2: _g_key_file_free0 (desktop_keyfile); _g_object_unref0 (info); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -763,52 +1223,94 @@ static gchar* music_player_bridge_fetch_icon_name (const gchar* desktop) { static gchar* music_player_bridge_determine_key (gchar* desktop_or_interface) { gchar* result = NULL; - gchar* _tmp0_; + const gchar* _tmp0_; + gchar* _tmp1_; gchar* _result_; - gchar** _tmp1_; - gchar** _tmp2_ = NULL; + const gchar* _tmp2_; + gchar** _tmp3_; + gchar** _tmp4_ = NULL; gchar** tokens; gint tokens_length1; gint _tokens_size_; - gboolean _tmp3_ = FALSE; - gchar** _tmp5_; - gchar** _tmp6_ = NULL; + gboolean _tmp5_ = FALSE; + gchar** _tmp6_; + gint _tmp6__length1; + gboolean _tmp8_; + const gchar* _tmp13_; + gchar** _tmp14_; + gchar** _tmp15_ = NULL; gchar** temp; gint temp_length1; gint _temp_size_; - gboolean _tmp7_ = FALSE; + gboolean _tmp16_ = FALSE; + gchar** _tmp17_; + gint _tmp17__length1; + gboolean _tmp19_; g_return_val_if_fail (desktop_or_interface != NULL, NULL); - _tmp0_ = g_strdup (desktop_or_interface); - _result_ = _tmp0_; - _tmp2_ = _tmp1_ = g_strsplit (desktop_or_interface, ".", 0); - tokens = _tmp2_; - tokens_length1 = _vala_array_length (_tmp1_); - _tokens_size_ = _vala_array_length (_tmp1_); - if (tokens != NULL) { - _tmp3_ = tokens_length1 > 1; + _tmp0_ = desktop_or_interface; + _tmp1_ = g_strdup (_tmp0_); + _result_ = _tmp1_; + _tmp2_ = desktop_or_interface; + _tmp4_ = _tmp3_ = g_strsplit (_tmp2_, ".", 0); + tokens = _tmp4_; + tokens_length1 = _vala_array_length (_tmp3_); + _tokens_size_ = tokens_length1; + _tmp6_ = tokens; + _tmp6__length1 = tokens_length1; + if (_tmp6_ != NULL) { + gchar** _tmp7_; + gint _tmp7__length1; + _tmp7_ = tokens; + _tmp7__length1 = tokens_length1; + _tmp5_ = _tmp7__length1 > 1; } else { - _tmp3_ = FALSE; + _tmp5_ = FALSE; } - if (_tmp3_) { - gchar* _tmp4_; - _tmp4_ = g_strdup (tokens[tokens_length1 - 1]); + _tmp8_ = _tmp5_; + if (_tmp8_) { + gchar** _tmp9_; + gint _tmp9__length1; + gchar** _tmp10_; + gint _tmp10__length1; + const gchar* _tmp11_; + gchar* _tmp12_; + _tmp9_ = tokens; + _tmp9__length1 = tokens_length1; + _tmp10_ = tokens; + _tmp10__length1 = tokens_length1; + _tmp11_ = _tmp9_[_tmp10__length1 - 1]; + _tmp12_ = g_strdup (_tmp11_); _g_free0 (_result_); - _result_ = _tmp4_; - } - _tmp6_ = _tmp5_ = g_strsplit (_result_, "-", 0); - temp = _tmp6_; - temp_length1 = _vala_array_length (_tmp5_); - _temp_size_ = _vala_array_length (_tmp5_); - if (temp != NULL) { - _tmp7_ = temp_length1 > 1; + _result_ = _tmp12_; + } + _tmp13_ = _result_; + _tmp15_ = _tmp14_ = g_strsplit (_tmp13_, "-", 0); + temp = _tmp15_; + temp_length1 = _vala_array_length (_tmp14_); + _temp_size_ = temp_length1; + _tmp17_ = temp; + _tmp17__length1 = temp_length1; + if (_tmp17_ != NULL) { + gchar** _tmp18_; + gint _tmp18__length1; + _tmp18_ = temp; + _tmp18__length1 = temp_length1; + _tmp16_ = _tmp18__length1 > 1; } else { - _tmp7_ = FALSE; + _tmp16_ = FALSE; } - if (_tmp7_) { - gchar* _tmp8_; - _tmp8_ = g_strdup (temp[0]); + _tmp19_ = _tmp16_; + if (_tmp19_) { + gchar** _tmp20_; + gint _tmp20__length1; + const gchar* _tmp21_; + gchar* _tmp22_; + _tmp20_ = temp; + _tmp20__length1 = temp_length1; + _tmp21_ = _tmp20_[0]; + _tmp22_ = g_strdup (_tmp21_); _g_free0 (_result_); - _result_ = _tmp8_; + _result_ = _tmp22_; } result = _result_; temp = (_vala_array_free (temp, temp_length1, (GDestroyNotify) g_free), NULL); @@ -827,18 +1329,24 @@ static GObject * music_player_bridge_constructor (GType type, guint n_construct_ GObject * obj; GObjectClass * parent_class; MusicPlayerBridge * self; - GeeHashMap* _tmp0_ = NULL; - SettingsManager* _tmp1_ = NULL; + GeeHashMap* _tmp0_; + GeeHashMap* _tmp1_; + SettingsManager* _tmp2_; + SettingsManager* _tmp3_; parent_class = G_OBJECT_CLASS (music_player_bridge_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = MUSIC_PLAYER_BRIDGE (obj); _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_PLAYER_CONTROLLER, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); _g_object_unref0 (self->priv->registered_clients); self->priv->registered_clients = _tmp0_; - _tmp1_ = settings_manager_new (); + _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); + _g_object_unref0 (self->priv->file_monitors); + self->priv->file_monitors = _tmp1_; + _tmp2_ = settings_manager_new (); _g_object_unref0 (self->priv->settings_manager); - self->priv->settings_manager = _tmp1_; - g_signal_connect_object (self->priv->settings_manager, "blacklist-updates", (GCallback) _music_player_bridge_on_blacklist_update_settings_manager_blacklist_updates, self, 0); + self->priv->settings_manager = _tmp2_; + _tmp3_ = self->priv->settings_manager; + g_signal_connect_object (_tmp3_, "blacklist-updates", (GCallback) _music_player_bridge_on_blacklist_update_settings_manager_blacklist_updates, self, 0); return obj; } @@ -862,6 +1370,7 @@ static void music_player_bridge_finalize (GObject* obj) { _g_object_unref0 (self->priv->settings_manager); _g_object_unref0 (self->priv->root_menu); _g_object_unref0 (self->priv->registered_clients); + _g_object_unref0 (self->priv->file_monitors); _g_object_unref0 (self->priv->watcher); G_OBJECT_CLASS (music_player_bridge_parent_class)->finalize (obj); } diff --git a/src/music-player-bridge.h b/src/music-player-bridge.h index 59d58c7..f02d20e 100644 --- a/src/music-player-bridge.h +++ b/src/music-player-bridge.h @@ -1,4 +1,4 @@ -/* music-player-bridge.h generated by valac 0.12.1, the Vala compiler, do not modify */ +/* music-player-bridge.h generated by valac 0.14.2, the Vala compiler, do not modify */ #ifndef __MUSIC_PLAYER_BRIDGE_H__ @@ -338,14 +338,14 @@ struct _PlaylistDetails { struct _ActivePlaylistContainer { gboolean valid; - PlaylistDetails details; + PlaylistDetails* details; }; struct _MprisPlaylistsIface { GTypeInterface parent_iface; void (*ActivatePlaylist) (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*ActivatePlaylist_finish) (MprisPlaylists* self, GAsyncResult* _res_, GError** error); - void (*GetPlaylists) (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); + void (*GetPlaylists) (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* (*GetPlaylists_finish) (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); gchar** (*get_Orderings) (MprisPlaylists* self, int* result_length1); void (*set_Orderings) (MprisPlaylists* self, gchar** value, int value_length1); @@ -526,7 +526,7 @@ guint mpris_playlists_register_object (void* object, GDBusConnection* connection GType mpris_playlists_get_type (void) G_GNUC_CONST; void mpris_playlists_ActivatePlaylist (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); void mpris_playlists_ActivatePlaylist_finish (MprisPlaylists* self, GAsyncResult* _res_, GError** error); -void mpris_playlists_GetPlaylists (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); +void mpris_playlists_GetPlaylists (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* mpris_playlists_GetPlaylists_finish (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); gchar** mpris_playlists_get_Orderings (MprisPlaylists* self, int* result_length1); void mpris_playlists_set_Orderings (MprisPlaylists* self, gchar** value, int value_length1); @@ -572,6 +572,7 @@ SettingsManager* settings_manager_construct (GType object_type); gchar** settings_manager_fetch_blacklist (SettingsManager* self, int* result_length1); GeeArrayList* settings_manager_fetch_interested (SettingsManager* self); void settings_manager_clear_list (SettingsManager* self); +void settings_manager_remove_interested (SettingsManager* self, const gchar* app_desktop_name); void settings_manager_add_interested (SettingsManager* self, const gchar* app_desktop_name); GType playlists_menuitem_get_type (void) G_GNUC_CONST; PlaylistsMenuitem* playlists_menuitem_new (PlayerController* parent); diff --git a/src/music-player-bridge.vala b/src/music-player-bridge.vala index e7bc1fb..c2d6623 100644 --- a/src/music-player-bridge.vala +++ b/src/music-player-bridge.vala @@ -28,6 +28,7 @@ public class MusicPlayerBridge : GLib.Object private SettingsManager settings_manager; private Dbusmenu.Menuitem root_menu; private HashMap registered_clients; + private HashMap file_monitors; private Mpris2Watcher watcher; public MusicPlayerBridge() @@ -36,6 +37,7 @@ public class MusicPlayerBridge : GLib.Object construct{ this.registered_clients = new HashMap (); + this.file_monitors = new HashMap (); this.settings_manager = new SettingsManager(); this.settings_manager.blacklist_updates.connect ( this.on_blacklist_update ); } @@ -74,9 +76,54 @@ public class MusicPlayerBridge : GLib.Object calculate_menu_position(), null, PlayerController.state.OFFLINE ); - this.registered_clients.set(mpris_key, ctrl); + this.registered_clients.set(mpris_key, ctrl); + this.establish_file_monitoring (app_info, mpris_key); } } + + private void establish_file_monitoring (AppInfo info, string mpris_key){ + DesktopAppInfo desktop_info = info as DesktopAppInfo; + var file_path = desktop_info.get_filename (); + File f = File.new_for_path (file_path); + FileMonitor monitor; + try { + monitor = f.monitor (FileMonitorFlags.SEND_MOVED, null); + } + catch (Error e){ + warning ("Unable to create a file monitor for %s", info.get_name()); + return; + } + this.file_monitors.set (file_path, mpris_key); + // Finally watch for a change. + monitor.changed.connect ((desktop_file, other_file, event_type) => { + this.relevant_desktop_file_changed (desktop_file, other_file, event_type, monitor); + }); + } + + private void relevant_desktop_file_changed (File desktop_file, + File? other_file, + FileMonitorEvent event_type, + FileMonitor monitor) + { + if (event_type != FileMonitorEvent.DELETED) + return; + + string? path = desktop_file.get_path (); + if (path == null){ + warning ("relevant_desktop_file_changed is returning a file with no path !"); + return; + } + if (!this.file_monitors.has_key (path)){ + warning ("relevant_desktop_file_changed is returning a file which we know nothing about - %s", + path); + return; + } + this.registered_clients[this.file_monitors[path]].remove_from_menu(); + this.settings_manager.remove_interested (this.file_monitors[path]); + this.registered_clients.unset (this.file_monitors[path]); + monitor.cancel (); + monitor.unref(); + } private int calculate_menu_position() { @@ -125,6 +172,7 @@ public class MusicPlayerBridge : GLib.Object this.registered_clients.set ( mpris_key, ctrl ); debug ( "Have not seen this %s before, new controller created.", desktop ); this.settings_manager.add_interested ( desktop ); + this.establish_file_monitoring (app_info, mpris_key); debug ( "application added to the interested list" ); } else{ diff --git a/src/player-controller.c b/src/player-controller.c index 099c264..d086e5d 100644 --- a/src/player-controller.c +++ b/src/player-controller.c @@ -1,4 +1,4 @@ -/* player-controller.c generated by valac 0.12.1, the Vala compiler +/* player-controller.c generated by valac 0.14.2, the Vala compiler * generated from player-controller.vala, do not modify */ /* @@ -298,33 +298,51 @@ static gpointer _g_object_ref0 (gpointer self) { PlayerController* player_controller_construct (GType object_type, DbusmenuMenuitem* root, GAppInfo* app, const gchar* dbus_name, const gchar* icon_name, gint offset, gboolean* use_playlists, PlayerControllerstate initial_state) { PlayerController * self = NULL; gboolean* _tmp0_; - DbusmenuMenuitem* _tmp1_; - GeeArrayList* _tmp2_ = NULL; - const gchar* _tmp3_ = NULL; + gboolean* _tmp1_; + DbusmenuMenuitem* _tmp2_; + DbusmenuMenuitem* _tmp3_; + GAppInfo* _tmp4_; + const gchar* _tmp5_; + const gchar* _tmp6_; + GeeArrayList* _tmp7_; + PlayerControllerstate _tmp8_; + gint _tmp9_; + GAppInfo* _tmp10_; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_; g_return_val_if_fail (root != NULL, NULL); g_return_val_if_fail (app != NULL, NULL); g_return_val_if_fail (icon_name != NULL, NULL); self = (PlayerController*) g_object_new (object_type, NULL); - _tmp0_ = __bool_dup0 (use_playlists); + _tmp0_ = use_playlists; + _tmp1_ = __bool_dup0 (_tmp0_); _g_free0 (self->use_playlists); - self->use_playlists = _tmp0_; - _tmp1_ = _g_object_ref0 (root); + self->use_playlists = _tmp1_; + _tmp2_ = root; + _tmp3_ = _g_object_ref0 (_tmp2_); _g_object_unref0 (self->root_menu); - self->root_menu = _tmp1_; - player_controller_set_app_info (self, app); - player_controller_set_dbus_name (self, dbus_name); - player_controller_set_icon_name (self, icon_name); - _tmp2_ = gee_array_list_new (TYPE_PLAYER_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL); + self->root_menu = _tmp3_; + _tmp4_ = app; + player_controller_set_app_info (self, _tmp4_); + _tmp5_ = dbus_name; + player_controller_set_dbus_name (self, _tmp5_); + _tmp6_ = icon_name; + player_controller_set_icon_name (self, _tmp6_); + _tmp7_ = gee_array_list_new (TYPE_PLAYER_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL); _g_object_unref0 (self->custom_items); - self->custom_items = _tmp2_; - self->current_state = (gint) initial_state; - player_controller_set_menu_offset (self, offset); + self->custom_items = _tmp7_; + _tmp8_ = initial_state; + self->current_state = (gint) _tmp8_; + _tmp9_ = offset; + player_controller_set_menu_offset (self, _tmp9_); player_controller_construct_widgets (self); player_controller_establish_mpris_connection (self); player_controller_update_layout (self); - _tmp3_ = g_app_info_get_name (self->priv->_app_info); - g_debug ("player-controller.vala:76: New player controller for %s with icon nam" \ -"e %s", _tmp3_, self->priv->_icon_name); + _tmp10_ = self->priv->_app_info; + _tmp11_ = g_app_info_get_name (_tmp10_); + _tmp12_ = self->priv->_icon_name; + g_debug ("player-controller.vala:74: New player controller for %s with icon nam" \ +"e %s", _tmp11_, _tmp12_); return self; } @@ -335,48 +353,68 @@ PlayerController* player_controller_new (DbusmenuMenuitem* root, GAppInfo* app, void player_controller_update_state (PlayerController* self, PlayerControllerstate new_state) { - const gchar* _tmp0_ = NULL; + GAppInfo* _tmp0_; + const gchar* _tmp1_ = NULL; + PlayerControllerstate _tmp2_; + PlayerControllerstate _tmp3_; g_return_if_fail (self != NULL); - _tmp0_ = g_app_info_get_name (self->priv->_app_info); - g_debug ("player-controller.vala:81: update_state - player controller %s : new s" \ -"tate %i", _tmp0_, (gint) new_state); - self->current_state = (gint) new_state; + _tmp0_ = self->priv->_app_info; + _tmp1_ = g_app_info_get_name (_tmp0_); + _tmp2_ = new_state; + g_debug ("player-controller.vala:79: update_state - player controller %s : new s" \ +"tate %i", _tmp1_, (gint) _tmp2_); + _tmp3_ = new_state; + self->current_state = (gint) _tmp3_; player_controller_update_layout (self); } void player_controller_activate (PlayerController* self, const gchar* dbus_name) { + const gchar* _tmp0_; g_return_if_fail (self != NULL); g_return_if_fail (dbus_name != NULL); - player_controller_set_dbus_name (self, dbus_name); + _tmp0_ = dbus_name; + player_controller_set_dbus_name (self, _tmp0_); player_controller_establish_mpris_connection (self); } void player_controller_instantiate (PlayerController* self) { - const gchar* _tmp0_ = NULL; + GAppInfo* _tmp0_; + const gchar* _tmp1_ = NULL; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); - _tmp0_ = g_app_info_get_name (self->priv->_app_info); - g_debug ("player-controller.vala:101: instantiate in player controller for %s", _tmp0_); - g_app_info_launch (self->priv->_app_info, NULL, NULL, &_inner_error_); - if (_inner_error_ != NULL) { - goto __catch6_g_error; + _tmp0_ = self->priv->_app_info; + _tmp1_ = g_app_info_get_name (_tmp0_); + g_debug ("player-controller.vala:99: instantiate in player controller for %s", _tmp1_); + { + GAppInfo* _tmp2_; + _tmp2_ = self->priv->_app_info; + g_app_info_launch (_tmp2_, NULL, NULL, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch7_g_error; + } + player_controller_update_state (self, PLAYER_CONTROLLER_STATE_INSTANTIATING); } - player_controller_update_state (self, PLAYER_CONTROLLER_STATE_INSTANTIATING); - goto __finally6; - __catch6_g_error: + goto __finally7; + __catch7_g_error: { - GError * _error_; - const gchar* _tmp1_ = NULL; + GError* _error_ = NULL; + GAppInfo* _tmp3_; + const gchar* _tmp4_ = NULL; + GError* _tmp5_; + const gchar* _tmp6_; _error_ = _inner_error_; _inner_error_ = NULL; - _tmp1_ = g_app_info_get_name (self->priv->_app_info); - g_warning ("player-controller.vala:107: Failed to launch app %s with error message" \ -": %s", _tmp1_, _error_->message); + _tmp3_ = self->priv->_app_info; + _tmp4_ = g_app_info_get_name (_tmp3_); + _tmp5_ = _error_; + _tmp6_ = _tmp5_->message; + g_warning ("player-controller.vala:105: Failed to launch app %s with error message" \ +": %s", _tmp4_, _tmp6_); _g_error_free0 (_error_); } - __finally6: + __finally7: if (_inner_error_ != NULL) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -386,41 +424,57 @@ void player_controller_instantiate (PlayerController* self) { void player_controller_enable_track_specific_items (PlayerController* self, const gchar* object_path) { + SpecificItemsManager* _tmp0_; g_return_if_fail (self != NULL); g_return_if_fail (object_path != NULL); - if (self->priv->track_specific_mgr == NULL) { - SpecificItemsManager* _tmp0_ = NULL; - _tmp0_ = specific_items_manager_new (self, object_path, SPECIFIC_ITEMS_MANAGER_CATEGORY_TRACK); + _tmp0_ = self->priv->track_specific_mgr; + if (_tmp0_ == NULL) { + const gchar* _tmp1_; + SpecificItemsManager* _tmp2_; + _tmp1_ = object_path; + _tmp2_ = specific_items_manager_new (self, _tmp1_, SPECIFIC_ITEMS_MANAGER_CATEGORY_TRACK); _g_object_unref0 (self->priv->track_specific_mgr); - self->priv->track_specific_mgr = _tmp0_; + self->priv->track_specific_mgr = _tmp2_; } } void player_controller_enable_player_specific_items (PlayerController* self, const gchar* object_path) { + SpecificItemsManager* _tmp0_; g_return_if_fail (self != NULL); g_return_if_fail (object_path != NULL); - if (self->priv->player_specific_mgr == NULL) { - SpecificItemsManager* _tmp0_ = NULL; - _tmp0_ = specific_items_manager_new (self, object_path, SPECIFIC_ITEMS_MANAGER_CATEGORY_PLAYER); + _tmp0_ = self->priv->player_specific_mgr; + if (_tmp0_ == NULL) { + const gchar* _tmp1_; + SpecificItemsManager* _tmp2_; + _tmp1_ = object_path; + _tmp2_ = specific_items_manager_new (self, _tmp1_, SPECIFIC_ITEMS_MANAGER_CATEGORY_PLAYER); _g_object_unref0 (self->priv->player_specific_mgr); - self->priv->player_specific_mgr = _tmp0_; + self->priv->player_specific_mgr = _tmp2_; } } gint player_controller_track_specific_count (PlayerController* self) { gint result = 0; - GeeArrayList* _tmp0_ = NULL; - gint _tmp1_; + SpecificItemsManager* _tmp0_; + SpecificItemsManager* _tmp1_; + GeeArrayList* _tmp2_; + GeeArrayList* _tmp3_; + gint _tmp4_; + gint _tmp5_; g_return_val_if_fail (self != NULL, 0); - if (self->priv->track_specific_mgr == NULL) { + _tmp0_ = self->priv->track_specific_mgr; + if (_tmp0_ == NULL) { result = 0; return result; } - _tmp0_ = specific_items_manager_get_proxy_items (self->priv->track_specific_mgr); - _tmp1_ = gee_collection_get_size ((GeeCollection*) _tmp0_); - result = _tmp1_; + _tmp1_ = self->priv->track_specific_mgr; + _tmp2_ = specific_items_manager_get_proxy_items (_tmp1_); + _tmp3_ = _tmp2_; + _tmp4_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp3_); + _tmp5_ = _tmp4_; + result = _tmp5_; return result; } @@ -443,28 +497,36 @@ static gchar* bool_to_string (gboolean self) { static void player_controller_establish_mpris_connection (PlayerController* self) { gboolean _tmp0_ = FALSE; - gchar* _tmp1_ = NULL; - gchar* _tmp2_; - Mpris2Controller* _tmp3_ = NULL; + gint _tmp1_; + gboolean _tmp3_; + gboolean* _tmp4_; + gchar* _tmp5_ = NULL; + gchar* _tmp6_; + Mpris2Controller* _tmp7_; g_return_if_fail (self != NULL); - if (self->current_state != PLAYER_CONTROLLER_STATE_READY) { + _tmp1_ = self->current_state; + if (_tmp1_ != ((gint) PLAYER_CONTROLLER_STATE_READY)) { _tmp0_ = TRUE; } else { - _tmp0_ = self->priv->_dbus_name == NULL; + const gchar* _tmp2_; + _tmp2_ = self->priv->_dbus_name; + _tmp0_ = _tmp2_ == NULL; } - if (_tmp0_) { - g_debug ("player-controller.vala:141: establish_mpris_connection - Not ready to " \ + _tmp3_ = _tmp0_; + if (_tmp3_) { + g_debug ("player-controller.vala:139: establish_mpris_connection - Not ready to " \ "connect"); return; } - _tmp1_ = bool_to_string (*self->use_playlists); - _tmp2_ = _tmp1_; - g_debug ("player-controller.vala:144: establish mpris connection - use playlist" \ -"s value = %s ", _tmp2_); - _g_free0 (_tmp2_); - _tmp3_ = mpris2_controller_new (self); + _tmp4_ = self->use_playlists; + _tmp5_ = bool_to_string (*_tmp4_); + _tmp6_ = _tmp5_; + g_debug ("player-controller.vala:142: establish mpris connection - use playlist" \ +"s value = %s ", _tmp6_); + _g_free0 (_tmp6_); + _tmp7_ = mpris2_controller_new (self); _g_object_unref0 (self->mpris_bridge); - self->mpris_bridge = _tmp3_; + self->mpris_bridge = _tmp7_; player_controller_determine_state (self); } @@ -484,74 +546,104 @@ static gboolean _bool_equal (const gboolean* s1, const gboolean* s2) { void player_controller_remove_from_menu (PlayerController* self) { - gboolean _tmp3_; + gboolean* _tmp13_; + gboolean _tmp14_; g_return_if_fail (self != NULL); { GeeArrayList* _tmp0_; + GeeArrayList* _tmp1_; GeeArrayList* _item_list; - gint _tmp1_; + GeeArrayList* _tmp2_; + gint _tmp3_; + gint _tmp4_; gint _item_size; gint _item_index; - _tmp0_ = _g_object_ref0 (self->custom_items); - _item_list = _tmp0_; - _tmp1_ = gee_collection_get_size ((GeeCollection*) _item_list); - _item_size = _tmp1_; + _tmp0_ = self->custom_items; + _tmp1_ = _g_object_ref0 (_tmp0_); + _item_list = _tmp1_; + _tmp2_ = _item_list; + _tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_); + _tmp4_ = _tmp3_; + _item_size = _tmp4_; _item_index = -1; while (TRUE) { - gpointer _tmp2_ = NULL; + gint _tmp5_; + gint _tmp6_; + gint _tmp7_; + GeeArrayList* _tmp8_; + gint _tmp9_; + gpointer _tmp10_ = NULL; PlayerItem* item; - _item_index = _item_index + 1; - if (!(_item_index < _item_size)) { + DbusmenuMenuitem* _tmp11_; + PlayerItem* _tmp12_; + _tmp5_ = _item_index; + _item_index = _tmp5_ + 1; + _tmp6_ = _item_index; + _tmp7_ = _item_size; + if (!(_tmp6_ < _tmp7_)) { break; } - _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _item_list, _item_index); - item = (PlayerItem*) _tmp2_; - dbusmenu_menuitem_child_delete (self->root_menu, (DbusmenuMenuitem*) item); + _tmp8_ = _item_list; + _tmp9_ = _item_index; + _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_); + item = (PlayerItem*) _tmp10_; + _tmp11_ = self->root_menu; + _tmp12_ = item; + dbusmenu_menuitem_child_delete (_tmp11_, (DbusmenuMenuitem*) _tmp12_); _g_object_unref0 (item); } _g_object_unref0 (_item_list); } - _tmp3_ = TRUE; - if (_bool_equal (self->use_playlists, &_tmp3_) == TRUE) { - gpointer _tmp4_ = NULL; - PlayerItem* _tmp5_; + _tmp13_ = self->use_playlists; + _tmp14_ = TRUE; + if (_bool_equal (_tmp13_, &_tmp14_) == TRUE) { + GeeArrayList* _tmp15_; + gpointer _tmp16_ = NULL; PlaylistsMenuitem* playlists_menuitem; - _tmp4_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); - _tmp5_ = (PlayerItem*) _tmp4_; - playlists_menuitem = IS_PLAYLISTS_MENUITEM (_tmp5_) ? ((PlaylistsMenuitem*) _tmp5_) : NULL; - dbusmenu_menuitem_child_delete (self->root_menu, playlists_menuitem->root_item); + DbusmenuMenuitem* _tmp17_; + PlaylistsMenuitem* _tmp18_; + DbusmenuMenuitem* _tmp19_; + _tmp15_ = self->custom_items; + _tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); + playlists_menuitem = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp16_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp16_)) : NULL; + _tmp17_ = self->root_menu; + _tmp18_ = playlists_menuitem; + _tmp19_ = _tmp18_->root_item; + dbusmenu_menuitem_child_delete (_tmp17_, _tmp19_); _g_object_unref0 (playlists_menuitem); } } void player_controller_hibernate (PlayerController* self) { - gpointer _tmp0_ = NULL; - PlayerItem* _tmp1_; + GeeArrayList* _tmp0_; + gpointer _tmp1_ = NULL; TransportMenuitem* transport; - gpointer _tmp2_ = NULL; - PlayerItem* _tmp3_; - GeeHashSet* _tmp4_ = NULL; - GeeHashSet* _tmp5_; - gpointer _tmp6_ = NULL; - PlayerItem* _tmp7_; + GeeArrayList* _tmp2_; + gpointer _tmp3_ = NULL; + PlayerItem* _tmp4_; + GeeHashSet* _tmp5_ = NULL; + GeeHashSet* _tmp6_; + GeeArrayList* _tmp7_; + gpointer _tmp8_ = NULL; MetadataMenuitem* md; g_return_if_fail (self != NULL); player_controller_update_state (self, PLAYER_CONTROLLER_STATE_OFFLINE); - _tmp0_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); - _tmp1_ = (PlayerItem*) _tmp0_; - transport = IS_TRANSPORT_MENUITEM (_tmp1_) ? ((TransportMenuitem*) _tmp1_) : NULL; + _tmp0_ = self->custom_items; + _tmp1_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); + transport = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp1_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp1_)) : NULL; transport_menuitem_change_play_state (transport, TRANSPORT_STATE_PAUSED); - _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp3_ = (PlayerItem*) _tmp2_; - _tmp4_ = metadata_menuitem_relevant_attributes_for_ui (); - _tmp5_ = _tmp4_; - player_item_reset (_tmp3_, _tmp5_); - _g_object_unref0 (_tmp5_); - _g_object_unref0 (_tmp3_); - _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp7_ = (PlayerItem*) _tmp6_; - md = IS_METADATA_MENUITEM (_tmp7_) ? ((MetadataMenuitem*) _tmp7_) : NULL; + _tmp2_ = self->custom_items; + _tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _tmp2_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + _tmp4_ = (PlayerItem*) _tmp3_; + _tmp5_ = metadata_menuitem_relevant_attributes_for_ui (); + _tmp6_ = _tmp5_; + player_item_reset (_tmp4_, _tmp6_); + _g_object_unref0 (_tmp6_); + _g_object_unref0 (_tmp4_); + _tmp7_ = self->custom_items; + _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp8_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp8_)) : NULL; metadata_menuitem_toggle_active_triangle (md, FALSE); _g_object_unref0 (self->mpris_bridge); self->mpris_bridge = NULL; @@ -561,132 +653,216 @@ void player_controller_hibernate (PlayerController* self) { void player_controller_update_layout (PlayerController* self) { - gpointer _tmp0_ = NULL; - PlayerItem* _tmp1_; + GeeArrayList* _tmp0_; + gpointer _tmp1_ = NULL; PlaylistsMenuitem* playlists_menuitem; - gpointer _tmp2_ = NULL; - PlayerItem* _tmp3_; + GeeArrayList* _tmp2_; + gpointer _tmp3_ = NULL; MetadataMenuitem* metadata_menuitem; - gpointer _tmp7_ = NULL; - PlayerItem* _tmp8_; - GeeHashSet* _tmp9_ = NULL; - GeeHashSet* _tmp10_; - gboolean _tmp11_; - const gchar* _tmp12_ = NULL; + gint _tmp4_; + MetadataMenuitem* _tmp13_; + GeeArrayList* _tmp14_; + gpointer _tmp15_ = NULL; + PlayerItem* _tmp16_; + GeeHashSet* _tmp17_ = NULL; + GeeHashSet* _tmp18_; + gboolean _tmp19_ = FALSE; + GAppInfo* _tmp20_; + const gchar* _tmp21_ = NULL; + PlaylistsMenuitem* _tmp28_; + DbusmenuMenuitem* _tmp29_; + gboolean* _tmp30_; g_return_if_fail (self != NULL); - _tmp0_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); - _tmp1_ = (PlayerItem*) _tmp0_; - playlists_menuitem = IS_PLAYLISTS_MENUITEM (_tmp1_) ? ((PlaylistsMenuitem*) _tmp1_) : NULL; - _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp3_ = (PlayerItem*) _tmp2_; - metadata_menuitem = IS_METADATA_MENUITEM (_tmp3_) ? ((MetadataMenuitem*) _tmp3_) : NULL; - if (self->current_state != PLAYER_CONTROLLER_STATE_CONNECTED) { - gpointer _tmp4_ = NULL; - PlayerItem* _tmp5_; - const gchar* _tmp6_ = NULL; - metadata_menuitem_should_collapse (metadata_menuitem, TRUE); - dbusmenu_menuitem_property_set_bool (playlists_menuitem->root_item, DBUSMENU_MENUITEM_PROP_VISIBLE, FALSE); - _tmp4_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); - _tmp5_ = (PlayerItem*) _tmp4_; - _tmp6_ = g_app_info_get_id (self->priv->_app_info); - dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp5_, DBUSMENU_MENUITEM_PROP_VISIBLE, g_strcmp0 (_tmp6_, "rhythmbox.desktop") == 0); - _g_object_unref0 (_tmp5_); + _tmp0_ = self->custom_items; + _tmp1_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS); + playlists_menuitem = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp1_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp1_)) : NULL; + _tmp2_ = self->custom_items; + _tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _tmp2_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + metadata_menuitem = IS_METADATA_MENUITEM ((PlayerItem*) _tmp3_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp3_)) : NULL; + _tmp4_ = self->current_state; + if (_tmp4_ != ((gint) PLAYER_CONTROLLER_STATE_CONNECTED)) { + MetadataMenuitem* _tmp5_; + PlaylistsMenuitem* _tmp6_; + DbusmenuMenuitem* _tmp7_; + GeeArrayList* _tmp8_; + gpointer _tmp9_ = NULL; + PlayerItem* _tmp10_; + GAppInfo* _tmp11_; + const gchar* _tmp12_ = NULL; + _tmp5_ = metadata_menuitem; + metadata_menuitem_should_collapse (_tmp5_, TRUE); + _tmp6_ = playlists_menuitem; + _tmp7_ = _tmp6_->root_item; + dbusmenu_menuitem_property_set_bool (_tmp7_, DBUSMENU_MENUITEM_PROP_VISIBLE, FALSE); + _tmp8_ = self->custom_items; + _tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); + _tmp10_ = (PlayerItem*) _tmp9_; + _tmp11_ = self->priv->_app_info; + _tmp12_ = g_app_info_get_id (_tmp11_); + dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp10_, DBUSMENU_MENUITEM_PROP_VISIBLE, g_strcmp0 (_tmp12_, "rhythmbox.desktop") == 0); + _g_object_unref0 (_tmp10_); _g_object_unref0 (metadata_menuitem); _g_object_unref0 (playlists_menuitem); return; } - _tmp7_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp8_ = (PlayerItem*) _tmp7_; - _tmp9_ = metadata_menuitem_relevant_attributes_for_ui (); - _tmp10_ = _tmp9_; - _tmp11_ = player_item_populated (_tmp8_, _tmp10_); - metadata_menuitem_should_collapse (metadata_menuitem, !_tmp11_); - _g_object_unref0 (_tmp10_); - _g_object_unref0 (_tmp8_); - _tmp12_ = g_app_info_get_id (self->priv->_app_info); - if (g_strcmp0 (_tmp12_, "rhythmbox.desktop") == 0) { - gpointer _tmp13_ = NULL; - PlayerItem* _tmp14_; + _tmp13_ = metadata_menuitem; + _tmp14_ = self->custom_items; + _tmp15_ = gee_abstract_list_get ((GeeAbstractList*) _tmp14_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + _tmp16_ = (PlayerItem*) _tmp15_; + _tmp17_ = metadata_menuitem_relevant_attributes_for_ui (); + _tmp18_ = _tmp17_; + _tmp19_ = player_item_populated (_tmp16_, _tmp18_); + metadata_menuitem_should_collapse (_tmp13_, !_tmp19_); + _g_object_unref0 (_tmp18_); + _g_object_unref0 (_tmp16_); + _tmp20_ = self->priv->_app_info; + _tmp21_ = g_app_info_get_id (_tmp20_); + if (g_strcmp0 (_tmp21_, "rhythmbox.desktop") == 0) { + GeeArrayList* _tmp22_; + gpointer _tmp23_ = NULL; TransportMenuitem* transport; - _tmp13_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); - _tmp14_ = (PlayerItem*) _tmp13_; - transport = IS_TRANSPORT_MENUITEM (_tmp14_) ? ((TransportMenuitem*) _tmp14_) : NULL; - transport_menuitem_handle_cached_action (transport); + TransportMenuitem* _tmp24_; + _tmp22_ = self->custom_items; + _tmp23_ = gee_abstract_list_get ((GeeAbstractList*) _tmp22_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); + transport = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp23_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp23_)) : NULL; + _tmp24_ = transport; + transport_menuitem_handle_cached_action (_tmp24_); _g_object_unref0 (transport); } else { - gpointer _tmp15_ = NULL; - PlayerItem* _tmp16_; - _tmp15_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); - _tmp16_ = (PlayerItem*) _tmp15_; - dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp16_, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE); - _g_object_unref0 (_tmp16_); + GeeArrayList* _tmp25_; + gpointer _tmp26_ = NULL; + PlayerItem* _tmp27_; + _tmp25_ = self->custom_items; + _tmp26_ = gee_abstract_list_get ((GeeAbstractList*) _tmp25_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT); + _tmp27_ = (PlayerItem*) _tmp26_; + dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp27_, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE); + _g_object_unref0 (_tmp27_); } - dbusmenu_menuitem_property_set_bool (playlists_menuitem->root_item, DBUSMENU_MENUITEM_PROP_VISIBLE, *self->use_playlists); + _tmp28_ = playlists_menuitem; + _tmp29_ = _tmp28_->root_item; + _tmp30_ = self->use_playlists; + dbusmenu_menuitem_property_set_bool (_tmp29_, DBUSMENU_MENUITEM_PROP_VISIBLE, *_tmp30_); _g_object_unref0 (metadata_menuitem); _g_object_unref0 (playlists_menuitem); } static void player_controller_construct_widgets (PlayerController* self) { - PlayerItem* _tmp0_ = NULL; + GeeArrayList* _tmp0_; PlayerItem* _tmp1_; - MetadataMenuitem* _tmp2_ = NULL; + PlayerItem* _tmp2_; + MetadataMenuitem* _tmp3_; MetadataMenuitem* metadata_item; - TransportMenuitem* _tmp3_ = NULL; + GeeArrayList* _tmp4_; + MetadataMenuitem* _tmp5_; + TransportMenuitem* _tmp6_; TransportMenuitem* transport_item; - PlaylistsMenuitem* _tmp4_ = NULL; + GeeArrayList* _tmp7_; + TransportMenuitem* _tmp8_; + PlaylistsMenuitem* _tmp9_; PlaylistsMenuitem* playlist_menuitem; + GeeArrayList* _tmp10_; + PlaylistsMenuitem* _tmp11_; g_return_if_fail (self != NULL); - _tmp0_ = player_item_new (DBUSMENU_CLIENT_TYPES_SEPARATOR); - _tmp1_ = _tmp0_; - gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, _tmp1_); - _g_object_unref0 (_tmp1_); - _tmp2_ = metadata_menuitem_new (self); - metadata_item = _tmp2_; - gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, (PlayerItem*) metadata_item); - _tmp3_ = transport_menuitem_new (self); - transport_item = _tmp3_; - gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, (PlayerItem*) transport_item); - _tmp4_ = playlists_menuitem_new (self); - playlist_menuitem = _tmp4_; - gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, (PlayerItem*) playlist_menuitem); + _tmp0_ = self->custom_items; + _tmp1_ = player_item_new (DBUSMENU_CLIENT_TYPES_SEPARATOR); + _tmp2_ = _tmp1_; + gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, _tmp2_); + _g_object_unref0 (_tmp2_); + _tmp3_ = metadata_menuitem_new (self); + metadata_item = _tmp3_; + _tmp4_ = self->custom_items; + _tmp5_ = metadata_item; + gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, (PlayerItem*) _tmp5_); + _tmp6_ = transport_menuitem_new (self); + transport_item = _tmp6_; + _tmp7_ = self->custom_items; + _tmp8_ = transport_item; + gee_abstract_collection_add ((GeeAbstractCollection*) _tmp7_, (PlayerItem*) _tmp8_); + _tmp9_ = playlists_menuitem_new (self); + playlist_menuitem = _tmp9_; + _tmp10_ = self->custom_items; + _tmp11_ = playlist_menuitem; + gee_abstract_collection_add ((GeeAbstractCollection*) _tmp10_, (PlayerItem*) _tmp11_); { - GeeArrayList* _tmp5_; + GeeArrayList* _tmp12_; + GeeArrayList* _tmp13_; GeeArrayList* _item_list; - gint _tmp6_; + GeeArrayList* _tmp14_; + gint _tmp15_; + gint _tmp16_; gint _item_size; gint _item_index; - _tmp5_ = _g_object_ref0 (self->custom_items); - _item_list = _tmp5_; - _tmp6_ = gee_collection_get_size ((GeeCollection*) _item_list); - _item_size = _tmp6_; + _tmp12_ = self->custom_items; + _tmp13_ = _g_object_ref0 (_tmp12_); + _item_list = _tmp13_; + _tmp14_ = _item_list; + _tmp15_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp14_); + _tmp16_ = _tmp15_; + _item_size = _tmp16_; _item_index = -1; while (TRUE) { - gpointer _tmp7_ = NULL; + gint _tmp17_; + gint _tmp18_; + gint _tmp19_; + GeeArrayList* _tmp20_; + gint _tmp21_; + gpointer _tmp22_ = NULL; PlayerItem* item; - gint _tmp8_; - _item_index = _item_index + 1; - if (!(_item_index < _item_size)) { + GeeArrayList* _tmp23_; + PlayerItem* _tmp24_; + gint _tmp25_ = 0; + _tmp17_ = _item_index; + _item_index = _tmp17_ + 1; + _tmp18_ = _item_index; + _tmp19_ = _item_size; + if (!(_tmp18_ < _tmp19_)) { break; } - _tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _item_list, _item_index); - item = (PlayerItem*) _tmp7_; - _tmp8_ = gee_abstract_list_index_of ((GeeAbstractList*) self->custom_items, item); - if (_tmp8_ == (PLAYER_CONTROLLER_WIDGET_QUANTITY - 1)) { - PlayerItem* _tmp9_; - PlaylistsMenuitem* _tmp10_; + _tmp20_ = _item_list; + _tmp21_ = _item_index; + _tmp22_ = gee_abstract_list_get ((GeeAbstractList*) _tmp20_, _tmp21_); + item = (PlayerItem*) _tmp22_; + _tmp23_ = self->custom_items; + _tmp24_ = item; + _tmp25_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp23_, _tmp24_); + if (_tmp25_ == (PLAYER_CONTROLLER_WIDGET_QUANTITY - 1)) { + PlayerItem* _tmp26_; + PlaylistsMenuitem* _tmp27_; PlaylistsMenuitem* playlists_menuitem; - gint _tmp11_; - _tmp9_ = item; - _tmp10_ = _g_object_ref0 (IS_PLAYLISTS_MENUITEM (_tmp9_) ? ((PlaylistsMenuitem*) _tmp9_) : NULL); - playlists_menuitem = _tmp10_; - _tmp11_ = gee_abstract_list_index_of ((GeeAbstractList*) self->custom_items, item); - dbusmenu_menuitem_child_add_position (self->root_menu, playlists_menuitem->root_item, (guint) (self->priv->_menu_offset + _tmp11_)); + DbusmenuMenuitem* _tmp28_; + PlaylistsMenuitem* _tmp29_; + DbusmenuMenuitem* _tmp30_; + gint _tmp31_; + GeeArrayList* _tmp32_; + PlayerItem* _tmp33_; + gint _tmp34_ = 0; + _tmp26_ = item; + _tmp27_ = _g_object_ref0 (IS_PLAYLISTS_MENUITEM (_tmp26_) ? ((PlaylistsMenuitem*) _tmp26_) : NULL); + playlists_menuitem = _tmp27_; + _tmp28_ = self->root_menu; + _tmp29_ = playlists_menuitem; + _tmp30_ = _tmp29_->root_item; + _tmp31_ = self->priv->_menu_offset; + _tmp32_ = self->custom_items; + _tmp33_ = item; + _tmp34_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp32_, _tmp33_); + dbusmenu_menuitem_child_add_position (_tmp28_, _tmp30_, (guint) (_tmp31_ + _tmp34_)); _g_object_unref0 (playlists_menuitem); } else { - gint _tmp12_; - _tmp12_ = gee_abstract_list_index_of ((GeeAbstractList*) self->custom_items, item); - dbusmenu_menuitem_child_add_position (self->root_menu, (DbusmenuMenuitem*) item, (guint) (self->priv->_menu_offset + _tmp12_)); + DbusmenuMenuitem* _tmp35_; + PlayerItem* _tmp36_; + gint _tmp37_; + GeeArrayList* _tmp38_; + PlayerItem* _tmp39_; + gint _tmp40_ = 0; + _tmp35_ = self->root_menu; + _tmp36_ = item; + _tmp37_ = self->priv->_menu_offset; + _tmp38_ = self->custom_items; + _tmp39_ = item; + _tmp40_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp38_, _tmp39_); + dbusmenu_menuitem_child_add_position (_tmp35_, (DbusmenuMenuitem*) _tmp36_, (guint) (_tmp37_ + _tmp40_)); } _g_object_unref0 (item); } @@ -699,19 +875,25 @@ static void player_controller_construct_widgets (PlayerController* self) { static void player_controller_determine_state (PlayerController* self) { - gboolean _tmp0_; + Mpris2Controller* _tmp0_; + gboolean _tmp1_ = FALSE; g_return_if_fail (self != NULL); - _tmp0_ = mpris2_controller_connected (self->mpris_bridge); - if (_tmp0_ == TRUE) { - gpointer _tmp1_ = NULL; - PlayerItem* _tmp2_; + _tmp0_ = self->mpris_bridge; + _tmp1_ = mpris2_controller_connected (_tmp0_); + if (_tmp1_ == TRUE) { + GeeArrayList* _tmp2_; + gpointer _tmp3_ = NULL; MetadataMenuitem* md; + MetadataMenuitem* _tmp4_; + Mpris2Controller* _tmp5_; player_controller_update_state (self, PLAYER_CONTROLLER_STATE_CONNECTED); - _tmp1_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); - _tmp2_ = (PlayerItem*) _tmp1_; - md = IS_METADATA_MENUITEM (_tmp2_) ? ((MetadataMenuitem*) _tmp2_) : NULL; - metadata_menuitem_toggle_active_triangle (md, TRUE); - mpris2_controller_initial_update (self->mpris_bridge); + _tmp2_ = self->custom_items; + _tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _tmp2_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA); + md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp3_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp3_)) : NULL; + _tmp4_ = md; + metadata_menuitem_toggle_active_triangle (_tmp4_, TRUE); + _tmp5_ = self->mpris_bridge; + mpris2_controller_initial_update (_tmp5_); _g_object_unref0 (md); } else { player_controller_update_state (self, PLAYER_CONTROLLER_STATE_DISCONNECTED); @@ -721,69 +903,85 @@ static void player_controller_determine_state (PlayerController* self) { const gchar* player_controller_get_dbus_name (PlayerController* self) { const gchar* result; + const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_dbus_name; + _tmp0_ = self->priv->_dbus_name; + result = _tmp0_; return result; } void player_controller_set_dbus_name (PlayerController* self, const gchar* value) { - gchar* _tmp0_; + const gchar* _tmp0_; + gchar* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = g_strdup (value); + _tmp0_ = value; + _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_dbus_name); - self->priv->_dbus_name = _tmp0_; + self->priv->_dbus_name = _tmp1_; g_object_notify ((GObject *) self, "dbus-name"); } GAppInfo* player_controller_get_app_info (PlayerController* self) { GAppInfo* result; + GAppInfo* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_app_info; + _tmp0_ = self->priv->_app_info; + result = _tmp0_; return result; } void player_controller_set_app_info (PlayerController* self, GAppInfo* value) { GAppInfo* _tmp0_; + GAppInfo* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_app_info); - self->priv->_app_info = _tmp0_; + self->priv->_app_info = _tmp1_; g_object_notify ((GObject *) self, "app-info"); } gint player_controller_get_menu_offset (PlayerController* self) { gint result; + gint _tmp0_; g_return_val_if_fail (self != NULL, 0); - result = self->priv->_menu_offset; + _tmp0_ = self->priv->_menu_offset; + result = _tmp0_; return result; } void player_controller_set_menu_offset (PlayerController* self, gint value) { + gint _tmp0_; g_return_if_fail (self != NULL); - self->priv->_menu_offset = value; + _tmp0_ = value; + self->priv->_menu_offset = _tmp0_; g_object_notify ((GObject *) self, "menu-offset"); } const gchar* player_controller_get_icon_name (PlayerController* self) { const gchar* result; + const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_icon_name; + _tmp0_ = self->priv->_icon_name; + result = _tmp0_; return result; } void player_controller_set_icon_name (PlayerController* self, const gchar* value) { - gchar* _tmp0_; + const gchar* _tmp0_; + gchar* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = g_strdup (value); + _tmp0_ = value; + _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_icon_name); - self->priv->_icon_name = _tmp0_; + self->priv->_icon_name = _tmp1_; g_object_notify ((GObject *) self, "icon-name"); } diff --git a/src/player-controller.vala b/src/player-controller.vala index 05996c6..8d3e6cc 100644 --- a/src/player-controller.vala +++ b/src/player-controller.vala @@ -30,8 +30,6 @@ public class PlayerController : GLib.Object TRANSPORT, PLAYLISTS } - - public enum state{ OFFLINE, diff --git a/src/player-item.c b/src/player-item.c index 92f4e10..2cb449b 100644 --- a/src/player-item.c +++ b/src/player-item.c @@ -1,4 +1,4 @@ -/* player-item.c generated by valac 0.12.1, the Vala compiler +/* player-item.c generated by valac 0.14.2, the Vala compiler * generated from player-item.vala, do not modify */ /* @@ -116,8 +116,10 @@ static gint _vala_array_length (gpointer array); PlayerItem* player_item_construct (GType object_type, const gchar* type) { PlayerItem * self = NULL; + const gchar* _tmp0_; g_return_val_if_fail (type != NULL, NULL); - self = (PlayerItem*) g_object_new (object_type, "item-type", type, NULL); + _tmp0_ = type; + self = (PlayerItem*) g_object_new (object_type, "item-type", _tmp0_, NULL); return self; } @@ -131,21 +133,29 @@ void player_item_reset (PlayerItem* self, GeeHashSet* attrs) { g_return_if_fail (self != NULL); g_return_if_fail (attrs != NULL); { - GeeIterator* _tmp0_ = NULL; + GeeHashSet* _tmp0_; + GeeIterator* _tmp1_ = NULL; GeeIterator* _s_it; - _tmp0_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) attrs); - _s_it = _tmp0_; + _tmp0_ = attrs; + _tmp1_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) _tmp0_); + _s_it = _tmp1_; while (TRUE) { - gboolean _tmp1_; - gpointer _tmp2_ = NULL; + GeeIterator* _tmp2_; + gboolean _tmp3_ = FALSE; + GeeIterator* _tmp4_; + gpointer _tmp5_ = NULL; gchar* s; - _tmp1_ = gee_iterator_next (_s_it); - if (!_tmp1_) { + const gchar* _tmp6_; + _tmp2_ = _s_it; + _tmp3_ = gee_iterator_next (_tmp2_); + if (!_tmp3_) { break; } - _tmp2_ = gee_iterator_get (_s_it); - s = (gchar*) _tmp2_; - dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, s, PLAYER_ITEM_EMPTY); + _tmp4_ = _s_it; + _tmp5_ = gee_iterator_get (_tmp4_); + s = (gchar*) _tmp5_; + _tmp6_ = s; + dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, _tmp6_, PLAYER_ITEM_EMPTY); _g_free0 (s); } _g_object_unref0 (_s_it); @@ -168,10 +178,12 @@ static gchar* string_strip (const gchar* self) { gchar* result = NULL; gchar* _tmp0_ = NULL; gchar* _result_; + const gchar* _tmp1_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = g_strdup (self); _result_ = _tmp0_; - g_strstrip (_result_); + _tmp1_ = _result_; + g_strstrip (_tmp1_); result = _result_; return result; } @@ -179,11 +191,13 @@ static gchar* string_strip (const gchar* self) { static gboolean string_contains (const gchar* self, const gchar* needle) { gboolean result = FALSE; - gchar* _tmp0_ = NULL; + const gchar* _tmp0_; + gchar* _tmp1_ = NULL; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (needle != NULL, FALSE); - _tmp0_ = strstr ((gchar*) self, (gchar*) needle); - result = _tmp0_ != NULL; + _tmp0_ = needle; + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); + result = _tmp1_ != NULL; return result; } @@ -194,74 +208,118 @@ static gpointer _g_object_ref0 (gpointer self) { void player_item_update (PlayerItem* self, GHashTable* data, GeeHashSet* attributes) { + GHashTable* _tmp0_; g_return_if_fail (self != NULL); g_return_if_fail (data != NULL); g_return_if_fail (attributes != NULL); - if (data == NULL) { + _tmp0_ = data; + if (_tmp0_ == NULL) { g_warning ("player-item.vala:54: PlayerItem::Update -> The hashtable was null - ju" \ "st leave it!"); return; } { - GeeIterator* _tmp0_ = NULL; + GeeHashSet* _tmp1_; + GeeIterator* _tmp2_ = NULL; GeeIterator* _property_it; - _tmp0_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) attributes); - _property_it = _tmp0_; + _tmp1_ = attributes; + _tmp2_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) _tmp1_); + _property_it = _tmp2_; while (TRUE) { - gboolean _tmp1_; - gpointer _tmp2_ = NULL; + GeeIterator* _tmp3_; + gboolean _tmp4_ = FALSE; + GeeIterator* _tmp5_; + gpointer _tmp6_ = NULL; gchar* property; - gchar** _tmp3_; - gchar** _tmp4_ = NULL; + const gchar* _tmp7_; + gchar** _tmp8_; + gchar** _tmp9_ = NULL; gchar** input_keys; gint input_keys_length1; gint _input_keys_size_; - gchar* _tmp5_; + gchar** _tmp10_; + gint _tmp10__length1; + gchar** _tmp11_; + gint _tmp11__length1; + gchar** _tmp12_; + gint _tmp12__length1; + const gchar* _tmp13_; + gchar* _tmp14_; gchar* search_key; - gconstpointer _tmp6_ = NULL; - GVariant* _tmp7_; + GHashTable* _tmp15_; + const gchar* _tmp16_; + gconstpointer _tmp17_ = NULL; + GVariant* _tmp18_; GVariant* v; - gboolean _tmp8_; - _tmp1_ = gee_iterator_next (_property_it); - if (!_tmp1_) { + GVariant* _tmp19_; + GVariant* _tmp20_; + const GVariantType* _tmp21_; + gboolean _tmp22_ = FALSE; + _tmp3_ = _property_it; + _tmp4_ = gee_iterator_next (_tmp3_); + if (!_tmp4_) { break; } - _tmp2_ = gee_iterator_get (_property_it); - property = (gchar*) _tmp2_; - _tmp4_ = _tmp3_ = g_strsplit (property, "-", 0); - input_keys = _tmp4_; - input_keys_length1 = _vala_array_length (_tmp3_); - _input_keys_size_ = _vala_array_length (_tmp3_); - _tmp5_ = g_strdup ((input_keys + (input_keys_length1 - 1))[0]); - search_key = _tmp5_; - _tmp6_ = g_hash_table_lookup (data, search_key); - _tmp7_ = _g_variant_ref0 ((GVariant*) _tmp6_); - v = _tmp7_; - if (v == NULL) { + _tmp5_ = _property_it; + _tmp6_ = gee_iterator_get (_tmp5_); + property = (gchar*) _tmp6_; + _tmp7_ = property; + _tmp9_ = _tmp8_ = g_strsplit (_tmp7_, "-", 0); + input_keys = _tmp9_; + input_keys_length1 = _vala_array_length (_tmp8_); + _input_keys_size_ = input_keys_length1; + _tmp10_ = input_keys; + _tmp10__length1 = input_keys_length1; + _tmp11_ = input_keys; + _tmp11__length1 = input_keys_length1; + _tmp12_ = input_keys; + _tmp12__length1 = input_keys_length1; + _tmp13_ = (_tmp10_ + (_tmp11__length1 - 1))[0]; + _tmp14_ = g_strdup (_tmp13_); + search_key = _tmp14_; + _tmp15_ = data; + _tmp16_ = search_key; + _tmp17_ = g_hash_table_lookup (_tmp15_, _tmp16_); + _tmp18_ = _g_variant_ref0 ((GVariant*) _tmp17_); + v = _tmp18_; + _tmp19_ = v; + if (_tmp19_ == NULL) { _g_variant_unref0 (v); _g_free0 (search_key); input_keys = (_vala_array_free (input_keys, input_keys_length1, (GDestroyNotify) g_free), NULL); _g_free0 (property); continue; } - _tmp8_ = g_variant_is_of_type (v, G_VARIANT_TYPE_STRING); - if (_tmp8_) { - const gchar* _tmp9_ = NULL; - gchar* _tmp10_ = NULL; + _tmp20_ = v; + _tmp21_ = G_VARIANT_TYPE_STRING; + _tmp22_ = g_variant_is_of_type (_tmp20_, _tmp21_); + if (_tmp22_) { + GVariant* _tmp23_; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; gchar* update; - gboolean _tmp11_; - _tmp9_ = g_variant_get_string (v, NULL); - _tmp10_ = string_strip (_tmp9_); - update = _tmp10_; - _tmp11_ = string_contains (property, "mpris:artUrl"); - if (_tmp11_) { - PlayerItem* _tmp12_; - MetadataMenuitem* _tmp13_; + const gchar* _tmp26_; + gboolean _tmp27_ = FALSE; + const gchar* _tmp32_; + const gchar* _tmp33_; + _tmp23_ = v; + _tmp24_ = g_variant_get_string (_tmp23_, NULL); + _tmp25_ = string_strip (_tmp24_); + update = _tmp25_; + _tmp26_ = property; + _tmp27_ = string_contains (_tmp26_, "mpris:artUrl"); + if (_tmp27_) { + MetadataMenuitem* _tmp28_; MetadataMenuitem* metadata; - _tmp12_ = self; - _tmp13_ = _g_object_ref0 (IS_METADATA_MENUITEM (_tmp12_) ? ((MetadataMenuitem*) _tmp12_) : NULL); - metadata = _tmp13_; - metadata_menuitem_fetch_art (metadata, update, property); + MetadataMenuitem* _tmp29_; + const gchar* _tmp30_; + const gchar* _tmp31_; + _tmp28_ = _g_object_ref0 (IS_METADATA_MENUITEM (self) ? ((MetadataMenuitem*) self) : NULL); + metadata = _tmp28_; + _tmp29_ = metadata; + _tmp30_ = update; + _tmp31_ = property; + metadata_menuitem_fetch_art (_tmp29_, _tmp30_, _tmp31_); _g_object_unref0 (metadata); _g_free0 (update); _g_variant_unref0 (v); @@ -270,29 +328,55 @@ void player_item_update (PlayerItem* self, GHashTable* data, GeeHashSet* attribu _g_free0 (property); continue; } - dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, property, update); + _tmp32_ = property; + _tmp33_ = update; + dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, _tmp32_, _tmp33_); _g_free0 (update); } else { - gboolean _tmp14_; - _tmp14_ = g_variant_is_of_type (v, G_VARIANT_TYPE_INT32); - if (_tmp14_) { - gint32 _tmp15_; - _tmp15_ = g_variant_get_int32 (v); - dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, property, (gint) _tmp15_); + GVariant* _tmp34_; + const GVariantType* _tmp35_; + gboolean _tmp36_ = FALSE; + _tmp34_ = v; + _tmp35_ = G_VARIANT_TYPE_INT32; + _tmp36_ = g_variant_is_of_type (_tmp34_, _tmp35_); + if (_tmp36_) { + const gchar* _tmp37_; + GVariant* _tmp38_; + gint32 _tmp39_ = 0; + _tmp37_ = property; + _tmp38_ = v; + _tmp39_ = g_variant_get_int32 (_tmp38_); + dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, _tmp37_, (gint) _tmp39_); } else { - gboolean _tmp16_; - _tmp16_ = g_variant_is_of_type (v, G_VARIANT_TYPE_INT64); - if (_tmp16_) { - gint64 _tmp17_; - _tmp17_ = g_variant_get_int64 (v); - dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, property, (gint) _tmp17_); + GVariant* _tmp40_; + const GVariantType* _tmp41_; + gboolean _tmp42_ = FALSE; + _tmp40_ = v; + _tmp41_ = G_VARIANT_TYPE_INT64; + _tmp42_ = g_variant_is_of_type (_tmp40_, _tmp41_); + if (_tmp42_) { + const gchar* _tmp43_; + GVariant* _tmp44_; + gint64 _tmp45_ = 0LL; + _tmp43_ = property; + _tmp44_ = v; + _tmp45_ = g_variant_get_int64 (_tmp44_); + dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, _tmp43_, (gint) _tmp45_); } else { - gboolean _tmp18_; - _tmp18_ = g_variant_is_of_type (v, G_VARIANT_TYPE_BOOLEAN); - if (_tmp18_) { - gboolean _tmp19_; - _tmp19_ = g_variant_get_boolean (v); - dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, property, _tmp19_); + GVariant* _tmp46_; + const GVariantType* _tmp47_; + gboolean _tmp48_ = FALSE; + _tmp46_ = v; + _tmp47_ = G_VARIANT_TYPE_BOOLEAN; + _tmp48_ = g_variant_is_of_type (_tmp46_, _tmp47_); + if (_tmp48_) { + const gchar* _tmp49_; + GVariant* _tmp50_; + gboolean _tmp51_ = FALSE; + _tmp49_ = property; + _tmp50_ = v; + _tmp51_ = g_variant_get_boolean (_tmp50_); + dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) self, _tmp49_, _tmp51_); } } } @@ -312,23 +396,31 @@ gboolean player_item_populated (PlayerItem* self, GeeHashSet* attrs) { g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (attrs != NULL, FALSE); { - GeeIterator* _tmp0_ = NULL; + GeeHashSet* _tmp0_; + GeeIterator* _tmp1_ = NULL; GeeIterator* _prop_it; - _tmp0_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) attrs); - _prop_it = _tmp0_; + _tmp0_ = attrs; + _tmp1_ = gee_abstract_collection_iterator ((GeeAbstractCollection*) _tmp0_); + _prop_it = _tmp1_; while (TRUE) { - gboolean _tmp1_; - gpointer _tmp2_ = NULL; + GeeIterator* _tmp2_; + gboolean _tmp3_ = FALSE; + GeeIterator* _tmp4_; + gpointer _tmp5_ = NULL; gchar* prop; - gint _tmp3_; - _tmp1_ = gee_iterator_next (_prop_it); - if (!_tmp1_) { + const gchar* _tmp6_; + gint _tmp7_ = 0; + _tmp2_ = _prop_it; + _tmp3_ = gee_iterator_next (_tmp2_); + if (!_tmp3_) { break; } - _tmp2_ = gee_iterator_get (_prop_it); - prop = (gchar*) _tmp2_; - _tmp3_ = dbusmenu_menuitem_property_get_int ((DbusmenuMenuitem*) self, prop); - if (_tmp3_ != PLAYER_ITEM_EMPTY) { + _tmp4_ = _prop_it; + _tmp5_ = gee_iterator_get (_tmp4_); + prop = (gchar*) _tmp5_; + _tmp6_ = prop; + _tmp7_ = dbusmenu_menuitem_property_get_int ((DbusmenuMenuitem*) self, _tmp6_); + if (_tmp7_ != PLAYER_ITEM_EMPTY) { result = TRUE; _g_free0 (prop); _g_object_unref0 (_prop_it); @@ -345,36 +437,44 @@ gboolean player_item_populated (PlayerItem* self, GeeHashSet* attrs) { PlayerController* player_item_get_owner (PlayerItem* self) { PlayerController* result; + PlayerController* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_owner; + _tmp0_ = self->priv->_owner; + result = _tmp0_; return result; } static void player_item_set_owner (PlayerItem* self, PlayerController* value) { PlayerController* _tmp0_; + PlayerController* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_owner); - self->priv->_owner = _tmp0_; + self->priv->_owner = _tmp1_; g_object_notify ((GObject *) self, "owner"); } const gchar* player_item_get_item_type (PlayerItem* self) { const gchar* result; + const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_item_type; + _tmp0_ = self->priv->_item_type; + result = _tmp0_; return result; } static void player_item_set_item_type (PlayerItem* self, const gchar* value) { - gchar* _tmp0_; + const gchar* _tmp0_; + gchar* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = g_strdup (value); + _tmp0_ = value; + _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_item_type); - self->priv->_item_type = _tmp0_; + self->priv->_item_type = _tmp1_; g_object_notify ((GObject *) self, "item-type"); } @@ -383,10 +483,12 @@ static GObject * player_item_constructor (GType type, guint n_construct_properti GObject * obj; GObjectClass * parent_class; PlayerItem * self; + const gchar* _tmp0_; parent_class = G_OBJECT_CLASS (player_item_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = PLAYER_ITEM (obj); - dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_MENUITEM_PROP_TYPE, self->priv->_item_type); + _tmp0_ = self->priv->_item_type; + dbusmenu_menuitem_property_set ((DbusmenuMenuitem*) self, DBUSMENU_MENUITEM_PROP_TYPE, _tmp0_); return obj; } diff --git a/src/playlists-menu-item.c b/src/playlists-menu-item.c index 5758f66..a84aae4 100644 --- a/src/playlists-menu-item.c +++ b/src/playlists-menu-item.c @@ -1,4 +1,4 @@ -/* playlists-menu-item.c generated by valac 0.12.1, the Vala compiler +/* playlists-menu-item.c generated by valac 0.14.2, the Vala compiler * generated from playlists-menu-item.vala, do not modify */ /* @@ -71,7 +71,7 @@ typedef struct _PlayerControllerClass PlayerControllerClass; #define TYPE_PLAYLIST_DETAILS (playlist_details_get_type ()) typedef struct _PlaylistDetails PlaylistDetails; -typedef struct _Block1Data Block1Data; +typedef struct _Block2Data Block2Data; #define _g_free0(var) (var = (g_free (var), NULL)) typedef struct _PlayerControllerPrivate PlayerControllerPrivate; @@ -114,7 +114,7 @@ struct _PlaylistDetails { gchar* icon_path; }; -struct _Block1Data { +struct _Block2Data { int _ref_count_; PlaylistsMenuitem * self; DbusmenuMenuitem* menuitem; @@ -152,14 +152,14 @@ void playlist_details_free (PlaylistDetails* self); void playlist_details_copy (const PlaylistDetails* self, PlaylistDetails* dest); void playlist_details_destroy (PlaylistDetails* self); void playlists_menuitem_update (PlaylistsMenuitem* self, PlaylistDetails* playlists, int playlists_length1); -static Block1Data* block1_data_ref (Block1Data* _data1_); -static void block1_data_unref (Block1Data* _data1_); +static Block2Data* block2_data_ref (Block2Data* _data2_); +static void block2_data_unref (Block2Data* _data2_); static gboolean playlists_menuitem_already_observed (PlaylistsMenuitem* self, PlaylistDetails* new_detail); static gboolean playlists_menuitem_is_video_related (PlaylistsMenuitem* self, PlaylistDetails* new_detail); static gchar* playlists_menuitem_truncate_item_label_if_needs_be (PlaylistsMenuitem* self, const gchar* item_label); -static void _lambda1_ (Block1Data* _data1_); +static void ____lambda1_ (Block2Data* _data2_); static void playlists_menuitem_submenu_item_activated (PlaylistsMenuitem* self, gint menu_item_id); -static void __lambda1__dbusmenu_menuitem_item_activated (DbusmenuMenuitem* _sender, guint object, gpointer self); +static void _____lambda1__dbusmenu_menuitem_item_activated (DbusmenuMenuitem* _sender, guint object, gpointer self); void playlists_menuitem_update_individual_playlist (PlaylistsMenuitem* self, PlaylistDetails* new_detail); void playlists_menuitem_active_playlist_update (PlaylistsMenuitem* self, PlaylistDetails* detail); PlayerController* player_item_get_owner (PlayerItem* self); @@ -172,8 +172,10 @@ static void playlists_menuitem_finalize (GObject* obj); PlaylistsMenuitem* playlists_menuitem_construct (GType object_type, PlayerController* parent) { PlaylistsMenuitem * self = NULL; + PlayerController* _tmp0_; g_return_val_if_fail (parent != NULL, NULL); - self = (PlaylistsMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_PLAYLISTS_MENUITEM_TYPE, "owner", parent, NULL); + _tmp0_ = parent; + self = (PlaylistsMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_PLAYLISTS_MENUITEM_TYPE, "owner", _tmp0_, NULL); return self; } @@ -183,137 +185,204 @@ PlaylistsMenuitem* playlists_menuitem_new (PlayerController* parent) { } -static Block1Data* block1_data_ref (Block1Data* _data1_) { - g_atomic_int_inc (&_data1_->_ref_count_); - return _data1_; +static Block2Data* block2_data_ref (Block2Data* _data2_) { + g_atomic_int_inc (&_data2_->_ref_count_); + return _data2_; } -static void block1_data_unref (Block1Data* _data1_) { - if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { - _g_object_unref0 (_data1_->self); - _g_object_unref0 (_data1_->menuitem); - g_slice_free (Block1Data, _data1_); +static void block2_data_unref (Block2Data* _data2_) { + if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) { + _g_object_unref0 (_data2_->self); + _g_object_unref0 (_data2_->menuitem); + g_slice_free (Block2Data, _data2_); } } -static void _lambda1_ (Block1Data* _data1_) { +static void ____lambda1_ (Block2Data* _data2_) { PlaylistsMenuitem * self; - gint _tmp0_; - self = _data1_->self; - _tmp0_ = dbusmenu_menuitem_get_id (_data1_->menuitem); - playlists_menuitem_submenu_item_activated (self, _tmp0_); + DbusmenuMenuitem* _tmp0_; + gint _tmp1_; + gint _tmp2_; + self = _data2_->self; + _tmp0_ = _data2_->menuitem; + _tmp1_ = dbusmenu_menuitem_get_id (_tmp0_); + _tmp2_ = _tmp1_; + playlists_menuitem_submenu_item_activated (self, _tmp2_); } -static void __lambda1__dbusmenu_menuitem_item_activated (DbusmenuMenuitem* _sender, guint object, gpointer self) { - _lambda1_ (self); +static void _____lambda1__dbusmenu_menuitem_item_activated (DbusmenuMenuitem* _sender, guint object, gpointer self) { + ____lambda1_ (self); } void playlists_menuitem_update (PlaylistsMenuitem* self, PlaylistDetails* playlists, int playlists_length1) { + PlaylistDetails* _tmp0_; + gint _tmp0__length1; g_return_if_fail (self != NULL); + _tmp0_ = playlists; + _tmp0__length1 = playlists_length1; { - PlaylistDetails* detail_collection; - int detail_collection_length1; - int detail_it; - detail_collection = playlists; - detail_collection_length1 = playlists_length1; - for (detail_it = 0; detail_it < playlists_length1; detail_it = detail_it + 1) { - PlaylistDetails _tmp0_; + PlaylistDetails* detail_collection = NULL; + gint detail_collection_length1 = 0; + gint _detail_collection_size_ = 0; + gint detail_it = 0; + detail_collection = _tmp0_; + detail_collection_length1 = _tmp0__length1; + for (detail_it = 0; detail_it < _tmp0__length1; detail_it = detail_it + 1) { PlaylistDetails _tmp1_ = {0}; - PlaylistDetails detail; + PlaylistDetails detail = {0}; playlist_details_copy (&detail_collection[detail_it], &_tmp1_); - _tmp0_ = _tmp1_; - detail = _tmp0_; + detail = _tmp1_; { - Block1Data* _data1_; + Block2Data* _data2_; gboolean _tmp2_ = FALSE; - gboolean _tmp3_; - DbusmenuMenuitem* _tmp5_ = NULL; - gchar* _tmp6_ = NULL; - gchar* _tmp7_; - gint _tmp8_; - _data1_ = g_slice_new0 (Block1Data); - _data1_->_ref_count_ = 1; - _data1_->self = g_object_ref (self); - _tmp3_ = playlists_menuitem_already_observed (self, &detail); - if (_tmp3_) { + PlaylistDetails _tmp3_; + gboolean _tmp4_ = FALSE; + gboolean _tmp7_; + DbusmenuMenuitem* _tmp8_; + DbusmenuMenuitem* _tmp9_; + PlaylistDetails _tmp10_; + const gchar* _tmp11_; + gchar* _tmp12_ = NULL; + gchar* _tmp13_; + DbusmenuMenuitem* _tmp14_; + DbusmenuMenuitem* _tmp15_; + PlaylistDetails _tmp16_; + const char* _tmp17_; + DbusmenuMenuitem* _tmp18_; + DbusmenuMenuitem* _tmp19_; + DbusmenuMenuitem* _tmp20_; + GeeHashMap* _tmp21_; + DbusmenuMenuitem* _tmp22_; + gint _tmp23_; + gint _tmp24_; + DbusmenuMenuitem* _tmp25_; + DbusmenuMenuitem* _tmp26_; + DbusmenuMenuitem* _tmp27_; + PlaylistDetails _tmp28_; + const gchar* _tmp29_; + _data2_ = g_slice_new0 (Block2Data); + _data2_->_ref_count_ = 1; + _data2_->self = g_object_ref (self); + _tmp3_ = detail; + _tmp4_ = playlists_menuitem_already_observed (self, &_tmp3_); + if (_tmp4_) { _tmp2_ = TRUE; } else { - gboolean _tmp4_; - _tmp4_ = playlists_menuitem_is_video_related (self, &detail); - _tmp2_ = _tmp4_; + PlaylistDetails _tmp5_; + gboolean _tmp6_ = FALSE; + _tmp5_ = detail; + _tmp6_ = playlists_menuitem_is_video_related (self, &_tmp5_); + _tmp2_ = _tmp6_; } - if (_tmp2_) { + _tmp7_ = _tmp2_; + if (_tmp7_) { playlist_details_destroy (&detail); - block1_data_unref (_data1_); - _data1_ = NULL; + block2_data_unref (_data2_); + _data2_ = NULL; continue; } - _tmp5_ = dbusmenu_menuitem_new (); - _data1_->menuitem = _tmp5_; - _tmp6_ = playlists_menuitem_truncate_item_label_if_needs_be (self, detail.name); - _tmp7_ = _tmp6_; - dbusmenu_menuitem_property_set (_data1_->menuitem, DBUSMENU_MENUITEM_PROP_LABEL, _tmp7_); - _g_free0 (_tmp7_); - dbusmenu_menuitem_property_set (_data1_->menuitem, DBUSMENU_MENUITEM_PROP_ICON_NAME, "playlist-symbolic"); - dbusmenu_menuitem_property_set (_data1_->menuitem, DBUSMENU_PLAYLIST_MENUITEM_PATH, (const gchar*) detail.path); - dbusmenu_menuitem_property_set_bool (_data1_->menuitem, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE); - dbusmenu_menuitem_property_set_bool (_data1_->menuitem, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE); - g_signal_connect_data (_data1_->menuitem, "item-activated", (GCallback) __lambda1__dbusmenu_menuitem_item_activated, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); - _tmp8_ = dbusmenu_menuitem_get_id (_data1_->menuitem); - gee_abstract_map_set ((GeeAbstractMap*) self->priv->current_playlists, GINT_TO_POINTER (_tmp8_), _data1_->menuitem); - dbusmenu_menuitem_child_append (self->root_item, _data1_->menuitem); - g_debug ("playlists-menu-item.vala:66: populating valid playlists %s", detail.name); + _tmp8_ = dbusmenu_menuitem_new (); + _data2_->menuitem = _tmp8_; + _tmp9_ = _data2_->menuitem; + _tmp10_ = detail; + _tmp11_ = _tmp10_.name; + _tmp12_ = playlists_menuitem_truncate_item_label_if_needs_be (self, _tmp11_); + _tmp13_ = _tmp12_; + dbusmenu_menuitem_property_set (_tmp9_, DBUSMENU_MENUITEM_PROP_LABEL, _tmp13_); + _g_free0 (_tmp13_); + _tmp14_ = _data2_->menuitem; + dbusmenu_menuitem_property_set (_tmp14_, DBUSMENU_MENUITEM_PROP_ICON_NAME, "playlist-symbolic"); + _tmp15_ = _data2_->menuitem; + _tmp16_ = detail; + _tmp17_ = _tmp16_.path; + dbusmenu_menuitem_property_set (_tmp15_, DBUSMENU_PLAYLIST_MENUITEM_PATH, (const gchar*) _tmp17_); + _tmp18_ = _data2_->menuitem; + dbusmenu_menuitem_property_set_bool (_tmp18_, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE); + _tmp19_ = _data2_->menuitem; + dbusmenu_menuitem_property_set_bool (_tmp19_, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE); + _tmp20_ = _data2_->menuitem; + g_signal_connect_data (_tmp20_, "item-activated", (GCallback) _____lambda1__dbusmenu_menuitem_item_activated, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); + _tmp21_ = self->priv->current_playlists; + _tmp22_ = _data2_->menuitem; + _tmp23_ = dbusmenu_menuitem_get_id (_tmp22_); + _tmp24_ = _tmp23_; + _tmp25_ = _data2_->menuitem; + gee_abstract_map_set ((GeeAbstractMap*) _tmp21_, GINT_TO_POINTER (_tmp24_), _tmp25_); + _tmp26_ = self->root_item; + _tmp27_ = _data2_->menuitem; + dbusmenu_menuitem_child_append (_tmp26_, _tmp27_); + _tmp28_ = detail; + _tmp29_ = _tmp28_.name; + g_debug ("playlists-menu-item.vala:66: populating valid playlists %s", _tmp29_); playlist_details_destroy (&detail); - block1_data_unref (_data1_); - _data1_ = NULL; + block2_data_unref (_data2_); + _data2_ = NULL; } } } { - GeeCollection* _tmp9_ = NULL; - GeeCollection* _tmp10_; - GeeIterator* _tmp11_ = NULL; - GeeIterator* _tmp12_; + GeeHashMap* _tmp30_; + GeeCollection* _tmp31_; + GeeCollection* _tmp32_; + GeeCollection* _tmp33_; + GeeIterator* _tmp34_ = NULL; + GeeIterator* _tmp35_; GeeIterator* _item_it; - _tmp9_ = gee_map_get_values ((GeeMap*) self->priv->current_playlists); - _tmp10_ = _tmp9_; - _tmp11_ = gee_iterable_iterator ((GeeIterable*) _tmp10_); - _tmp12_ = _tmp11_; - _g_object_unref0 (_tmp10_); - _item_it = _tmp12_; + _tmp30_ = self->priv->current_playlists; + _tmp31_ = gee_abstract_map_get_values ((GeeMap*) _tmp30_); + _tmp32_ = _tmp31_; + _tmp33_ = _tmp32_; + _tmp34_ = gee_iterable_iterator ((GeeIterable*) _tmp33_); + _tmp35_ = _tmp34_; + _g_object_unref0 (_tmp33_); + _item_it = _tmp35_; while (TRUE) { - gboolean _tmp13_; - gpointer _tmp14_ = NULL; + GeeIterator* _tmp36_; + gboolean _tmp37_ = FALSE; + GeeIterator* _tmp38_; + gpointer _tmp39_ = NULL; DbusmenuMenuitem* item; gboolean within; - _tmp13_ = gee_iterator_next (_item_it); - if (!_tmp13_) { + PlaylistDetails* _tmp40_; + gint _tmp40__length1; + gboolean _tmp46_; + _tmp36_ = _item_it; + _tmp37_ = gee_iterator_next (_tmp36_); + if (!_tmp37_) { break; } - _tmp14_ = gee_iterator_get (_item_it); - item = (DbusmenuMenuitem*) _tmp14_; + _tmp38_ = _item_it; + _tmp39_ = gee_iterator_get (_tmp38_); + item = (DbusmenuMenuitem*) _tmp39_; within = FALSE; + _tmp40_ = playlists; + _tmp40__length1 = playlists_length1; { - PlaylistDetails* detail_collection; - int detail_collection_length1; - int detail_it; - detail_collection = playlists; - detail_collection_length1 = playlists_length1; - for (detail_it = 0; detail_it < playlists_length1; detail_it = detail_it + 1) { - PlaylistDetails _tmp15_; - PlaylistDetails _tmp16_ = {0}; - PlaylistDetails detail; - playlist_details_copy (&detail_collection[detail_it], &_tmp16_); - _tmp15_ = _tmp16_; - detail = _tmp15_; + PlaylistDetails* detail_collection = NULL; + gint detail_collection_length1 = 0; + gint _detail_collection_size_ = 0; + gint detail_it = 0; + detail_collection = _tmp40_; + detail_collection_length1 = _tmp40__length1; + for (detail_it = 0; detail_it < _tmp40__length1; detail_it = detail_it + 1) { + PlaylistDetails _tmp41_ = {0}; + PlaylistDetails detail = {0}; + playlist_details_copy (&detail_collection[detail_it], &_tmp41_); + detail = _tmp41_; { - const gchar* _tmp17_ = NULL; - _tmp17_ = dbusmenu_menuitem_property_get (item, DBUSMENU_PLAYLIST_MENUITEM_PATH); - if (g_strcmp0 (detail.path, _tmp17_) == 0) { + PlaylistDetails _tmp42_; + const char* _tmp43_; + DbusmenuMenuitem* _tmp44_; + const gchar* _tmp45_ = NULL; + _tmp42_ = detail; + _tmp43_ = _tmp42_.path; + _tmp44_ = item; + _tmp45_ = dbusmenu_menuitem_property_get (_tmp44_, DBUSMENU_PLAYLIST_MENUITEM_PATH); + if (g_strcmp0 (_tmp43_, _tmp45_) == 0) { within = TRUE; playlist_details_destroy (&detail); break; @@ -322,17 +391,28 @@ void playlists_menuitem_update (PlaylistsMenuitem* self, PlaylistDetails* playli } } } - if (within == FALSE) { - const gchar* _tmp18_ = NULL; - const gchar* _tmp19_ = NULL; - _tmp18_ = dbusmenu_menuitem_property_get (self->root_item, DBUSMENU_PLAYLIST_MENUITEM_PATH); - _tmp19_ = dbusmenu_menuitem_property_get (item, DBUSMENU_PLAYLIST_MENUITEM_PATH); - if (g_strcmp0 (_tmp18_, _tmp19_) == 0) { - const gchar* _tmp20_ = NULL; - _tmp20_ = _ ("Choose Playlist"); - dbusmenu_menuitem_property_set (self->root_item, DBUSMENU_MENUITEM_PROP_LABEL, _tmp20_); + _tmp46_ = within; + if (_tmp46_ == FALSE) { + DbusmenuMenuitem* _tmp47_; + const gchar* _tmp48_ = NULL; + DbusmenuMenuitem* _tmp49_; + const gchar* _tmp50_ = NULL; + DbusmenuMenuitem* _tmp53_; + DbusmenuMenuitem* _tmp54_; + _tmp47_ = self->root_item; + _tmp48_ = dbusmenu_menuitem_property_get (_tmp47_, DBUSMENU_PLAYLIST_MENUITEM_PATH); + _tmp49_ = item; + _tmp50_ = dbusmenu_menuitem_property_get (_tmp49_, DBUSMENU_PLAYLIST_MENUITEM_PATH); + if (g_strcmp0 (_tmp48_, _tmp50_) == 0) { + DbusmenuMenuitem* _tmp51_; + const gchar* _tmp52_ = NULL; + _tmp51_ = self->root_item; + _tmp52_ = _ ("Choose Playlist"); + dbusmenu_menuitem_property_set (_tmp51_, DBUSMENU_MENUITEM_PROP_LABEL, _tmp52_); } - dbusmenu_menuitem_child_delete (self->root_item, item); + _tmp53_ = self->root_item; + _tmp54_ = item; + dbusmenu_menuitem_child_delete (_tmp53_, _tmp54_); } _g_object_unref0 (item); } @@ -342,52 +422,85 @@ void playlists_menuitem_update (PlaylistsMenuitem* self, PlaylistDetails* playli void playlists_menuitem_update_individual_playlist (PlaylistsMenuitem* self, PlaylistDetails* new_detail) { - const gchar* _tmp9_ = NULL; + DbusmenuMenuitem* _tmp19_; + const gchar* _tmp20_ = NULL; + PlaylistDetails _tmp21_; + const char* _tmp22_; g_return_if_fail (self != NULL); + g_return_if_fail (new_detail != NULL); { - GeeCollection* _tmp0_ = NULL; + GeeHashMap* _tmp0_; GeeCollection* _tmp1_; - GeeIterator* _tmp2_ = NULL; - GeeIterator* _tmp3_; + GeeCollection* _tmp2_; + GeeCollection* _tmp3_; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_; GeeIterator* _item_it; - _tmp0_ = gee_map_get_values ((GeeMap*) self->priv->current_playlists); - _tmp1_ = _tmp0_; - _tmp2_ = gee_iterable_iterator ((GeeIterable*) _tmp1_); + _tmp0_ = self->priv->current_playlists; + _tmp1_ = gee_abstract_map_get_values ((GeeMap*) _tmp0_); + _tmp2_ = _tmp1_; _tmp3_ = _tmp2_; - _g_object_unref0 (_tmp1_); - _item_it = _tmp3_; + _tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_); + _tmp5_ = _tmp4_; + _g_object_unref0 (_tmp3_); + _item_it = _tmp5_; while (TRUE) { - gboolean _tmp4_; - gpointer _tmp5_ = NULL; + GeeIterator* _tmp6_; + gboolean _tmp7_ = FALSE; + GeeIterator* _tmp8_; + gpointer _tmp9_ = NULL; DbusmenuMenuitem* item; - const gchar* _tmp6_ = NULL; - _tmp4_ = gee_iterator_next (_item_it); - if (!_tmp4_) { + PlaylistDetails _tmp10_; + const char* _tmp11_; + DbusmenuMenuitem* _tmp12_; + const gchar* _tmp13_ = NULL; + _tmp6_ = _item_it; + _tmp7_ = gee_iterator_next (_tmp6_); + if (!_tmp7_) { break; } - _tmp5_ = gee_iterator_get (_item_it); - item = (DbusmenuMenuitem*) _tmp5_; - _tmp6_ = dbusmenu_menuitem_property_get (item, DBUSMENU_PLAYLIST_MENUITEM_PATH); - if (g_strcmp0 ((*new_detail).path, _tmp6_) == 0) { - gchar* _tmp7_ = NULL; - gchar* _tmp8_; - _tmp7_ = playlists_menuitem_truncate_item_label_if_needs_be (self, (*new_detail).name); - _tmp8_ = _tmp7_; - dbusmenu_menuitem_property_set (item, DBUSMENU_MENUITEM_PROP_LABEL, _tmp8_); - _g_free0 (_tmp8_); + _tmp8_ = _item_it; + _tmp9_ = gee_iterator_get (_tmp8_); + item = (DbusmenuMenuitem*) _tmp9_; + _tmp10_ = *new_detail; + _tmp11_ = _tmp10_.path; + _tmp12_ = item; + _tmp13_ = dbusmenu_menuitem_property_get (_tmp12_, DBUSMENU_PLAYLIST_MENUITEM_PATH); + if (g_strcmp0 (_tmp11_, _tmp13_) == 0) { + DbusmenuMenuitem* _tmp14_; + PlaylistDetails _tmp15_; + const gchar* _tmp16_; + gchar* _tmp17_ = NULL; + gchar* _tmp18_; + _tmp14_ = item; + _tmp15_ = *new_detail; + _tmp16_ = _tmp15_.name; + _tmp17_ = playlists_menuitem_truncate_item_label_if_needs_be (self, _tmp16_); + _tmp18_ = _tmp17_; + dbusmenu_menuitem_property_set (_tmp14_, DBUSMENU_MENUITEM_PROP_LABEL, _tmp18_); + _g_free0 (_tmp18_); } _g_object_unref0 (item); } _g_object_unref0 (_item_it); } - _tmp9_ = dbusmenu_menuitem_property_get (self->root_item, DBUSMENU_PLAYLIST_MENUITEM_PATH); - if (g_strcmp0 (_tmp9_, (*new_detail).path) == 0) { - gchar* _tmp10_ = NULL; - gchar* _tmp11_; - _tmp10_ = playlists_menuitem_truncate_item_label_if_needs_be (self, (*new_detail).name); - _tmp11_ = _tmp10_; - dbusmenu_menuitem_property_set (self->root_item, DBUSMENU_MENUITEM_PROP_LABEL, _tmp11_); - _g_free0 (_tmp11_); + _tmp19_ = self->root_item; + _tmp20_ = dbusmenu_menuitem_property_get (_tmp19_, DBUSMENU_PLAYLIST_MENUITEM_PATH); + _tmp21_ = *new_detail; + _tmp22_ = _tmp21_.path; + if (g_strcmp0 (_tmp20_, _tmp22_) == 0) { + DbusmenuMenuitem* _tmp23_; + PlaylistDetails _tmp24_; + const gchar* _tmp25_; + gchar* _tmp26_ = NULL; + gchar* _tmp27_; + _tmp23_ = self->root_item; + _tmp24_ = *new_detail; + _tmp25_ = _tmp24_.name; + _tmp26_ = playlists_menuitem_truncate_item_label_if_needs_be (self, _tmp25_); + _tmp27_ = _tmp26_; + dbusmenu_menuitem_property_set (_tmp23_, DBUSMENU_MENUITEM_PROP_LABEL, _tmp27_); + _g_free0 (_tmp27_); } } @@ -395,35 +508,52 @@ void playlists_menuitem_update_individual_playlist (PlaylistsMenuitem* self, Pla static gboolean playlists_menuitem_already_observed (PlaylistsMenuitem* self, PlaylistDetails* new_detail) { gboolean result = FALSE; g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (new_detail != NULL, FALSE); { - GeeCollection* _tmp0_ = NULL; + GeeHashMap* _tmp0_; GeeCollection* _tmp1_; - GeeIterator* _tmp2_ = NULL; - GeeIterator* _tmp3_; + GeeCollection* _tmp2_; + GeeCollection* _tmp3_; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_; GeeIterator* _item_it; - _tmp0_ = gee_map_get_values ((GeeMap*) self->priv->current_playlists); - _tmp1_ = _tmp0_; - _tmp2_ = gee_iterable_iterator ((GeeIterable*) _tmp1_); + _tmp0_ = self->priv->current_playlists; + _tmp1_ = gee_abstract_map_get_values ((GeeMap*) _tmp0_); + _tmp2_ = _tmp1_; _tmp3_ = _tmp2_; - _g_object_unref0 (_tmp1_); - _item_it = _tmp3_; + _tmp4_ = gee_iterable_iterator ((GeeIterable*) _tmp3_); + _tmp5_ = _tmp4_; + _g_object_unref0 (_tmp3_); + _item_it = _tmp5_; while (TRUE) { - gboolean _tmp4_; - gpointer _tmp5_ = NULL; + GeeIterator* _tmp6_; + gboolean _tmp7_ = FALSE; + GeeIterator* _tmp8_; + gpointer _tmp9_ = NULL; DbusmenuMenuitem* item; - const gchar* _tmp6_ = NULL; - gchar* _tmp7_; + DbusmenuMenuitem* _tmp10_; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_; gchar* path; - _tmp4_ = gee_iterator_next (_item_it); - if (!_tmp4_) { + PlaylistDetails _tmp13_; + const char* _tmp14_; + const gchar* _tmp15_; + _tmp6_ = _item_it; + _tmp7_ = gee_iterator_next (_tmp6_); + if (!_tmp7_) { break; } - _tmp5_ = gee_iterator_get (_item_it); - item = (DbusmenuMenuitem*) _tmp5_; - _tmp6_ = dbusmenu_menuitem_property_get (item, DBUSMENU_PLAYLIST_MENUITEM_PATH); - _tmp7_ = g_strdup (_tmp6_); - path = _tmp7_; - if (g_strcmp0 ((*new_detail).path, path) == 0) { + _tmp8_ = _item_it; + _tmp9_ = gee_iterator_get (_tmp8_); + item = (DbusmenuMenuitem*) _tmp9_; + _tmp10_ = item; + _tmp11_ = dbusmenu_menuitem_property_get (_tmp10_, DBUSMENU_PLAYLIST_MENUITEM_PATH); + _tmp12_ = g_strdup (_tmp11_); + path = _tmp12_; + _tmp13_ = *new_detail; + _tmp14_ = _tmp13_.path; + _tmp15_ = path; + if (g_strcmp0 (_tmp14_, _tmp15_) == 0) { result = TRUE; _g_free0 (path); _g_object_unref0 (item); @@ -442,25 +572,34 @@ static gboolean playlists_menuitem_already_observed (PlaylistsMenuitem* self, Pl static gboolean string_contains (const gchar* self, const gchar* needle) { gboolean result = FALSE; - gchar* _tmp0_ = NULL; + const gchar* _tmp0_; + gchar* _tmp1_ = NULL; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (needle != NULL, FALSE); - _tmp0_ = strstr ((gchar*) self, (gchar*) needle); - result = _tmp0_ != NULL; + _tmp0_ = needle; + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); + result = _tmp1_ != NULL; return result; } static gboolean playlists_menuitem_is_video_related (PlaylistsMenuitem* self, PlaylistDetails* new_detail) { gboolean result = FALSE; - gchar* _tmp0_; + PlaylistDetails _tmp0_; + const char* _tmp1_; + gchar* _tmp2_; gchar* location; - gboolean _tmp1_; + const gchar* _tmp3_; + gboolean _tmp4_ = FALSE; g_return_val_if_fail (self != NULL, FALSE); - _tmp0_ = g_strdup ((const gchar*) (*new_detail).path); - location = _tmp0_; - _tmp1_ = string_contains (location, "/VideoLibrarySource/"); - if (_tmp1_) { + g_return_val_if_fail (new_detail != NULL, FALSE); + _tmp0_ = *new_detail; + _tmp1_ = _tmp0_.path; + _tmp2_ = g_strdup ((const gchar*) _tmp1_); + location = _tmp2_; + _tmp3_ = location; + _tmp4_ = string_contains (_tmp3_, "/VideoLibrarySource/"); + if (_tmp4_) { result = TRUE; _g_free0 (location); return result; @@ -472,106 +611,185 @@ static gboolean playlists_menuitem_is_video_related (PlaylistsMenuitem* self, Pl void playlists_menuitem_active_playlist_update (PlaylistsMenuitem* self, PlaylistDetails* detail) { - gchar* _tmp0_; + PlaylistDetails _tmp0_; + const gchar* _tmp1_; + gchar* _tmp2_; gchar* update; - gchar* _tmp3_ = NULL; - gchar* _tmp4_; + const gchar* _tmp3_; + DbusmenuMenuitem* _tmp6_; + const gchar* _tmp7_; + gchar* _tmp8_ = NULL; + gchar* _tmp9_; + DbusmenuMenuitem* _tmp10_; + PlaylistDetails _tmp11_; + const char* _tmp12_; g_return_if_fail (self != NULL); - _tmp0_ = g_strdup ((*detail).name); - update = _tmp0_; - if (g_strcmp0 (update, "") == 0) { - const gchar* _tmp1_ = NULL; - gchar* _tmp2_; - _tmp1_ = _ ("Choose Playlist"); - _tmp2_ = g_strdup (_tmp1_); + g_return_if_fail (detail != NULL); + _tmp0_ = *detail; + _tmp1_ = _tmp0_.name; + _tmp2_ = g_strdup (_tmp1_); + update = _tmp2_; + _tmp3_ = update; + if (g_strcmp0 (_tmp3_, "") == 0) { + const gchar* _tmp4_ = NULL; + gchar* _tmp5_; + _tmp4_ = _ ("Choose Playlist"); + _tmp5_ = g_strdup (_tmp4_); _g_free0 (update); - update = _tmp2_; + update = _tmp5_; } - _tmp3_ = playlists_menuitem_truncate_item_label_if_needs_be (self, update); - _tmp4_ = _tmp3_; - dbusmenu_menuitem_property_set (self->root_item, DBUSMENU_MENUITEM_PROP_LABEL, _tmp4_); - _g_free0 (_tmp4_); - dbusmenu_menuitem_property_set (self->root_item, DBUSMENU_PLAYLIST_MENUITEM_PATH, (const gchar*) (*detail).path); + _tmp6_ = self->root_item; + _tmp7_ = update; + _tmp8_ = playlists_menuitem_truncate_item_label_if_needs_be (self, _tmp7_); + _tmp9_ = _tmp8_; + dbusmenu_menuitem_property_set (_tmp6_, DBUSMENU_MENUITEM_PROP_LABEL, _tmp9_); + _g_free0 (_tmp9_); + _tmp10_ = self->root_item; + _tmp11_ = *detail; + _tmp12_ = _tmp11_.path; + dbusmenu_menuitem_property_set (_tmp10_, DBUSMENU_PLAYLIST_MENUITEM_PATH, (const gchar*) _tmp12_); _g_free0 (update); } static void playlists_menuitem_submenu_item_activated (PlaylistsMenuitem* self, gint menu_item_id) { - gboolean _tmp0_; - PlayerController* _tmp1_ = NULL; - gpointer _tmp2_ = NULL; - DbusmenuMenuitem* _tmp3_; - const gchar* _tmp4_ = NULL; + GeeHashMap* _tmp0_; + gint _tmp1_; + gboolean _tmp2_ = FALSE; + PlayerController* _tmp4_; + PlayerController* _tmp5_; + Mpris2Controller* _tmp6_; + GeeHashMap* _tmp7_; + gint _tmp8_; + gpointer _tmp9_ = NULL; + DbusmenuMenuitem* _tmp10_; + const gchar* _tmp11_ = NULL; g_return_if_fail (self != NULL); - _tmp0_ = gee_abstract_map_has_key ((GeeAbstractMap*) self->priv->current_playlists, GINT_TO_POINTER (menu_item_id)); - if (!_tmp0_) { + _tmp0_ = self->priv->current_playlists; + _tmp1_ = menu_item_id; + _tmp2_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, GINT_TO_POINTER (_tmp1_)); + if (!_tmp2_) { + gint _tmp3_; + _tmp3_ = menu_item_id; g_warning ("playlists-menu-item.vala:129: item %i was activated but we don't have " \ -"a corresponding playlist", menu_item_id); +"a corresponding playlist", _tmp3_); return; } - _tmp1_ = player_item_get_owner ((PlayerItem*) self); - _tmp2_ = gee_abstract_map_get ((GeeAbstractMap*) self->priv->current_playlists, GINT_TO_POINTER (menu_item_id)); - _tmp3_ = (DbusmenuMenuitem*) _tmp2_; - _tmp4_ = dbusmenu_menuitem_property_get (_tmp3_, DBUSMENU_PLAYLIST_MENUITEM_PATH); - mpris2_controller_activate_playlist (_tmp1_->mpris_bridge, (const char*) _tmp4_); - _g_object_unref0 (_tmp3_); + _tmp4_ = player_item_get_owner ((PlayerItem*) self); + _tmp5_ = _tmp4_; + _tmp6_ = _tmp5_->mpris_bridge; + _tmp7_ = self->priv->current_playlists; + _tmp8_ = menu_item_id; + _tmp9_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp7_, GINT_TO_POINTER (_tmp8_)); + _tmp10_ = (DbusmenuMenuitem*) _tmp9_; + _tmp11_ = dbusmenu_menuitem_property_get (_tmp10_, DBUSMENU_PLAYLIST_MENUITEM_PATH); + mpris2_controller_activate_playlist (_tmp6_, (const char*) _tmp11_); + _g_object_unref0 (_tmp10_); } static gchar* string_slice (const gchar* self, glong start, glong end) { gchar* result = NULL; gint _tmp0_; + gint _tmp1_; glong string_length; - gboolean _tmp1_ = FALSE; - gboolean _tmp2_ = FALSE; - gchar* _tmp3_ = NULL; + glong _tmp2_; + glong _tmp5_; + gboolean _tmp8_ = FALSE; + glong _tmp9_; + gboolean _tmp12_; + gboolean _tmp13_ = FALSE; + glong _tmp14_; + gboolean _tmp17_; + glong _tmp18_; + glong _tmp19_; + glong _tmp20_; + glong _tmp21_; + glong _tmp22_; + gchar* _tmp23_ = NULL; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = strlen (self); - string_length = (glong) _tmp0_; - if (start < 0) { - start = string_length + start; + _tmp1_ = _tmp0_; + string_length = (glong) _tmp1_; + _tmp2_ = start; + if (_tmp2_ < ((glong) 0)) { + glong _tmp3_; + glong _tmp4_; + _tmp3_ = string_length; + _tmp4_ = start; + start = _tmp3_ + _tmp4_; } - if (end < 0) { - end = string_length + end; + _tmp5_ = end; + if (_tmp5_ < ((glong) 0)) { + glong _tmp6_; + glong _tmp7_; + _tmp6_ = string_length; + _tmp7_ = end; + end = _tmp6_ + _tmp7_; } - if (start >= 0) { - _tmp1_ = start <= string_length; + _tmp9_ = start; + if (_tmp9_ >= ((glong) 0)) { + glong _tmp10_; + glong _tmp11_; + _tmp10_ = start; + _tmp11_ = string_length; + _tmp8_ = _tmp10_ <= _tmp11_; } else { - _tmp1_ = FALSE; + _tmp8_ = FALSE; } - g_return_val_if_fail (_tmp1_, NULL); - if (end >= 0) { - _tmp2_ = end <= string_length; + _tmp12_ = _tmp8_; + g_return_val_if_fail (_tmp12_, NULL); + _tmp14_ = end; + if (_tmp14_ >= ((glong) 0)) { + glong _tmp15_; + glong _tmp16_; + _tmp15_ = end; + _tmp16_ = string_length; + _tmp13_ = _tmp15_ <= _tmp16_; } else { - _tmp2_ = FALSE; + _tmp13_ = FALSE; } - g_return_val_if_fail (_tmp2_, NULL); - g_return_val_if_fail (start <= end, NULL); - _tmp3_ = g_strndup (((gchar*) self) + start, (gsize) (end - start)); - result = _tmp3_; + _tmp17_ = _tmp13_; + g_return_val_if_fail (_tmp17_, NULL); + _tmp18_ = start; + _tmp19_ = end; + g_return_val_if_fail (_tmp18_ <= _tmp19_, NULL); + _tmp20_ = start; + _tmp21_ = end; + _tmp22_ = start; + _tmp23_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) (_tmp21_ - _tmp22_)); + result = _tmp23_; return result; } static gchar* playlists_menuitem_truncate_item_label_if_needs_be (PlaylistsMenuitem* self, const gchar* item_label) { gchar* result = NULL; - gchar* _tmp0_; + const gchar* _tmp0_; + gchar* _tmp1_; gchar* _result_; - gint _tmp1_; + const gchar* _tmp2_; + gint _tmp3_ = 0; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (item_label != NULL, NULL); - _tmp0_ = g_strdup (item_label); - _result_ = _tmp0_; - _tmp1_ = g_utf8_strlen (item_label, (gssize) (-1)); - if (_tmp1_ > 17) { - gchar* _tmp2_ = NULL; - gchar* _tmp3_; - _tmp2_ = string_slice (item_label, (glong) 0, (glong) 15); + _tmp0_ = item_label; + _tmp1_ = g_strdup (_tmp0_); + _result_ = _tmp1_; + _tmp2_ = item_label; + _tmp3_ = g_utf8_strlen (_tmp2_, (gssize) (-1)); + if (_tmp3_ > 17) { + const gchar* _tmp4_; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_; + gchar* _tmp7_; + _tmp4_ = item_label; + _tmp5_ = string_slice (_tmp4_, (glong) 0, (glong) 15); _g_free0 (_result_); - _result_ = _tmp2_; - _tmp3_ = g_strconcat (_result_, "…", NULL); + _result_ = _tmp5_; + _tmp6_ = _result_; + _tmp7_ = g_strconcat (_tmp6_, "…", NULL); _g_free0 (_result_); - _result_ = _tmp3_; + _result_ = _tmp7_; } result = _result_; return result; @@ -580,7 +798,7 @@ static gchar* playlists_menuitem_truncate_item_label_if_needs_be (PlaylistsMenui GeeHashSet* playlists_menuitem_attributes_format (void) { GeeHashSet* result = NULL; - GeeHashSet* _tmp0_ = NULL; + GeeHashSet* _tmp0_; GeeHashSet* attrs; _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL); attrs = _tmp0_; @@ -595,9 +813,11 @@ static GObject * playlists_menuitem_constructor (GType type, guint n_construct_p GObject * obj; GObjectClass * parent_class; PlaylistsMenuitem * self; - GeeHashMap* _tmp0_ = NULL; - DbusmenuMenuitem* _tmp1_ = NULL; - const gchar* _tmp2_ = NULL; + GeeHashMap* _tmp0_; + DbusmenuMenuitem* _tmp1_; + DbusmenuMenuitem* _tmp2_; + const gchar* _tmp3_ = NULL; + DbusmenuMenuitem* _tmp4_; parent_class = G_OBJECT_CLASS (playlists_menuitem_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = PLAYLISTS_MENUITEM (obj); @@ -607,9 +827,11 @@ static GObject * playlists_menuitem_constructor (GType type, guint n_construct_p _tmp1_ = dbusmenu_menuitem_new (); _g_object_unref0 (self->root_item); self->root_item = _tmp1_; - _tmp2_ = _ ("Choose Playlist"); - dbusmenu_menuitem_property_set (self->root_item, DBUSMENU_MENUITEM_PROP_LABEL, _tmp2_); - dbusmenu_menuitem_property_set (self->root_item, DBUSMENU_PLAYLIST_MENUITEM_PATH, ""); + _tmp2_ = self->root_item; + _tmp3_ = _ ("Choose Playlist"); + dbusmenu_menuitem_property_set (_tmp2_, DBUSMENU_MENUITEM_PROP_LABEL, _tmp3_); + _tmp4_ = self->root_item; + dbusmenu_menuitem_property_set (_tmp4_, DBUSMENU_PLAYLIST_MENUITEM_PATH, ""); return obj; } diff --git a/src/pulseaudio-mgr.c b/src/pulseaudio-mgr.c index 3a80cbd..fee504e 100644 --- a/src/pulseaudio-mgr.c +++ b/src/pulseaudio-mgr.c @@ -121,7 +121,6 @@ static gboolean reconnect_to_pulse (gpointer user_data) { g_debug("Attempt a pulse connection"); - // reset g_return_val_if_fail (IS_DEVICE (user_data), FALSE); connection_attempts += 1; @@ -175,50 +174,107 @@ void pm_update_volume (gint sink_index, pa_cvolume new_volume) { if (sink_index < 0 || pulse_context == NULL){ + g_warning ("pm_update_volume sink index is negative or the context is null"); return; } - pa_operation_unref (pa_context_set_sink_volume_by_index (pulse_context, - sink_index, - &new_volume, - NULL, - NULL) ); + + if (pa_context_get_state (pulse_context) != PA_CONTEXT_READY ){ + g_warning ("pm_update_volume context is not in a ready state"); + return; + } + + pa_operation *operation = NULL; + + operation = pa_context_set_sink_volume_by_index (pulse_context, + sink_index, + &new_volume, + NULL, + NULL); + if (!operation){ + g_warning ("pm_update_volume operation failed for some reason"); + return; + } + pa_operation_unref (operation); } void pm_update_mute (gboolean update) { - pa_operation_unref (pa_context_get_sink_info_list (pulse_context, - pm_toggle_mute_for_every_sink_callback, - GINT_TO_POINTER (update))); + if (pulse_context == NULL){ + g_warning ("pm_update_mute - the context is null"); + return; + } + + if (pa_context_get_state (pulse_context) != PA_CONTEXT_READY ){ + g_warning ("pm_update_mute context is not in a ready state"); + return; + } + + pa_operation *operation = NULL; + + operation = pa_context_get_sink_info_list (pulse_context, + pm_toggle_mute_for_every_sink_callback, + GINT_TO_POINTER (update)); + if (!operation){ + g_warning ("pm_update_mute operation failed for some reason"); + return; + } + pa_operation_unref (operation); } void pm_update_mic_gain (gint source_index, pa_cvolume new_gain) { - // LP: #850662 if (source_index < 0 || pulse_context == NULL){ + g_warning ("pm_update_mic_gain source index is negative or the context is null"); + return; + } + + if (pa_context_get_state (pulse_context) != PA_CONTEXT_READY ){ + g_warning ("pm_update_mic_gain context is not in a ready state"); + return; + } + + pa_operation *operation = NULL; + + operation = pa_context_set_source_volume_by_index (pulse_context, + source_index, + &new_gain, + NULL, + NULL); + if (!operation){ + g_warning ("pm_update_mic_gain operation failed for some reason"); return; } - pa_operation_unref (pa_context_set_source_volume_by_index (pulse_context, - source_index, - &new_gain, - NULL, - NULL) ); + pa_operation_unref (operation); } void pm_update_mic_mute (gint source_index, gint mute_update) { - // LP: #850662 - if (source_index < 0){ - return; - } - pa_operation_unref (pa_context_set_source_mute_by_index (pulse_context, - source_index, - mute_update, - NULL, - NULL)); + if (source_index < 0){ + return; + } + + if (pa_context_get_state (pulse_context) != PA_CONTEXT_READY ){ + g_warning ("pm_update_mic_mute context is not in a ready state"); + return; + } + + pa_operation *operation = NULL; + + operation = pa_context_set_source_mute_by_index (pulse_context, + source_index, + mute_update, + NULL, + NULL); + if (!operation){ + g_warning ("pm_update_mic_mute operation failed for some reason"); + return; + } + pa_operation_unref (operation); } + /**********************************************************************************************************************/ // Pulse-Audio asychronous call-backs /**********************************************************************************************************************/ @@ -308,8 +364,6 @@ pm_subscribed_events_callback (pa_context *c, } } - - static void pm_context_state_callback (pa_context *c, void *userdata) { @@ -337,6 +391,12 @@ pm_context_state_callback (pa_context *c, void *userdata) break; case PA_CONTEXT_TERMINATED: g_debug ("Terminated"); + device_sink_deactivated (DEVICE (userdata)); + + if (reconnect_idle_id != 0){ + g_source_remove (reconnect_idle_id); + reconnect_idle_id = 0; + } break; case PA_CONTEXT_READY: connection_attempts = 0; diff --git a/src/settings-manager.c b/src/settings-manager.c index 52530ab..ede9947 100644 --- a/src/settings-manager.c +++ b/src/settings-manager.c @@ -1,4 +1,4 @@ -/* settings-manager.c generated by valac 0.12.1, the Vala compiler +/* settings-manager.c generated by valac 0.14.2, the Vala compiler * generated from settings-manager.vala, do not modify */ /* @@ -68,6 +68,7 @@ gchar** settings_manager_fetch_blacklist (SettingsManager* self, int* result_len GeeArrayList* settings_manager_fetch_interested (SettingsManager* self); static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle); void settings_manager_clear_list (SettingsManager* self); +void settings_manager_remove_interested (SettingsManager* self, const gchar* app_desktop_name); void settings_manager_add_interested (SettingsManager* self, const gchar* app_desktop_name); static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value); static void settings_manager_on_blacklist_event (SettingsManager* self); @@ -94,16 +95,20 @@ SettingsManager* settings_manager_new (void) { gchar** settings_manager_fetch_blacklist (SettingsManager* self, int* result_length1) { gchar** result = NULL; - gchar** _tmp0_; - gchar** _tmp1_ = NULL; - gchar** _tmp2_; + GSettings* _tmp0_; + gchar** _tmp1_; + gchar** _tmp2_ = NULL; + gchar** _tmp3_; + gint _tmp3__length1; g_return_val_if_fail (self != NULL, NULL); - _tmp1_ = _tmp0_ = g_settings_get_strv (self->priv->settings, "blacklisted-media-players"); - _tmp2_ = _tmp1_; + _tmp0_ = self->priv->settings; + _tmp2_ = _tmp1_ = g_settings_get_strv (_tmp0_, "blacklisted-media-players"); + _tmp3_ = _tmp2_; + _tmp3__length1 = _vala_array_length (_tmp1_); if (result_length1) { - *result_length1 = _vala_array_length (_tmp0_); + *result_length1 = _tmp3__length1; } - result = _tmp2_; + result = _tmp3_; return result; } @@ -121,58 +126,83 @@ static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gc GeeArrayList* settings_manager_fetch_interested (SettingsManager* self) { GeeArrayList* result = NULL; - gchar** _tmp0_; - gchar** _tmp1_ = NULL; + GSettings* _tmp0_; + gchar** _tmp1_; + gchar** _tmp2_ = NULL; gchar** blacklisted; gint blacklisted_length1; gint _blacklisted_size_; - gchar** _tmp2_; - gchar** _tmp3_ = NULL; + GSettings* _tmp3_; + gchar** _tmp4_; + gchar** _tmp5_ = NULL; gchar** interested; gint interested_length1; gint _interested_size_; - GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp6_; GeeArrayList* list; + gchar** _tmp7_; + gint _tmp7__length1; g_return_val_if_fail (self != NULL, NULL); - _tmp1_ = _tmp0_ = g_settings_get_strv (self->priv->settings, "blacklisted-media-players"); - blacklisted = _tmp1_; - blacklisted_length1 = _vala_array_length (_tmp0_); - _blacklisted_size_ = _vala_array_length (_tmp0_); - _tmp3_ = _tmp2_ = g_settings_get_strv (self->priv->settings, "interested-media-players"); - interested = _tmp3_; - interested_length1 = _vala_array_length (_tmp2_); - _interested_size_ = _vala_array_length (_tmp2_); - _tmp4_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL); - list = _tmp4_; + _tmp0_ = self->priv->settings; + _tmp2_ = _tmp1_ = g_settings_get_strv (_tmp0_, "blacklisted-media-players"); + blacklisted = _tmp2_; + blacklisted_length1 = _vala_array_length (_tmp1_); + _blacklisted_size_ = blacklisted_length1; + _tmp3_ = self->priv->settings; + _tmp5_ = _tmp4_ = g_settings_get_strv (_tmp3_, "interested-media-players"); + interested = _tmp5_; + interested_length1 = _vala_array_length (_tmp4_); + _interested_size_ = interested_length1; + _tmp6_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL); + list = _tmp6_; + _tmp7_ = interested; + _tmp7__length1 = interested_length1; { - gchar** s_collection; - int s_collection_length1; - int s_it; - s_collection = interested; - s_collection_length1 = interested_length1; - for (s_it = 0; s_it < interested_length1; s_it = s_it + 1) { - gchar* _tmp5_; - gchar* s; - _tmp5_ = g_strdup (s_collection[s_it]); - s = _tmp5_; + gchar** s_collection = NULL; + gint s_collection_length1 = 0; + gint _s_collection_size_ = 0; + gint s_it = 0; + s_collection = _tmp7_; + s_collection_length1 = _tmp7__length1; + for (s_it = 0; s_it < _tmp7__length1; s_it = s_it + 1) { + gchar* _tmp8_; + gchar* s = NULL; + _tmp8_ = g_strdup (s_collection[s_it]); + s = _tmp8_; { - gboolean _tmp7_; - if (g_strcmp0 (s, "banshee-1") == 0) { - gchar* _tmp6_; - _tmp6_ = g_strdup ("banshee"); + const gchar* _tmp9_; + GeeArrayList* _tmp11_; + const gchar* _tmp12_; + gboolean _tmp13_ = FALSE; + const gchar* _tmp14_; + gchar** _tmp15_; + gint _tmp15__length1; + GeeArrayList* _tmp16_; + const gchar* _tmp17_; + _tmp9_ = s; + if (g_strcmp0 (_tmp9_, "banshee-1") == 0) { + gchar* _tmp10_; + _tmp10_ = g_strdup ("banshee"); _g_free0 (s); - s = _tmp6_; + s = _tmp10_; } - _tmp7_ = gee_abstract_collection_contains ((GeeAbstractCollection*) list, s); - if (_tmp7_) { + _tmp11_ = list; + _tmp12_ = s; + _tmp13_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp11_, _tmp12_); + if (_tmp13_) { _g_free0 (s); continue; } - if (_vala_string_array_contains (blacklisted, blacklisted_length1, s)) { + _tmp14_ = s; + _tmp15_ = blacklisted; + _tmp15__length1 = blacklisted_length1; + if (_vala_string_array_contains (_tmp15_, _tmp15__length1, _tmp14_)) { _g_free0 (s); continue; } - gee_abstract_collection_add ((GeeAbstractCollection*) list, s); + _tmp16_ = list; + _tmp17_ = s; + gee_abstract_collection_add ((GeeAbstractCollection*) _tmp16_, _tmp17_); _g_free0 (s); } } @@ -185,8 +215,83 @@ GeeArrayList* settings_manager_fetch_interested (SettingsManager* self) { void settings_manager_clear_list (SettingsManager* self) { + GSettings* _tmp0_; g_return_if_fail (self != NULL); - g_settings_reset (self->priv->settings, "interested-media-players"); + _tmp0_ = self->priv->settings; + g_settings_reset (_tmp0_, "interested-media-players"); +} + + +void settings_manager_remove_interested (SettingsManager* self, const gchar* app_desktop_name) { + GSettings* _tmp0_; + gchar** _tmp1_; + gchar** _tmp2_ = NULL; + gchar** already_interested; + gint already_interested_length1; + gint _already_interested_size_; + GeeArrayList* _tmp3_; + GeeArrayList* list; + gchar** _tmp4_; + gint _tmp4__length1; + GSettings* _tmp10_; + GeeArrayList* _tmp11_; + gint _tmp12_ = 0; + gpointer* _tmp13_ = NULL; + gchar** _tmp14_; + gint _tmp14__length1; + GSettings* _tmp15_; + g_return_if_fail (self != NULL); + g_return_if_fail (app_desktop_name != NULL); + _tmp0_ = self->priv->settings; + _tmp2_ = _tmp1_ = g_settings_get_strv (_tmp0_, "interested-media-players"); + already_interested = _tmp2_; + already_interested_length1 = _vala_array_length (_tmp1_); + _already_interested_size_ = already_interested_length1; + _tmp3_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL); + list = _tmp3_; + _tmp4_ = already_interested; + _tmp4__length1 = already_interested_length1; + { + gchar** s_collection = NULL; + gint s_collection_length1 = 0; + gint _s_collection_size_ = 0; + gint s_it = 0; + s_collection = _tmp4_; + s_collection_length1 = _tmp4__length1; + for (s_it = 0; s_it < _tmp4__length1; s_it = s_it + 1) { + gchar* _tmp5_; + gchar* s = NULL; + _tmp5_ = g_strdup (s_collection[s_it]); + s = _tmp5_; + { + const gchar* _tmp6_; + const gchar* _tmp7_; + GeeArrayList* _tmp8_; + const gchar* _tmp9_; + _tmp6_ = s; + _tmp7_ = app_desktop_name; + if (g_strcmp0 (_tmp6_, _tmp7_) == 0) { + _g_free0 (s); + continue; + } + _tmp8_ = list; + _tmp9_ = s; + gee_abstract_collection_add ((GeeAbstractCollection*) _tmp8_, _tmp9_); + _g_free0 (s); + } + } + } + _tmp10_ = self->priv->settings; + _tmp11_ = list; + _tmp13_ = gee_abstract_collection_to_array ((GeeAbstractCollection*) _tmp11_, &_tmp12_); + _tmp14_ = _tmp13_; + _tmp14__length1 = _tmp12_; + g_settings_set_strv (_tmp10_, "interested-media-players", _tmp14_); + _tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL); + _tmp15_ = self->priv->settings; + g_settings_apply (_tmp15_); + _g_object_unref0 (list); + already_interested = (_vala_array_free (already_interested, already_interested_length1, (GDestroyNotify) g_free), NULL); } @@ -201,31 +306,49 @@ static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* val void settings_manager_add_interested (SettingsManager* self, const gchar* app_desktop_name) { - gchar** _tmp0_; - gchar** _tmp1_ = NULL; + GSettings* _tmp0_; + gchar** _tmp1_; + gchar** _tmp2_ = NULL; gchar** already_interested; gint already_interested_length1; gint _already_interested_size_; - gchar* _tmp3_; + gchar** _tmp3_; + gint _tmp3__length1; + gchar** _tmp7_; + gint _tmp7__length1; + const gchar* _tmp8_; + gchar* _tmp9_; + GSettings* _tmp10_; + gchar** _tmp11_; + gint _tmp11__length1; + GSettings* _tmp12_; g_return_if_fail (self != NULL); g_return_if_fail (app_desktop_name != NULL); - _tmp1_ = _tmp0_ = g_settings_get_strv (self->priv->settings, "interested-media-players"); - already_interested = _tmp1_; - already_interested_length1 = _vala_array_length (_tmp0_); - _already_interested_size_ = _vala_array_length (_tmp0_); + _tmp0_ = self->priv->settings; + _tmp2_ = _tmp1_ = g_settings_get_strv (_tmp0_, "interested-media-players"); + already_interested = _tmp2_; + already_interested_length1 = _vala_array_length (_tmp1_); + _already_interested_size_ = already_interested_length1; + _tmp3_ = already_interested; + _tmp3__length1 = already_interested_length1; { - gchar** s_collection; - int s_collection_length1; - int s_it; - s_collection = already_interested; - s_collection_length1 = already_interested_length1; - for (s_it = 0; s_it < already_interested_length1; s_it = s_it + 1) { - gchar* _tmp2_; - gchar* s; - _tmp2_ = g_strdup (s_collection[s_it]); - s = _tmp2_; + gchar** s_collection = NULL; + gint s_collection_length1 = 0; + gint _s_collection_size_ = 0; + gint s_it = 0; + s_collection = _tmp3_; + s_collection_length1 = _tmp3__length1; + for (s_it = 0; s_it < _tmp3__length1; s_it = s_it + 1) { + gchar* _tmp4_; + gchar* s = NULL; + _tmp4_ = g_strdup (s_collection[s_it]); + s = _tmp4_; { - if (g_strcmp0 (s, app_desktop_name) == 0) { + const gchar* _tmp5_; + const gchar* _tmp6_; + _tmp5_ = s; + _tmp6_ = app_desktop_name; + if (g_strcmp0 (_tmp5_, _tmp6_) == 0) { _g_free0 (s); already_interested = (_vala_array_free (already_interested, already_interested_length1, (GDestroyNotify) g_free), NULL); return; @@ -234,25 +357,34 @@ void settings_manager_add_interested (SettingsManager* self, const gchar* app_de } } } - _tmp3_ = g_strdup (app_desktop_name); - _vala_array_add1 (&already_interested, &already_interested_length1, &_already_interested_size_, _tmp3_); - g_settings_set_strv (self->priv->settings, "interested-media-players", already_interested); - g_settings_apply (self->priv->settings); + _tmp7_ = already_interested; + _tmp7__length1 = already_interested_length1; + _tmp8_ = app_desktop_name; + _tmp9_ = g_strdup (_tmp8_); + _vala_array_add1 (&already_interested, &already_interested_length1, &_already_interested_size_, _tmp9_); + _tmp10_ = self->priv->settings; + _tmp11_ = already_interested; + _tmp11__length1 = already_interested_length1; + g_settings_set_strv (_tmp10_, "interested-media-players", _tmp11_); + _tmp12_ = self->priv->settings; + g_settings_apply (_tmp12_); already_interested = (_vala_array_free (already_interested, already_interested_length1, (GDestroyNotify) g_free), NULL); } static void settings_manager_on_blacklist_event (SettingsManager* self) { - gchar** _tmp0_; - gchar** _tmp1_ = NULL; - gchar** _tmp2_; - gint _tmp2__length1; + GSettings* _tmp0_; + gchar** _tmp1_; + gchar** _tmp2_ = NULL; + gchar** _tmp3_; + gint _tmp3__length1; g_return_if_fail (self != NULL); - _tmp1_ = _tmp0_ = g_settings_get_strv (self->priv->settings, "blacklisted-media-players"); - _tmp2_ = _tmp1_; - _tmp2__length1 = _vala_array_length (_tmp0_); - g_signal_emit_by_name (self, "blacklist-updates", _tmp2_, _vala_array_length (_tmp0_)); - _tmp2_ = (_vala_array_free (_tmp2_, _tmp2__length1, (GDestroyNotify) g_free), NULL); + _tmp0_ = self->priv->settings; + _tmp2_ = _tmp1_ = g_settings_get_strv (_tmp0_, "blacklisted-media-players"); + _tmp3_ = _tmp2_; + _tmp3__length1 = _vala_array_length (_tmp1_); + g_signal_emit_by_name (self, "blacklist-updates", _tmp3_, _vala_array_length (_tmp1_)); + _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL); } @@ -260,7 +392,8 @@ static void g_cclosure_user_marshal_VOID__BOXED_INT (GClosure * closure, GValue typedef void (*GMarshalFunc_VOID__BOXED_INT) (gpointer data1, gpointer arg_1, gint arg_2, gpointer data2); register GMarshalFunc_VOID__BOXED_INT callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -284,14 +417,16 @@ static GObject * settings_manager_constructor (GType type, guint n_construct_pro GObject * obj; GObjectClass * parent_class; SettingsManager * self; - GSettings* _tmp0_ = NULL; + GSettings* _tmp0_; + GSettings* _tmp1_; parent_class = G_OBJECT_CLASS (settings_manager_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = SETTINGS_MANAGER (obj); _tmp0_ = g_settings_new ("com.canonical.indicator.sound"); _g_object_unref0 (self->priv->settings); self->priv->settings = _tmp0_; - g_signal_connect_object (self->priv->settings, "changed::blacklisted-media-players", (GCallback) _settings_manager_on_blacklist_event_g_settings_changed, self, 0); + _tmp1_ = self->priv->settings; + g_signal_connect_object (_tmp1_, "changed::blacklisted-media-players", (GCallback) _settings_manager_on_blacklist_event_g_settings_changed, self, 0); return obj; } diff --git a/src/settings-manager.vala b/src/settings-manager.vala index a2be080..034cd03 100644 --- a/src/settings-manager.vala +++ b/src/settings-manager.vala @@ -46,7 +46,7 @@ public class SettingsManager : GLib.Object } if (s in list) continue; if (s in blacklisted) continue; - list.add(s); + list.add(s); } return list; } @@ -56,6 +56,20 @@ public class SettingsManager : GLib.Object this.settings.reset("interested-media-players"); } + public void remove_interested (string app_desktop_name) + { + var already_interested = this.settings.get_strv ("interested-media-players"); + var list = new ArrayList(); + + foreach (var s in already_interested){ + if (s == app_desktop_name) continue; + list.add (s); + } + this.settings.set_strv("interested-media-players", + list.to_array()); + this.settings.apply(); + } + public void add_interested (string app_desktop_name) { var already_interested = this.settings.get_strv ("interested-media-players"); diff --git a/src/sound-service-dbus.c b/src/sound-service-dbus.c index 5650002..07d3d6f 100644 --- a/src/sound-service-dbus.c +++ b/src/sound-service-dbus.c @@ -58,6 +58,7 @@ struct _SoundServiceDbusPrivate { DbusmenuMenuitem* root_menuitem; Device* device; gboolean greeter_mode; + guint registration_id; }; enum { @@ -155,18 +156,18 @@ sound_service_dbus_init (SoundServiceDbus *self) return; } /* register the service on it */ - g_dbus_connection_register_object (priv->connection, - INDICATOR_SOUND_SERVICE_DBUS_OBJECT_PATH, - interface_info, - &interface_table, - self, - NULL, - &error); - if (error != NULL) { - g_error("Unable to register the object to DBus: %s", error->message); - g_error_free(error); - return; - } + priv->registration_id = g_dbus_connection_register_object (priv->connection, + INDICATOR_SOUND_SERVICE_DBUS_OBJECT_PATH, + interface_info, + &interface_table, + self, + NULL, + &error); + if (error != NULL) { + g_error("Unable to register the object to DBus: %s", error->message); + g_error_free(error); + return; + } } DbusmenuMenuitem* @@ -239,6 +240,15 @@ show_sound_settings_dialog (DbusmenuMenuitem *mi, static void sound_service_dbus_dispose (GObject *object) { + SoundServiceDbusPrivate *priv = SOUND_SERVICE_DBUS_GET_PRIVATE (object); + + if (priv->connection && priv->registration_id) { + g_dbus_connection_unregister_object (priv->connection, priv->registration_id); + priv->registration_id = 0; + } + + g_clear_object(&priv->connection); + G_OBJECT_CLASS (sound_service_dbus_parent_class)->dispose (object); //TODO dispose of the active sink instance ! return; diff --git a/src/specific-items-manager.c b/src/specific-items-manager.c index f367fad..2c3fbf8 100644 --- a/src/specific-items-manager.c +++ b/src/specific-items-manager.c @@ -1,4 +1,4 @@ -/* specific-items-manager.c generated by valac 0.12.1, the Vala compiler +/* specific-items-manager.c generated by valac 0.14.2, the Vala compiler * generated from specific-items-manager.vala, do not modify */ /* @@ -173,22 +173,36 @@ static void _specific_items_manager_on_root_changed_dbusmenu_client_root_changed SpecificItemsManager* specific_items_manager_construct (GType object_type, PlayerController* controller, const gchar* path, SpecificItemsManagercategory which_type) { SpecificItemsManager * self = NULL; - gchar* _tmp0_; - const gchar* _tmp1_ = NULL; - DbusmenuClient* _tmp2_ = NULL; + SpecificItemsManagercategory _tmp0_; + PlayerController* _tmp1_; + const gchar* _tmp2_; + gchar* _tmp3_; + PlayerController* _tmp4_; + const gchar* _tmp5_; + const gchar* _tmp6_; + const gchar* _tmp7_; + DbusmenuClient* _tmp8_; + DbusmenuClient* _tmp9_; g_return_val_if_fail (controller != NULL, NULL); g_return_val_if_fail (path != NULL, NULL); self = (SpecificItemsManager*) g_object_new (object_type, NULL); - self->priv->of_type = (gint) which_type; - specific_items_manager_set_owner (self, controller); - _tmp0_ = g_strdup (path); + _tmp0_ = which_type; + self->priv->of_type = (gint) _tmp0_; + _tmp1_ = controller; + specific_items_manager_set_owner (self, _tmp1_); + _tmp2_ = path; + _tmp3_ = g_strdup (_tmp2_); _g_free0 (self->priv->dbus_path); - self->priv->dbus_path = _tmp0_; - _tmp1_ = player_controller_get_dbus_name (self->priv->_owner); - _tmp2_ = dbusmenu_client_new (_tmp1_, self->priv->dbus_path); + self->priv->dbus_path = _tmp3_; + _tmp4_ = self->priv->_owner; + _tmp5_ = player_controller_get_dbus_name (_tmp4_); + _tmp6_ = _tmp5_; + _tmp7_ = self->priv->dbus_path; + _tmp8_ = dbusmenu_client_new (_tmp6_, _tmp7_); _g_object_unref0 (self->priv->client); - self->priv->client = _tmp2_; - g_signal_connect_object (self->priv->client, "root-changed", (GCallback) _specific_items_manager_on_root_changed_dbusmenu_client_root_changed, self, 0); + self->priv->client = _tmp8_; + _tmp9_ = self->priv->client; + g_signal_connect_object (_tmp9_, "root-changed", (GCallback) _specific_items_manager_on_root_changed_dbusmenu_client_root_changed, self, 0); return self; } @@ -215,35 +229,71 @@ static gboolean _bool_equal (const gboolean* s1, const gboolean* s2) { static gint specific_items_manager_figure_out_positioning (SpecificItemsManager* self) { gint result = 0; gint _result_; + gint _tmp0_; + gint _tmp22_; + gint _tmp23_; g_return_val_if_fail (self != NULL, 0); _result_ = 0; - if (self->priv->of_type == SPECIFIC_ITEMS_MANAGER_CATEGORY_TRACK) { - gint _tmp0_; - gint _tmp1_; - _tmp0_ = player_controller_get_menu_offset (self->priv->_owner); - _tmp1_ = gee_collection_get_size ((GeeCollection*) self->priv->_proxy_items); - _result_ = (_tmp0_ + PLAYER_CONTROLLER_WIDGET_QUANTITY) + _tmp1_; + _tmp0_ = self->priv->of_type; + if (_tmp0_ == ((gint) SPECIFIC_ITEMS_MANAGER_CATEGORY_TRACK)) { + PlayerController* _tmp1_; + gint _tmp2_; + gint _tmp3_; + PlayerController* _tmp4_; + GeeArrayList* _tmp5_; + gint _tmp6_; + gint _tmp7_; + _tmp1_ = self->priv->_owner; + _tmp2_ = player_controller_get_menu_offset (_tmp1_); + _tmp3_ = _tmp2_; + _tmp4_ = self->priv->_owner; + _tmp5_ = self->priv->_proxy_items; + _tmp6_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp5_); + _tmp7_ = _tmp6_; + _result_ = (_tmp3_ + PLAYER_CONTROLLER_WIDGET_QUANTITY) + _tmp7_; } else { - if (self->priv->of_type == SPECIFIC_ITEMS_MANAGER_CATEGORY_PLAYER) { - gint _tmp2_; - gint _tmp3_; + gint _tmp8_; + _tmp8_ = self->priv->of_type; + if (_tmp8_ == ((gint) SPECIFIC_ITEMS_MANAGER_CATEGORY_PLAYER)) { + PlayerController* _tmp9_; + gint _tmp10_; + gint _tmp11_; + PlayerController* _tmp12_; + PlayerController* _tmp13_; + gint _tmp14_ = 0; gint pos; - gint _tmp4_ = 0; - gboolean _tmp5_; - _tmp2_ = player_controller_get_menu_offset (self->priv->_owner); - _tmp3_ = player_controller_track_specific_count (self->priv->_owner); - pos = (_tmp2_ + PLAYER_CONTROLLER_WIDGET_QUANTITY) + _tmp3_; - _tmp5_ = TRUE; - if (_bool_equal (self->priv->_owner->use_playlists, &_tmp5_) == TRUE) { - _tmp4_ = 1; + gint _tmp15_ = 0; + PlayerController* _tmp16_; + gboolean* _tmp17_; + gboolean _tmp18_; + gint _tmp19_; + gint _tmp20_; + gint _tmp21_; + _tmp9_ = self->priv->_owner; + _tmp10_ = player_controller_get_menu_offset (_tmp9_); + _tmp11_ = _tmp10_; + _tmp12_ = self->priv->_owner; + _tmp13_ = self->priv->_owner; + _tmp14_ = player_controller_track_specific_count (_tmp13_); + pos = (_tmp11_ + PLAYER_CONTROLLER_WIDGET_QUANTITY) + _tmp14_; + _tmp16_ = self->priv->_owner; + _tmp17_ = _tmp16_->use_playlists; + _tmp18_ = TRUE; + if (_bool_equal (_tmp17_, &_tmp18_) == TRUE) { + _tmp15_ = 1; } else { - _tmp4_ = 0; + _tmp15_ = 0; } - pos = pos + _tmp4_; - _result_ = pos; + _tmp19_ = pos; + _tmp20_ = _tmp15_; + pos = _tmp19_ + _tmp20_; + _tmp21_ = pos; + _result_ = _tmp21_; } } - g_debug ("specific-items-manager.vala:63: !!!!! Menu pos of type %i is = %i", self->priv->of_type, _result_); + _tmp22_ = self->priv->of_type; + _tmp23_ = _result_; + g_debug ("specific-items-manager.vala:63: !!!!! Menu pos of type %i is = %i", _tmp22_, _tmp23_); result = _result_; return result; } @@ -265,78 +315,136 @@ static void _specific_items_manager_on_child_removed_dbusmenu_menuitem_child_rem static void specific_items_manager_on_root_changed (SpecificItemsManager* self, GObject* newroot) { - DbusmenuMenuitem* _tmp4_ = NULL; - DbusmenuMenuitem* _tmp5_; + GObject* _tmp0_; + DbusmenuClient* _tmp19_; + DbusmenuMenuitem* _tmp20_ = NULL; + DbusmenuMenuitem* _tmp21_; DbusmenuMenuitem* root; - GList* _tmp6_ = NULL; - GList* _tmp7_ = NULL; + DbusmenuMenuitem* _tmp22_; + DbusmenuMenuitem* _tmp23_; + DbusmenuMenuitem* _tmp24_; + GList* _tmp25_ = NULL; + GList* _tmp26_ = NULL; GList* children; + GList* _tmp27_; g_return_if_fail (self != NULL); - if (newroot == NULL) { - gint _tmp3_; + _tmp0_ = newroot; + if (_tmp0_ == NULL) { + GeeArrayList* _tmp15_; + GeeArrayList* _tmp16_; + gint _tmp17_; + gint _tmp18_; g_debug ("specific-items-manager.vala:70: root disappeared -remove proxyitems"); { - GeeArrayList* _tmp0_; + GeeArrayList* _tmp1_; + GeeArrayList* _tmp2_; GeeArrayList* _p_list; - gint _tmp1_; + GeeArrayList* _tmp3_; + gint _tmp4_; + gint _tmp5_; gint _p_size; gint _p_index; - _tmp0_ = _g_object_ref0 (self->priv->_proxy_items); - _p_list = _tmp0_; - _tmp1_ = gee_collection_get_size ((GeeCollection*) _p_list); - _p_size = _tmp1_; + _tmp1_ = self->priv->_proxy_items; + _tmp2_ = _g_object_ref0 (_tmp1_); + _p_list = _tmp2_; + _tmp3_ = _p_list; + _tmp4_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp3_); + _tmp5_ = _tmp4_; + _p_size = _tmp5_; _p_index = -1; while (TRUE) { - gpointer _tmp2_ = NULL; + gint _tmp6_; + gint _tmp7_; + gint _tmp8_; + GeeArrayList* _tmp9_; + gint _tmp10_; + gpointer _tmp11_ = NULL; DbusmenuMenuitemProxy* p; - _p_index = _p_index + 1; - if (!(_p_index < _p_size)) { + PlayerController* _tmp12_; + DbusmenuMenuitem* _tmp13_; + DbusmenuMenuitemProxy* _tmp14_; + _tmp6_ = _p_index; + _p_index = _tmp6_ + 1; + _tmp7_ = _p_index; + _tmp8_ = _p_size; + if (!(_tmp7_ < _tmp8_)) { break; } - _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _p_list, _p_index); - p = (DbusmenuMenuitemProxy*) _tmp2_; - dbusmenu_menuitem_child_delete (self->priv->_owner->root_menu, (DbusmenuMenuitem*) p); + _tmp9_ = _p_list; + _tmp10_ = _p_index; + _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_); + p = (DbusmenuMenuitemProxy*) _tmp11_; + _tmp12_ = self->priv->_owner; + _tmp13_ = _tmp12_->root_menu; + _tmp14_ = p; + dbusmenu_menuitem_child_delete (_tmp13_, (DbusmenuMenuitem*) _tmp14_); _g_object_unref0 (p); } _g_object_unref0 (_p_list); } - gee_abstract_collection_clear ((GeeAbstractCollection*) self->priv->_proxy_items); - _tmp3_ = gee_collection_get_size ((GeeCollection*) self->priv->_proxy_items); - g_debug ("specific-items-manager.vala:75: array list size is now %i", _tmp3_); + _tmp15_ = self->priv->_proxy_items; + gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp15_); + _tmp16_ = self->priv->_proxy_items; + _tmp17_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp16_); + _tmp18_ = _tmp17_; + g_debug ("specific-items-manager.vala:75: array list size is now %i", _tmp18_); return; } - _tmp4_ = dbusmenu_client_get_root (self->priv->client); - _tmp5_ = _g_object_ref0 (_tmp4_); - root = _tmp5_; - g_signal_connect_object (root, "child-added", (GCallback) _specific_items_manager_on_child_added_dbusmenu_menuitem_child_added, self, 0); - g_signal_connect_object (root, "child-removed", (GCallback) _specific_items_manager_on_child_removed_dbusmenu_menuitem_child_removed, self, 0); - _tmp6_ = dbusmenu_menuitem_get_children (root); - _tmp7_ = g_list_copy (_tmp6_); - children = _tmp7_; + _tmp19_ = self->priv->client; + _tmp20_ = dbusmenu_client_get_root (_tmp19_); + _tmp21_ = _g_object_ref0 (_tmp20_); + root = _tmp21_; + _tmp22_ = root; + g_signal_connect_object (_tmp22_, "child-added", (GCallback) _specific_items_manager_on_child_added_dbusmenu_menuitem_child_added, self, 0); + _tmp23_ = root; + g_signal_connect_object (_tmp23_, "child-removed", (GCallback) _specific_items_manager_on_child_removed_dbusmenu_menuitem_child_removed, self, 0); + _tmp24_ = root; + _tmp25_ = dbusmenu_menuitem_get_children (_tmp24_); + _tmp26_ = g_list_copy (_tmp25_); + children = _tmp26_; + _tmp27_ = children; { - GList* child_collection; - GList* child_it; - child_collection = children; + GList* child_collection = NULL; + GList* child_it = NULL; + child_collection = _tmp27_; for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { - void* child; + void* child = NULL; child = child_it->data; { - gint _tmp8_; + gint _tmp28_ = 0; gint pos; + void* _tmp29_; DbusmenuMenuitem* item; - DbusmenuMenuitemProxy* _tmp9_ = NULL; + DbusmenuMenuitem* _tmp30_; + DbusmenuMenuitemProxy* _tmp31_; DbusmenuMenuitemProxy* proxy; - const gchar* _tmp10_ = NULL; - _tmp8_ = specific_items_manager_figure_out_positioning (self); - pos = _tmp8_; - item = DBUSMENU_MENUITEM (child); - _tmp9_ = dbusmenu_menuitem_proxy_new (item); - proxy = _tmp9_; - gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->_proxy_items, proxy); - _tmp10_ = dbusmenu_menuitem_property_get (item, DBUSMENU_MENUITEM_PROP_LABEL); + GeeArrayList* _tmp32_; + DbusmenuMenuitemProxy* _tmp33_; + DbusmenuMenuitem* _tmp34_; + const gchar* _tmp35_ = NULL; + PlayerController* _tmp36_; + DbusmenuMenuitem* _tmp37_; + DbusmenuMenuitemProxy* _tmp38_; + gint _tmp39_; + _tmp28_ = specific_items_manager_figure_out_positioning (self); + pos = _tmp28_; + _tmp29_ = child; + item = DBUSMENU_MENUITEM (_tmp29_); + _tmp30_ = item; + _tmp31_ = dbusmenu_menuitem_proxy_new (_tmp30_); + proxy = _tmp31_; + _tmp32_ = self->priv->_proxy_items; + _tmp33_ = proxy; + gee_abstract_collection_add ((GeeAbstractCollection*) _tmp32_, _tmp33_); + _tmp34_ = item; + _tmp35_ = dbusmenu_menuitem_property_get (_tmp34_, DBUSMENU_MENUITEM_PROP_LABEL); g_debug ("specific-items-manager.vala:92: Proxy item of label = %s added to coll" \ -"ection", _tmp10_); - dbusmenu_menuitem_child_add_position (self->priv->_owner->root_menu, (DbusmenuMenuitem*) proxy, (guint) pos); +"ection", _tmp35_); + _tmp36_ = self->priv->_owner; + _tmp37_ = _tmp36_->root_menu; + _tmp38_ = proxy; + _tmp39_ = pos; + dbusmenu_menuitem_child_add_position (_tmp37_, (DbusmenuMenuitem*) _tmp38_, (guint) _tmp39_); _g_object_unref0 (proxy); } } @@ -362,35 +470,43 @@ static void specific_items_manager_on_child_removed (SpecificItemsManager* self, static PlayerController* specific_items_manager_get_owner (SpecificItemsManager* self) { PlayerController* result; + PlayerController* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_owner; + _tmp0_ = self->priv->_owner; + result = _tmp0_; return result; } static void specific_items_manager_set_owner (SpecificItemsManager* self, PlayerController* value) { PlayerController* _tmp0_; + PlayerController* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_owner); - self->priv->_owner = _tmp0_; + self->priv->_owner = _tmp1_; } GeeArrayList* specific_items_manager_get_proxy_items (SpecificItemsManager* self) { GeeArrayList* result; + GeeArrayList* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - result = self->priv->_proxy_items; + _tmp0_ = self->priv->_proxy_items; + result = _tmp0_; return result; } static void specific_items_manager_set_proxy_items (SpecificItemsManager* self, GeeArrayList* value) { GeeArrayList* _tmp0_; + GeeArrayList* _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = _g_object_ref0 (value); + _tmp0_ = value; + _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_proxy_items); - self->priv->_proxy_items = _tmp0_; + self->priv->_proxy_items = _tmp1_; g_object_notify ((GObject *) self, "proxy-items"); } @@ -399,7 +515,7 @@ static GObject * specific_items_manager_constructor (GType type, guint n_constru GObject * obj; GObjectClass * parent_class; SpecificItemsManager * self; - GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp0_; GeeArrayList* _tmp1_; parent_class = G_OBJECT_CLASS (specific_items_manager_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); diff --git a/src/transport-menu-item.c b/src/transport-menu-item.c index 746efa7..a73091b 100644 --- a/src/transport-menu-item.c +++ b/src/transport-menu-item.c @@ -1,4 +1,4 @@ -/* transport-menu-item.c generated by valac 0.12.1, the Vala compiler +/* transport-menu-item.c generated by valac 0.14.2, the Vala compiler * generated from transport-menu-item.vala, do not modify */ /* @@ -157,8 +157,10 @@ static void _vala_transport_menuitem_get_property (GObject * object, guint prope TransportMenuitem* transport_menuitem_construct (GType object_type, PlayerController* parent) { TransportMenuitem * self = NULL; + PlayerController* _tmp0_; g_return_val_if_fail (parent != NULL, NULL); - self = (TransportMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_TRANSPORT_MENUITEM_TYPE, "owner", parent, NULL); + _tmp0_ = parent; + self = (TransportMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_TRANSPORT_MENUITEM_TYPE, "owner", _tmp0_, NULL); return self; } @@ -180,8 +182,10 @@ static gboolean _transport_menuitem_send_cached_action_gsource_func (gpointer se void transport_menuitem_handle_cached_action (TransportMenuitem* self) { + TransportAction _tmp0_; g_return_if_fail (self != NULL); - if (self->priv->cached_action != TRANSPORT_ACTION_NO_ACTION) { + _tmp0_ = self->priv->cached_action; + if (_tmp0_ != TRANSPORT_ACTION_NO_ACTION) { g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 1, _transport_menuitem_send_cached_action_gsource_func, g_object_ref (self), g_object_unref); } } @@ -189,10 +193,16 @@ void transport_menuitem_handle_cached_action (TransportMenuitem* self) { static gboolean transport_menuitem_send_cached_action (TransportMenuitem* self) { gboolean result = FALSE; - PlayerController* _tmp0_ = NULL; + PlayerController* _tmp0_; + PlayerController* _tmp1_; + Mpris2Controller* _tmp2_; + TransportAction _tmp3_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = player_item_get_owner ((PlayerItem*) self); - mpris2_controller_transport_update (_tmp0_->mpris_bridge, self->priv->cached_action); + _tmp1_ = _tmp0_; + _tmp2_ = _tmp1_->mpris_bridge; + _tmp3_ = self->priv->cached_action; + mpris2_controller_transport_update (_tmp2_, _tmp3_); self->priv->cached_action = TRANSPORT_ACTION_NO_ACTION; result = FALSE; return result; @@ -200,9 +210,11 @@ static gboolean transport_menuitem_send_cached_action (TransportMenuitem* self) void transport_menuitem_change_play_state (TransportMenuitem* self, TransportState update) { + TransportState _tmp0_; gint temp; g_return_if_fail (self != NULL); - temp = (gint) update; + _tmp0_ = update; + temp = (gint) _tmp0_; dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, DBUSMENU_TRANSPORT_MENUITEM_PLAY_STATE, temp); } @@ -215,35 +227,57 @@ static gpointer _g_variant_ref0 (gpointer self) { static void transport_menuitem_real_handle_event (DbusmenuMenuitem* base, const gchar* name, GVariant* input_value, guint timestamp) { TransportMenuitem * self; GVariant* _tmp0_; + GVariant* _tmp1_; GVariant* v; - gboolean _tmp1_; - gint32 _tmp3_; + GVariant* _tmp2_; + const GVariantType* _tmp3_; + gboolean _tmp4_ = FALSE; + GVariant* _tmp7_; + gint32 _tmp8_ = 0; gint32 input; - gboolean _tmp4_; + gboolean _tmp9_; + gboolean _tmp10_; self = (TransportMenuitem*) base; g_return_if_fail (name != NULL); g_return_if_fail (input_value != NULL); - _tmp0_ = _g_variant_ref0 (input_value); - v = _tmp0_; - _tmp1_ = g_variant_is_of_type (input_value, G_VARIANT_TYPE_VARIANT); - if (_tmp1_) { - GVariant* _tmp2_ = NULL; - _tmp2_ = g_variant_get_variant (input_value); + _tmp0_ = input_value; + _tmp1_ = _g_variant_ref0 (_tmp0_); + v = _tmp1_; + _tmp2_ = input_value; + _tmp3_ = G_VARIANT_TYPE_VARIANT; + _tmp4_ = g_variant_is_of_type (_tmp2_, _tmp3_); + if (_tmp4_) { + GVariant* _tmp5_; + GVariant* _tmp6_ = NULL; + _tmp5_ = input_value; + _tmp6_ = g_variant_get_variant (_tmp5_); _g_variant_unref0 (v); - v = _tmp2_; + v = _tmp6_; } - _tmp3_ = g_variant_get_int32 (v); - input = _tmp3_; - _tmp4_ = transport_menuitem_get_running (self); - if (_tmp4_ == TRUE) { - PlayerController* _tmp5_ = NULL; - _tmp5_ = player_item_get_owner ((PlayerItem*) self); - mpris2_controller_transport_update (_tmp5_->mpris_bridge, (TransportAction) input); + _tmp7_ = v; + _tmp8_ = g_variant_get_int32 (_tmp7_); + input = _tmp8_; + _tmp9_ = transport_menuitem_get_running (self); + _tmp10_ = _tmp9_; + if (_tmp10_ == TRUE) { + PlayerController* _tmp11_; + PlayerController* _tmp12_; + Mpris2Controller* _tmp13_; + gint32 _tmp14_; + _tmp11_ = player_item_get_owner ((PlayerItem*) self); + _tmp12_ = _tmp11_; + _tmp13_ = _tmp12_->mpris_bridge; + _tmp14_ = input; + mpris2_controller_transport_update (_tmp13_, (TransportAction) _tmp14_); } else { - PlayerController* _tmp6_ = NULL; - self->priv->cached_action = (TransportAction) input; - _tmp6_ = player_item_get_owner ((PlayerItem*) self); - player_controller_instantiate (_tmp6_); + gint32 _tmp15_; + PlayerController* _tmp16_; + PlayerController* _tmp17_; + _tmp15_ = input; + self->priv->cached_action = (TransportAction) _tmp15_; + _tmp16_ = player_item_get_owner ((PlayerItem*) self); + _tmp17_ = _tmp16_; + player_controller_instantiate (_tmp17_); dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, DBUSMENU_TRANSPORT_MENUITEM_PLAY_STATE, (gint) TRANSPORT_STATE_LAUNCHING); } _g_variant_unref0 (v); @@ -252,7 +286,7 @@ static void transport_menuitem_real_handle_event (DbusmenuMenuitem* base, const GeeHashSet* transport_menuitem_attributes_format (void) { GeeHashSet* result = NULL; - GeeHashSet* _tmp0_ = NULL; + GeeHashSet* _tmp0_; GeeHashSet* attrs; _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL); attrs = _tmp0_; @@ -264,10 +298,14 @@ GeeHashSet* transport_menuitem_attributes_format (void) { static gboolean transport_menuitem_get_running (TransportMenuitem* self) { gboolean result; - PlayerController* _tmp0_ = NULL; + PlayerController* _tmp0_; + PlayerController* _tmp1_; + gint _tmp2_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = player_item_get_owner ((PlayerItem*) self); - result = _tmp0_->current_state == PLAYER_CONTROLLER_STATE_CONNECTED; + _tmp1_ = _tmp0_; + _tmp2_ = _tmp1_->current_state; + result = _tmp2_ == ((gint) PLAYER_CONTROLLER_STATE_CONNECTED); return result; } -- cgit v1.2.3