/* indicator.c generated by valac 0.40.8, the Vala compiler * generated from indicator.vala, do not modify */ /* vim:set et sts=4 sw=4: * * ibus - The Input Bus * * Copyright(c) 2015-2017 Takao Fujiwara * Copyright(c) 2015 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA */ /* This class extends AppIndicator because * AppIndicator misses "Activate" dbus method in the definition * for left click on the indicator. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define TYPE_INDICATOR (indicator_get_type ()) #define INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDICATOR, Indicator)) #define INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INDICATOR, IndicatorClass)) #define IS_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDICATOR)) #define IS_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INDICATOR)) #define INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INDICATOR, IndicatorClass)) typedef struct _Indicator Indicator; typedef struct _IndicatorClass IndicatorClass; typedef struct _IndicatorPrivate IndicatorPrivate; enum { INDICATOR_0_PROPERTY, INDICATOR_ID_PROPERTY, INDICATOR_CATEGORY_S_PROPERTY, INDICATOR_STATUS_S_PROPERTY, INDICATOR_ICON_NAME_PROPERTY, INDICATOR_ICON_DESC_PROPERTY, INDICATOR_ATTENTION_ICON_NAME_PROPERTY, INDICATOR_ATTENTION_ICON_DESC_PROPERTY, INDICATOR_TITLE_PROPERTY, INDICATOR_ICON_THEME_PATH_PROPERTY, INDICATOR_CONNECTED_PROPERTY, INDICATOR_LABEL_S_PROPERTY, INDICATOR_LABEL_GUIDE_S_PROPERTY, INDICATOR_ORDERING_INDEX_PROPERTY, INDICATOR_ICON_VECTOR_PROPERTY, INDICATOR_NUM_PROPERTIES }; static GParamSpec* indicator_properties[INDICATOR_NUM_PROPERTIES]; #define INDICATOR_TYPE_CATEGORY (indicator_category_get_type ()) #define INDICATOR_TYPE_STATUS (indicator_status_get_type ()) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL))) #define _g_dbus_node_info_unref0(var) ((var == NULL) ? NULL : (var = (g_dbus_node_info_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define _g_variant_type_free0(var) ((var == NULL) ? NULL : (var = (g_variant_type_free (var), NULL))) #define _g_variant_builder_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_builder_unref (var), NULL))) #define _g_bytes_unref0(var) ((var == NULL) ? NULL : (var = (g_bytes_unref (var), NULL))) enum { INDICATOR_CONTEXT_MENU_SIGNAL, INDICATOR_ACTIVATE_SIGNAL, INDICATOR_REGISTERED_STATUS_NOTIFIER_ITEM_SIGNAL, INDICATOR_NUM_SIGNALS }; static guint indicator_signals[INDICATOR_NUM_SIGNALS] = {0}; struct _Indicator { IBusService parent_instance; IndicatorPrivate * priv; }; struct _IndicatorClass { IBusServiceClass parent_class; }; struct _IndicatorPrivate { gchar* _id; gchar* _category_s; gchar* _status_s; gchar* _icon_name; gchar* _icon_desc; gchar* _attention_icon_name; gchar* _attention_icon_desc; gchar* _title; gchar* _icon_theme_path; gboolean _connected; gchar* _label_s; gchar* _label_guide_s; guint32 _ordering_index; GVariant* _icon_vector; GDBusNodeInfo* m_watcher_node_info; GDBusInterfaceInfo* m_watcher_interface_info; GDBusProxy* m_proxy; gint m_context_menu_x; gint m_context_menu_y; gint m_activate_menu_x; gint m_activate_menu_y; GdkWindow* m_indicator_window; }; typedef enum { INDICATOR_CATEGORY_APPLICATION_STATUS, INDICATOR_CATEGORY_COMMUNICATIONS, INDICATOR_CATEGORY_SYSTEM_SERVICES, INDICATOR_CATEGORY_HARDWARE, INDICATOR_CATEGORY_OTHER } IndicatorCategory; typedef enum { INDICATOR_STATUS_PASSIVE, INDICATOR_STATUS_ACTIVE, INDICATOR_STATUS_ATTENTION } IndicatorStatus; extern gchar* _notification_item; extern gchar* _notification_watcher; static gpointer indicator_parent_class = NULL; GType indicator_get_type (void) G_GNUC_CONST; #define INDICATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_INDICATOR, IndicatorPrivate)) GType indicator_category_get_type (void) G_GNUC_CONST; gchar* indicator_category_to_nick (IndicatorCategory self); GType indicator_status_get_type (void) G_GNUC_CONST; gchar* indicator_status_to_nick (IndicatorStatus self); #define INDICATOR_DEFAULT_ITEM_PATH "/org/ayatana/NotificationItem" #define INDICATOR_NOTIFICATION_ITEM_DBUS_IFACE "org.kde.StatusNotifierItem" #define INDICATOR_NOTIFICATION_WATCHER_DBUS_IFACE "org.kde.StatusNotifierWatcher" #define INDICATOR_NOTIFICATION_WATCHER_DBUS_ADDR "org.kde.StatusNotifierWatcher" #define INDICATOR_NOTIFICATION_WATCHER_DBUS_OBJ "/StatusNotifierWatcher" Indicator* indicator_new (const gchar* id, GDBusConnection* connection, IndicatorCategory category); Indicator* indicator_construct (GType object_type, const gchar* id, GDBusConnection* connection, IndicatorCategory category); void indicator_set_status_s (Indicator* self, const gchar* value); void indicator_set_icon_name (Indicator* self, const gchar* value); void indicator_set_icon_desc (Indicator* self, const gchar* value); void indicator_set_title (Indicator* self, const gchar* value); void indicator_set_icon_theme_path (Indicator* self, const gchar* value); void indicator_set_attention_icon_name (Indicator* self, const gchar* value); void indicator_set_attention_icon_desc (Indicator* self, const gchar* value); void indicator_set_label_s (Indicator* self, const gchar* value); void indicator_set_label_guide_s (Indicator* self, const gchar* value); static void indicator_check_connect (Indicator* self); static void ___lambda4_ (Indicator* self, GObject* obj, GAsyncResult* res); static void indicator_bus_watcher_ready (Indicator* self, GObject* obj, GAsyncResult* res); static void ____lambda4__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self); static void ___lambda5_ (Indicator* self, GObject* obj, GParamSpec* pspec); static void ____lambda5__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self); static void __lambda6_ (Indicator* self, GObject* p_obj, GAsyncResult* p_res); static void ___lambda6__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self); static void _indicator_context_menu_cb (Indicator* self, GDBusConnection* connection, GVariant* parameters, GDBusMethodInvocation* invocation); static GdkWindow* indicator_query_gdk_window (Indicator* self); static void _indicator_activate_menu_cb (Indicator* self, GDBusConnection* connection, GVariant* parameters, GDBusMethodInvocation* invocation); static GVariant* _indicator_get_id (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_id (Indicator* self); static GVariant* _indicator_get_category (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_category_s (Indicator* self); static GVariant* _indicator_get_status (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_status_s (Indicator* self); static GVariant* _indicator_get_icon_name (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_icon_name (Indicator* self); static GVariant* _indicator_get_icon_vector (Indicator* self, GDBusConnection* connection); GVariant* indicator_get_icon_vector (Indicator* self); static GVariant* _indicator_get_icon_desc (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_icon_desc (Indicator* self); static GVariant* _indicator_get_attention_icon_name (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_attention_icon_name (Indicator* self); static GVariant* _indicator_get_attention_icon_desc (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_attention_icon_desc (Indicator* self); static GVariant* _indicator_get_title (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_title (Indicator* self); static GVariant* _indicator_get_icon_theme_path (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_icon_theme_path (Indicator* self); static GVariant* _indicator_get_menu (Indicator* self, GDBusConnection* connection); static GVariant* _indicator_get_xayatana_label (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_label_s (Indicator* self); static GVariant* _indicator_get_xayatana_label_guide (Indicator* self, GDBusConnection* connection); const gchar* indicator_get_label_guide_s (Indicator* self); static GVariant* _indicator_get_xayatana_ordering_index (Indicator* self, GDBusConnection* connection); guint32 indicator_get_ordering_index (Indicator* self); static void indicator_real_service_method_call (IBusService* base, GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation); static GVariant* indicator_real_service_get_property (IBusService* base, GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error); static gboolean indicator_real_service_set_property (IBusService* base, GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error); void indicator_set_status (Indicator* self, IndicatorStatus status); void indicator_set_icon_full (Indicator* self, const gchar* icon_name, const gchar* icon_desc); void indicator_set_icon_vector (Indicator* self, GVariant* value); void indicator_set_cairo_image_surface_full (Indicator* self, cairo_surface_t* image, const gchar* icon_desc); void indicator_position_context_menu (Indicator* self, GtkMenu* menu, gint* x, gint* y, gboolean* push_in); void indicator_position_activate_menu (Indicator* self, GtkMenu* menu, gint* x, gint* y, gboolean* push_in); void indicator_unregister_connection (Indicator* self); static void indicator_set_id (Indicator* self, const gchar* value); static void indicator_set_category_s (Indicator* self, const gchar* value); gboolean indicator_get_connected (Indicator* self); void indicator_set_connected (Indicator* self, gboolean value); void indicator_set_ordering_index (Indicator* self, guint32 value); static void g_cclosure_user_marshal_VOID__INT_INT_OBJECT_UINT_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static void g_cclosure_user_marshal_VOID__INT_INT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); static void indicator_finalize (GObject * obj); static void _vala_indicator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_indicator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); gchar* indicator_category_to_nick (IndicatorCategory self) { gchar* result = NULL; switch (self) { case INDICATOR_CATEGORY_APPLICATION_STATUS: { gchar* _tmp0_; _tmp0_ = g_strdup ("ApplicationStatus"); result = _tmp0_; return result; } case INDICATOR_CATEGORY_COMMUNICATIONS: { gchar* _tmp1_; _tmp1_ = g_strdup ("Communications"); result = _tmp1_; return result; } case INDICATOR_CATEGORY_SYSTEM_SERVICES: { gchar* _tmp2_; _tmp2_ = g_strdup ("SystemServices"); result = _tmp2_; return result; } case INDICATOR_CATEGORY_HARDWARE: { gchar* _tmp3_; _tmp3_ = g_strdup ("Hardware"); result = _tmp3_; return result; } case INDICATOR_CATEGORY_OTHER: { gchar* _tmp4_; _tmp4_ = g_strdup ("Other"); result = _tmp4_; return result; } default: { g_assert_not_reached (); } } } GType indicator_category_get_type (void) { static volatile gsize indicator_category_type_id__volatile = 0; if (g_once_init_enter (&indicator_category_type_id__volatile)) { static const GEnumValue values[] = {{INDICATOR_CATEGORY_APPLICATION_STATUS, "INDICATOR_CATEGORY_APPLICATION_STATUS", "application-status"}, {INDICATOR_CATEGORY_COMMUNICATIONS, "INDICATOR_CATEGORY_COMMUNICATIONS", "communications"}, {INDICATOR_CATEGORY_SYSTEM_SERVICES, "INDICATOR_CATEGORY_SYSTEM_SERVICES", "system-services"}, {INDICATOR_CATEGORY_HARDWARE, "INDICATOR_CATEGORY_HARDWARE", "hardware"}, {INDICATOR_CATEGORY_OTHER, "INDICATOR_CATEGORY_OTHER", "other"}, {0, NULL, NULL}}; GType indicator_category_type_id; indicator_category_type_id = g_enum_register_static ("IndicatorCategory", values); g_once_init_leave (&indicator_category_type_id__volatile, indicator_category_type_id); } return indicator_category_type_id__volatile; } gchar* indicator_status_to_nick (IndicatorStatus self) { gchar* result = NULL; switch (self) { case INDICATOR_STATUS_PASSIVE: { gchar* _tmp0_; _tmp0_ = g_strdup ("Passive"); result = _tmp0_; return result; } case INDICATOR_STATUS_ACTIVE: { gchar* _tmp1_; _tmp1_ = g_strdup ("Active"); result = _tmp1_; return result; } case INDICATOR_STATUS_ATTENTION: { gchar* _tmp2_; _tmp2_ = g_strdup ("NeedsAttention"); result = _tmp2_; return result; } default: { g_assert_not_reached (); } } } GType indicator_status_get_type (void) { static volatile gsize indicator_status_type_id__volatile = 0; if (g_once_init_enter (&indicator_status_type_id__volatile)) { static const GEnumValue values[] = {{INDICATOR_STATUS_PASSIVE, "INDICATOR_STATUS_PASSIVE", "passive"}, {INDICATOR_STATUS_ACTIVE, "INDICATOR_STATUS_ACTIVE", "active"}, {INDICATOR_STATUS_ATTENTION, "INDICATOR_STATUS_ATTENTION", "attention"}, {0, NULL, NULL}}; GType indicator_status_type_id; indicator_status_type_id = g_enum_register_static ("IndicatorStatus", values); g_once_init_leave (&indicator_status_type_id__volatile, indicator_status_type_id); } return indicator_status_type_id__volatile; } static gchar* string_delimit (const gchar* self, const gchar* delimiters, gchar new_delimiter) { gchar* result = NULL; gchar* _result_ = NULL; gchar* _tmp0_; const gchar* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (delimiters != NULL, NULL); _tmp0_ = g_strdup (self); _result_ = _tmp0_; _tmp1_ = _result_; g_strdelimit (_tmp1_, delimiters, new_delimiter); result = _result_; return result; } Indicator* indicator_construct (GType object_type, const gchar* id, GDBusConnection* connection, IndicatorCategory category) { Indicator * self = NULL; gchar* path = NULL; gchar* _tmp0_; const gchar* _tmp1_; gchar* _tmp2_; const gchar* _tmp3_; gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; gchar* _tmp7_; const gchar* _tmp8_; GDBusNodeInfo* _tmp22_; GDBusInterfaceInfo* _tmp23_; GError * _inner_error_ = NULL; g_return_val_if_fail (id != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = g_strconcat (INDICATOR_DEFAULT_ITEM_PATH "/", id, NULL); path = _tmp0_; _tmp1_ = path; _tmp2_ = string_delimit (_tmp1_, "-", '_'); _g_free0 (path); path = _tmp2_; _tmp3_ = path; _tmp4_ = indicator_category_to_nick (category); _tmp5_ = _tmp4_; self = (Indicator*) g_object_new (object_type, "object-path", _tmp3_, "id", id, "connection", connection, "category-s", _tmp5_, NULL); _g_free0 (_tmp5_); _tmp6_ = indicator_status_to_nick (INDICATOR_STATUS_PASSIVE); _tmp7_ = _tmp6_; indicator_set_status_s (self, _tmp7_); _g_free0 (_tmp7_); indicator_set_icon_name (self, ""); indicator_set_icon_desc (self, ""); indicator_set_title (self, ""); indicator_set_icon_theme_path (self, ""); indicator_set_attention_icon_name (self, ""); indicator_set_attention_icon_desc (self, ""); indicator_set_label_s (self, ""); indicator_set_label_guide_s (self, ""); ibus_service_unregister ((IBusService*) self, connection); _tmp8_ = _notification_item; ibus_service_class_add_interfaces (IBUS_SERVICE_CLASS (G_OBJECT_GET_CLASS (self)), _tmp8_); { gboolean _tmp9_ = FALSE; _tmp9_ = ibus_service_register ((IBusService*) self, connection, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { goto __catch5_g_error; } if (!_tmp9_) { _g_free0 (path); return self; } } goto __finally5; __catch5_g_error: { GError* e = NULL; GError* _tmp10_; const gchar* _tmp11_; gchar* _tmp12_; gchar* _tmp13_; e = _inner_error_; _inner_error_ = NULL; _tmp10_ = e; _tmp11_ = _tmp10_->message; _tmp12_ = g_strconcat ("Failed to register the application indicator xml: ", _tmp11_, NULL); _tmp13_ = _tmp12_; g_warning ("indicator.vala:129: %s", _tmp13_); _g_free0 (_tmp13_); _g_error_free0 (e); _g_free0 (path); return self; } __finally5: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_free0 (path); 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 NULL; } { GDBusNodeInfo* _tmp14_ = NULL; const gchar* _tmp15_; GDBusNodeInfo* _tmp16_; GDBusNodeInfo* _tmp17_; _tmp15_ = _notification_watcher; _tmp16_ = g_dbus_node_info_new_for_xml (_tmp15_, &_inner_error_); _tmp14_ = _tmp16_; if (G_UNLIKELY (_inner_error_ != NULL)) { goto __catch6_g_error; } _tmp17_ = _tmp14_; _tmp14_ = NULL; _g_dbus_node_info_unref0 (self->priv->m_watcher_node_info); self->priv->m_watcher_node_info = _tmp17_; _g_dbus_node_info_unref0 (_tmp14_); } goto __finally6; __catch6_g_error: { GError* e = NULL; GError* _tmp18_; const gchar* _tmp19_; gchar* _tmp20_; gchar* _tmp21_; e = _inner_error_; _inner_error_ = NULL; _tmp18_ = e; _tmp19_ = _tmp18_->message; _tmp20_ = g_strconcat ("Failed to create dbus node info: ", _tmp19_, NULL); _tmp21_ = _tmp20_; g_warning ("indicator.vala:138: %s", _tmp21_); _g_free0 (_tmp21_); _g_error_free0 (e); _g_free0 (path); return self; } __finally6: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_free0 (path); 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 NULL; } _tmp22_ = self->priv->m_watcher_node_info; _tmp23_ = g_dbus_node_info_lookup_interface (_tmp22_, INDICATOR_NOTIFICATION_WATCHER_DBUS_IFACE); self->priv->m_watcher_interface_info = _tmp23_; indicator_check_connect (self); _g_free0 (path); return self; } Indicator* indicator_new (const gchar* id, GDBusConnection* connection, IndicatorCategory category) { return indicator_construct (TYPE_INDICATOR, id, connection, category); } static void ___lambda4_ (Indicator* self, GObject* obj, GAsyncResult* res) { g_return_if_fail (res != NULL); indicator_bus_watcher_ready (self, obj, res); } static void ____lambda4__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) { ___lambda4_ ((Indicator*) self, source_object, res); g_object_unref (self); } static void indicator_check_connect (Indicator* self) { GDBusProxy* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = self->priv->m_proxy; if (_tmp0_ == NULL) { GDBusConnection* _tmp1_; GDBusConnection* _tmp2_; GDBusInterfaceInfo* _tmp3_; _tmp1_ = ibus_service_get_connection ((IBusService*) self); _tmp2_ = _tmp1_; _tmp3_ = self->priv->m_watcher_interface_info; g_dbus_proxy_new (_tmp2_, G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS, _tmp3_, INDICATOR_NOTIFICATION_WATCHER_DBUS_ADDR, INDICATOR_NOTIFICATION_WATCHER_DBUS_OBJ, INDICATOR_NOTIFICATION_WATCHER_DBUS_IFACE, NULL, ____lambda4__gasync_ready_callback, g_object_ref (self)); } else { indicator_bus_watcher_ready (self, NULL, NULL); } } static void ___lambda5_ (Indicator* self, GObject* obj, GParamSpec* pspec) { gchar* name = NULL; GDBusProxy* _tmp0_; gchar* _tmp1_; const gchar* _tmp2_; g_return_if_fail (obj != NULL); g_return_if_fail (pspec != NULL); _tmp0_ = self->priv->m_proxy; _tmp1_ = g_dbus_proxy_get_name_owner (_tmp0_); name = _tmp1_; _tmp2_ = name; if (_tmp2_ != NULL) { indicator_check_connect (self); } _g_free0 (name); } static void ____lambda5__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) { ___lambda5_ ((Indicator*) self, _sender, pspec); } static void __lambda6_ (Indicator* self, GObject* p_obj, GAsyncResult* p_res) { GError * _inner_error_ = NULL; g_return_if_fail (p_res != NULL); { GDBusProxy* _tmp0_; GVariant* _tmp1_; GVariant* _tmp2_; _tmp0_ = self->priv->m_proxy; _tmp1_ = g_dbus_proxy_call_finish (_tmp0_, p_res, &_inner_error_); _tmp2_ = _tmp1_; _g_variant_unref0 (_tmp2_); if (G_UNLIKELY (_inner_error_ != NULL)) { goto __catch8_g_error; } g_signal_emit (self, indicator_signals[INDICATOR_REGISTERED_STATUS_NOTIFIER_ITEM_SIGNAL], 0); } goto __finally8; __catch8_g_error: { GError* e = NULL; GError* _tmp3_; const gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; e = _inner_error_; _inner_error_ = NULL; _tmp3_ = e; _tmp4_ = _tmp3_->message; _tmp5_ = g_strconcat ("Failed to call " "RegisterStatusNotifierItem: ", _tmp4_, NULL); _tmp6_ = _tmp5_; g_warning ("indicator.vala:199: %s", _tmp6_); _g_free0 (_tmp6_); _g_error_free0 (e); } __finally8: if (G_UNLIKELY (_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_); return; } } static void ___lambda6__gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) { __lambda6_ ((Indicator*) self, source_object, res); g_object_unref (self); } static void indicator_bus_watcher_ready (Indicator* self, GObject* obj, GAsyncResult* res) { gchar* name = NULL; GDBusProxy* _tmp8_; gchar* _tmp9_; const gchar* _tmp10_; GDBusProxy* _tmp11_; const gchar* _tmp12_; const gchar* _tmp13_; GVariant* _tmp14_; GVariant* _tmp15_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); if (res != NULL) { GDBusProxy* _tmp7_; { GDBusProxy* _tmp0_ = NULL; GDBusProxy* _tmp1_; GDBusProxy* _tmp2_; _tmp1_ = g_dbus_proxy_new_finish (res, &_inner_error_); _tmp0_ = _tmp1_; if (G_UNLIKELY (_inner_error_ != NULL)) { if (_inner_error_->domain == G_IO_ERROR) { goto __catch7_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_); return; } _tmp2_ = _tmp0_; _tmp0_ = NULL; _g_object_unref0 (self->priv->m_proxy); self->priv->m_proxy = _tmp2_; _g_object_unref0 (_tmp0_); } goto __finally7; __catch7_g_io_error: { GError* e = NULL; GError* _tmp3_; const gchar* _tmp4_; gchar* _tmp5_; gchar* _tmp6_; e = _inner_error_; _inner_error_ = NULL; _tmp3_ = e; _tmp4_ = _tmp3_->message; _tmp5_ = g_strconcat ("Failed to call dbus proxy: ", _tmp4_, NULL); _tmp6_ = _tmp5_; g_warning ("indicator.vala:173: %s", _tmp6_); _g_free0 (_tmp6_); _g_error_free0 (e); return; } __finally7: if (G_UNLIKELY (_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_); return; } _tmp7_ = self->priv->m_proxy; g_signal_connect_object ((GObject*) _tmp7_, "notify::g-name-owner", (GCallback) ____lambda5__g_object_notify, self, 0); } _tmp8_ = self->priv->m_proxy; _tmp9_ = g_dbus_proxy_get_name_owner (_tmp8_); name = _tmp9_; _tmp10_ = name; if (_tmp10_ == NULL) { _g_free0 (name); return; } _tmp11_ = self->priv->m_proxy; _tmp12_ = ibus_service_get_object_path ((IBusService*) self); _tmp13_ = _tmp12_; _tmp14_ = g_variant_new ("(s)", _tmp13_, NULL); g_variant_ref_sink (_tmp14_); _tmp15_ = _tmp14_; g_dbus_proxy_call (_tmp11_, "RegisterStatusNotifierItem", _tmp15_, G_DBUS_CALL_FLAGS_NONE, -1, NULL, ___lambda6__gasync_ready_callback, g_object_ref (self)); _g_variant_unref0 (_tmp15_); _g_free0 (name); } static void _indicator_context_menu_cb (Indicator* self, GDBusConnection* connection, GVariant* parameters, GDBusMethodInvocation* invocation) { GVariant* var_x = NULL; GVariant* _tmp0_; GVariant* var_y = NULL; GVariant* _tmp1_; GdkWindow* window = NULL; GdkWindow* _tmp2_; gint _tmp3_; gint _tmp4_; g_return_if_fail (self != NULL); g_return_if_fail (connection != NULL); g_return_if_fail (parameters != NULL); g_return_if_fail (invocation != NULL); _tmp0_ = g_variant_get_child_value (parameters, (gsize) 0); var_x = _tmp0_; _tmp1_ = g_variant_get_child_value (parameters, (gsize) 1); var_y = _tmp1_; self->priv->m_context_menu_x = (gint) g_variant_get_int32 (var_x); self->priv->m_context_menu_y = (gint) g_variant_get_int32 (var_y); _tmp2_ = indicator_query_gdk_window (self); window = _tmp2_; _tmp3_ = self->priv->m_context_menu_x; _tmp4_ = self->priv->m_context_menu_y; g_signal_emit (self, indicator_signals[INDICATOR_CONTEXT_MENU_SIGNAL], 0, _tmp3_, _tmp4_, window, (guint) 2, (guint) 0); _g_object_unref0 (window); _g_variant_unref0 (var_y); _g_variant_unref0 (var_x); } static void _indicator_activate_menu_cb (Indicator* self, GDBusConnection* connection, GVariant* parameters, GDBusMethodInvocation* invocation) { GVariant* var_x = NULL; GVariant* _tmp0_; GVariant* var_y = NULL; GVariant* _tmp1_; GdkWindow* window = NULL; GdkWindow* _tmp2_; gint _tmp3_; gint _tmp4_; g_return_if_fail (self != NULL); g_return_if_fail (connection != NULL); g_return_if_fail (parameters != NULL); g_return_if_fail (invocation != NULL); _tmp0_ = g_variant_get_child_value (parameters, (gsize) 0); var_x = _tmp0_; _tmp1_ = g_variant_get_child_value (parameters, (gsize) 1); var_y = _tmp1_; self->priv->m_activate_menu_x = (gint) g_variant_get_int32 (var_x); self->priv->m_activate_menu_y = (gint) g_variant_get_int32 (var_y); _tmp2_ = indicator_query_gdk_window (self); window = _tmp2_; _tmp3_ = self->priv->m_activate_menu_x; _tmp4_ = self->priv->m_activate_menu_y; g_signal_emit (self, indicator_signals[INDICATOR_ACTIVATE_SIGNAL], 0, _tmp3_, _tmp4_, window); _g_object_unref0 (window); _g_variant_unref0 (var_y); _g_variant_unref0 (var_x); } static gpointer _g_object_ref0 (gpointer self) { return self ? g_object_ref (self) : NULL; } static GdkWindow* indicator_query_gdk_window (Indicator* self) { GdkWindow* result = NULL; GdkWindow* _tmp0_; GdkDisplay* display = NULL; GdkDisplay* _tmp3_; GdkDisplay* _tmp4_; Display* xdisplay = NULL; GdkDisplay* _tmp5_; Display* _tmp6_; Window current = 0; Display* _tmp7_; Window parent = 0; Window child = 0; gint root_x = 0; gint root_y = 0; gint win_x = 0; gint win_y = 0; guint mask = 0U; gint _tmp8_; gint _tmp9_; gint _tmp10_; gboolean retval = FALSE; gboolean _tmp24_; Window _tmp37_; Display* _tmp38_; GdkDisplay* _tmp39_; Window _tmp40_; GdkX11Window* _tmp41_; GdkWindow* _tmp42_; GdkWindow* _tmp43_; GdkDisplay* _tmp46_; Window _tmp47_; GdkX11Window* _tmp48_; GdkWindow* _tmp49_; GdkWindow* _tmp50_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->m_indicator_window; if (_tmp0_ != NULL) { GdkWindow* _tmp1_; GdkWindow* _tmp2_; _tmp1_ = self->priv->m_indicator_window; _tmp2_ = _g_object_ref0 (_tmp1_); result = _tmp2_; return result; } _tmp3_ = gdk_display_get_default (); _tmp4_ = _g_object_ref0 (_tmp3_); display = _tmp4_; _tmp5_ = display; _tmp6_ = gdk_x11_display_get_xdisplay (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, gdk_x11_display_get_type ()) ? ((GdkX11Display*) _tmp5_) : NULL); xdisplay = _tmp6_; _tmp7_ = xdisplay; current = DefaultRootWindow (_tmp7_); parent = (Window) 0; child = (Window) 0; mask = (guint) 0; win_y = 0; _tmp8_ = win_y; win_x = _tmp8_; _tmp9_ = win_x; root_y = _tmp9_; _tmp10_ = root_y; root_x = _tmp10_; while (TRUE) { Display* _tmp11_; Window _tmp12_; Window _tmp13_ = 0; Window _tmp14_ = 0; gint _tmp15_ = 0; gint _tmp16_ = 0; gint _tmp17_ = 0; gint _tmp18_ = 0; guint _tmp19_ = 0U; gboolean _tmp20_; gboolean _tmp21_; Window _tmp22_; Window _tmp23_; _tmp11_ = xdisplay; _tmp12_ = current; _tmp20_ = XQueryPointer (_tmp11_, _tmp12_, &_tmp13_, &_tmp14_, &_tmp15_, &_tmp16_, &_tmp17_, &_tmp18_, &_tmp19_); parent = _tmp13_; child = _tmp14_; root_x = _tmp15_; root_y = _tmp16_; win_x = _tmp17_; win_y = _tmp18_; mask = _tmp19_; retval = _tmp20_; _tmp21_ = retval; if (!_tmp21_) { break; } _tmp22_ = child; if (_tmp22_ == ((Window) 0)) { break; } _tmp23_ = child; current = _tmp23_; } _tmp24_ = retval; if (!_tmp24_) { gchar* format = NULL; gchar* _tmp25_; gchar* message = NULL; const gchar* _tmp26_; Window _tmp27_; Display* _tmp28_; Window _tmp29_; gint _tmp30_; gint _tmp31_; gint _tmp32_; gint _tmp33_; guint _tmp34_; gchar* _tmp35_; const gchar* _tmp36_; _tmp25_ = g_strdup ("XQueryPointer is failed: current: %x root: %x " "child: %x (%d, %d), (%d, %d), %u"); format = _tmp25_; _tmp26_ = format; _tmp27_ = current; _tmp28_ = xdisplay; _tmp29_ = child; _tmp30_ = root_x; _tmp31_ = root_y; _tmp32_ = win_x; _tmp33_ = win_y; _tmp34_ = mask; _tmp35_ = g_strdup_printf (_tmp26_, (guint) _tmp27_, (guint) DefaultRootWindow (_tmp28_), (guint) _tmp29_, _tmp30_, _tmp31_, _tmp32_, _tmp33_, _tmp34_); message = _tmp35_; _tmp36_ = message; g_warning ("indicator.vala:264: XQueryPointer is failed: %s", _tmp36_); result = NULL; _g_free0 (message); _g_free0 (format); _g_object_unref0 (display); return result; } _tmp37_ = current; _tmp38_ = xdisplay; if (_tmp37_ == DefaultRootWindow (_tmp38_)) { g_warning ("indicator.vala:268: The query window is root window"); } _tmp39_ = display; _tmp40_ = current; _tmp41_ = gdk_x11_window_lookup_for_display (G_TYPE_CHECK_INSTANCE_TYPE (_tmp39_, gdk_x11_display_get_type ()) ? ((GdkX11Display*) _tmp39_) : NULL, _tmp40_); _tmp42_ = _g_object_ref0 ((GdkWindow*) _tmp41_); _g_object_unref0 (self->priv->m_indicator_window); self->priv->m_indicator_window = _tmp42_; _tmp43_ = self->priv->m_indicator_window; if (_tmp43_ != NULL) { GdkWindow* _tmp44_; GdkWindow* _tmp45_; _tmp44_ = self->priv->m_indicator_window; _tmp45_ = _g_object_ref0 (_tmp44_); result = _tmp45_; _g_object_unref0 (display); return result; } _tmp46_ = display; _tmp47_ = current; _tmp48_ = (GdkX11Window*) gdk_x11_window_foreign_new_for_display (G_TYPE_CHECK_INSTANCE_TYPE (_tmp46_, gdk_x11_display_get_type ()) ? ((GdkX11Display*) _tmp46_) : NULL, _tmp47_); _g_object_unref0 (self->priv->m_indicator_window); self->priv->m_indicator_window = (GdkWindow*) _tmp48_; _tmp49_ = self->priv->m_indicator_window; _tmp50_ = _g_object_ref0 (_tmp49_); result = _tmp50_; _g_object_unref0 (display); return result; } static GVariant* _indicator_get_id (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_id; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_category (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_category_s; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_status (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_status_s; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_icon_name (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_icon_name; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static gpointer _g_variant_ref0 (gpointer self) { return self ? g_variant_ref (self) : NULL; } static GVariant* _indicator_get_icon_vector (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; GVariant* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_icon_vector; _tmp1_ = _g_variant_ref0 (_tmp0_); result = _tmp1_; return result; } static GVariant* _indicator_get_icon_desc (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_icon_desc; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_attention_icon_name (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_attention_icon_name; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_attention_icon_desc (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_attention_icon_desc; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_title (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_title; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_icon_theme_path (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_icon_theme_path; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_menu (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); result = NULL; return result; } static GVariant* _indicator_get_xayatana_label (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_label_s; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_xayatana_label_guide (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; const gchar* _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_label_guide_s; _tmp1_ = g_variant_new_string (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static GVariant* _indicator_get_xayatana_ordering_index (Indicator* self, GDBusConnection* connection) { GVariant* result = NULL; guint32 _tmp0_; GVariant* _tmp1_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (connection != NULL, NULL); _tmp0_ = self->priv->_ordering_index; _tmp1_ = g_variant_new_uint32 (_tmp0_); g_variant_ref_sink (_tmp1_); result = _tmp1_; return result; } static void indicator_real_service_method_call (IBusService* base, GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation) { Indicator * self; const gchar* _tmp0_; const gchar* _tmp1_; gchar* _tmp2_; gchar* _tmp3_; self = (Indicator*) base; g_return_if_fail (connection != NULL); g_return_if_fail (sender != NULL); g_return_if_fail (object_path != NULL); g_return_if_fail (interface_name != NULL); g_return_if_fail (method_name != NULL); g_return_if_fail (parameters != NULL); g_return_if_fail (invocation != NULL); _tmp0_ = ibus_service_get_object_path ((IBusService*) self); _tmp1_ = _tmp0_; g_return_if_fail (g_strcmp0 (object_path, _tmp1_) == 0); g_return_if_fail (g_strcmp0 (interface_name, INDICATOR_NOTIFICATION_ITEM_DBUS_IFACE) == 0); if (g_strcmp0 (method_name, "Activate") == 0) { _indicator_activate_menu_cb (self, connection, parameters, invocation); return; } if (g_strcmp0 (method_name, "ContextMenu") == 0) { _indicator_context_menu_cb (self, connection, parameters, invocation); return; } _tmp2_ = g_strconcat ("service_method_call() does not handle the method: ", method_name, NULL); _tmp3_ = _tmp2_; g_warning ("indicator.vala:376: %s", _tmp3_); _g_free0 (_tmp3_); } static GVariant* indicator_real_service_get_property (IBusService* base, GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error) { Indicator * self; GVariant* result = NULL; const gchar* _tmp0_; const gchar* _tmp1_; gchar* _tmp16_; gchar* _tmp17_; self = (Indicator*) base; g_return_val_if_fail (connection != NULL, NULL); g_return_val_if_fail (sender != NULL, NULL); g_return_val_if_fail (object_path != NULL, NULL); g_return_val_if_fail (interface_name != NULL, NULL); g_return_val_if_fail (property_name != NULL, NULL); _tmp0_ = ibus_service_get_object_path ((IBusService*) self); _tmp1_ = _tmp0_; g_return_val_if_fail (g_strcmp0 (object_path, _tmp1_) == 0, NULL); g_return_val_if_fail (g_strcmp0 (interface_name, INDICATOR_NOTIFICATION_ITEM_DBUS_IFACE) == 0, NULL); if (g_strcmp0 (property_name, "Id") == 0) { GVariant* _tmp2_; _tmp2_ = _indicator_get_id (self, connection); result = _tmp2_; return result; } if (g_strcmp0 (property_name, "Category") == 0) { GVariant* _tmp3_; _tmp3_ = _indicator_get_category (self, connection); result = _tmp3_; return result; } if (g_strcmp0 (property_name, "Status") == 0) { GVariant* _tmp4_; _tmp4_ = _indicator_get_status (self, connection); result = _tmp4_; return result; } if (g_strcmp0 (property_name, "IconName") == 0) { GVariant* _tmp5_; _tmp5_ = _indicator_get_icon_name (self, connection); result = _tmp5_; return result; } if (g_strcmp0 (property_name, "IconPixmap") == 0) { GVariant* _tmp6_; _tmp6_ = _indicator_get_icon_vector (self, connection); result = _tmp6_; return result; } if (g_strcmp0 (property_name, "IconAccessibleDesc") == 0) { GVariant* _tmp7_; _tmp7_ = _indicator_get_icon_desc (self, connection); result = _tmp7_; return result; } if (g_strcmp0 (property_name, "AttentionIconName") == 0) { GVariant* _tmp8_; _tmp8_ = _indicator_get_attention_icon_name (self, connection); result = _tmp8_; return result; } if (g_strcmp0 (property_name, "AttentionAccessibleDesc") == 0) { GVariant* _tmp9_; _tmp9_ = _indicator_get_attention_icon_desc (self, connection); result = _tmp9_; return result; } if (g_strcmp0 (property_name, "Title") == 0) { GVariant* _tmp10_; _tmp10_ = _indicator_get_title (self, connection); result = _tmp10_; return result; } if (g_strcmp0 (property_name, "IconThemePath") == 0) { GVariant* _tmp11_; _tmp11_ = _indicator_get_icon_theme_path (self, connection); result = _tmp11_; return result; } if (g_strcmp0 (property_name, "Menu") == 0) { GVariant* _tmp12_; _tmp12_ = _indicator_get_menu (self, connection); result = _tmp12_; return result; } if (g_strcmp0 (property_name, "XAyatanaLabel") == 0) { GVariant* _tmp13_; _tmp13_ = _indicator_get_xayatana_label (self, connection); result = _tmp13_; return result; } if (g_strcmp0 (property_name, "XAyatanaLabelGuide") == 0) { GVariant* _tmp14_; _tmp14_ = _indicator_get_xayatana_label_guide (self, connection); result = _tmp14_; return result; } if (g_strcmp0 (property_name, "XAyatanaOrderingIndex") == 0) { GVariant* _tmp15_; _tmp15_ = _indicator_get_xayatana_ordering_index (self, connection); result = _tmp15_; return result; } _tmp16_ = g_strconcat ("service_get_property() does not handle the property: ", property_name, NULL); _tmp17_ = _tmp16_; g_warning ("indicator.vala:421: %s", _tmp17_); _g_free0 (_tmp17_); result = NULL; return result; } static gboolean indicator_real_service_set_property (IBusService* base, GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error) { Indicator * self; gboolean result = FALSE; self = (Indicator*) base; g_return_val_if_fail (connection != NULL, FALSE); g_return_val_if_fail (sender != NULL, FALSE); g_return_val_if_fail (object_path != NULL, FALSE); g_return_val_if_fail (interface_name != NULL, FALSE); g_return_val_if_fail (property_name != NULL, FALSE); g_return_val_if_fail (value != NULL, FALSE); result = FALSE; return result; } void indicator_set_status (Indicator* self, IndicatorStatus status) { gchar* status_s = NULL; gchar* _tmp0_; const gchar* _tmp1_; const gchar* _tmp2_; const gchar* _tmp3_; GDBusConnection* _tmp4_; GDBusConnection* _tmp5_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = indicator_status_to_nick (status); status_s = _tmp0_; _tmp1_ = self->priv->_status_s; _tmp2_ = status_s; if (g_strcmp0 (_tmp1_, _tmp2_) == 0) { _g_free0 (status_s); return; } _tmp3_ = status_s; indicator_set_status_s (self, _tmp3_); _tmp4_ = ibus_service_get_connection ((IBusService*) self); _tmp5_ = _tmp4_; if (_tmp5_ == NULL) { _g_free0 (status_s); return; } { GDBusConnection* _tmp6_; GDBusConnection* _tmp7_; const gchar* _tmp8_; const gchar* _tmp9_; const gchar* _tmp10_; GVariant* _tmp11_; GVariant* _tmp12_; _tmp6_ = ibus_service_get_connection ((IBusService*) self); _tmp7_ = _tmp6_; _tmp8_ = ibus_service_get_object_path ((IBusService*) self); _tmp9_ = _tmp8_; _tmp10_ = status_s; _tmp11_ = g_variant_new ("(s)", _tmp10_, NULL); g_variant_ref_sink (_tmp11_); _tmp12_ = _tmp11_; g_dbus_connection_emit_signal (_tmp7_, NULL, _tmp9_, INDICATOR_NOTIFICATION_ITEM_DBUS_IFACE, "NewStatus", _tmp12_, &_inner_error_); _g_variant_unref0 (_tmp12_); if (G_UNLIKELY (_inner_error_ != NULL)) { goto __catch9_g_error; } } goto __finally9; __catch9_g_error: { GError* e = NULL; GError* _tmp13_; const gchar* _tmp14_; e = _inner_error_; _inner_error_ = NULL; _tmp13_ = e; _tmp14_ = _tmp13_->message; g_warning ("indicator.vala:460: Unable to send signal for NewIcon: %s", _tmp14_); _g_error_free0 (e); } __finally9: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_free0 (status_s); 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; } _g_free0 (status_s); } void indicator_set_icon_full (Indicator* self, const gchar* icon_name, const gchar* icon_desc) { gboolean changed = FALSE; const gchar* _tmp0_; const gchar* _tmp1_; gboolean _tmp2_; GDBusConnection* _tmp3_; GDBusConnection* _tmp4_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (icon_name != NULL); changed = FALSE; _tmp0_ = self->priv->_icon_name; if (g_strcmp0 (_tmp0_, icon_name) != 0) { indicator_set_icon_name (self, icon_name); indicator_set_icon_vector (self, NULL); changed = TRUE; } _tmp1_ = self->priv->_icon_desc; if (g_strcmp0 (_tmp1_, icon_desc) != 0) { indicator_set_icon_desc (self, icon_desc); changed = TRUE; } _tmp2_ = changed; if (!_tmp2_) { return; } _tmp3_ = ibus_service_get_connection ((IBusService*) self); _tmp4_ = _tmp3_; if (_tmp4_ == NULL) { return; } { GDBusConnection* _tmp5_; GDBusConnection* _tmp6_; const gchar* _tmp7_; const gchar* _tmp8_; _tmp5_ = ibus_service_get_connection ((IBusService*) self); _tmp6_ = _tmp5_; _tmp7_ = ibus_service_get_object_path ((IBusService*) self); _tmp8_ = _tmp7_; g_dbus_connection_emit_signal (_tmp6_, NULL, _tmp8_, INDICATOR_NOTIFICATION_ITEM_DBUS_IFACE, "NewIcon", NULL, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { goto __catch10_g_error; } } goto __finally10; __catch10_g_error: { GError* e = NULL; GError* _tmp9_; const gchar* _tmp10_; e = _inner_error_; _inner_error_ = NULL; _tmp9_ = e; _tmp10_ = _tmp9_->message; g_warning ("indicator.vala:494: Unable to send signal for NewIcon: %s", _tmp10_); _g_error_free0 (e); } __finally10: if (G_UNLIKELY (_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_); return; } } void indicator_set_cairo_image_surface_full (Indicator* self, cairo_surface_t* image, const gchar* icon_desc) { gint width = 0; gint height = 0; gint stride = 0; guint8* data = NULL; guchar* _tmp0_; gint data_length1; gint _data_size_; gint _tmp1_; gint _tmp2_; gint _tmp3_; GBytes* bytes = NULL; guint8* _tmp4_; gint _tmp4__length1; GBytes* _tmp5_; GVariant* bs = NULL; const GVariantType* _tmp6_; GBytes* _tmp7_; GVariant* _tmp8_; GVariantBuilder* builder = NULL; GVariantType* _tmp9_; GVariantType* _tmp10_; GVariantBuilder* _tmp11_; GVariantBuilder* _tmp12_; GVariantBuilder* _tmp13_; GVariantType* _tmp14_; GVariantType* _tmp15_; GVariantBuilder* _tmp16_; gint _tmp17_; GVariantBuilder* _tmp18_; gint _tmp19_; GVariantBuilder* _tmp20_; GVariant* _tmp21_; GVariantBuilder* _tmp22_; GVariantBuilder* _tmp23_; GVariant* _tmp24_; GVariant* _tmp25_; const gchar* _tmp26_; GDBusConnection* _tmp27_; GDBusConnection* _tmp28_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); g_return_if_fail (image != NULL); width = cairo_image_surface_get_width (image); height = cairo_image_surface_get_height (image); stride = cairo_image_surface_get_stride (image); _tmp0_ = cairo_image_surface_get_data (image); data = (guint8*) _tmp0_; data_length1 = (-1 * sizeof (guchar)) / sizeof (guint8); _data_size_ = data_length1; _tmp1_ = stride; _tmp2_ = height; data_length1 = _tmp1_ * _tmp2_; _tmp3_ = data_length1; _tmp4_ = data; _tmp4__length1 = data_length1; _tmp5_ = g_bytes_new (_tmp4_, _tmp4__length1); bytes = _tmp5_; _tmp6_ = G_VARIANT_TYPE_BYTESTRING; _tmp7_ = bytes; _tmp8_ = g_variant_new_from_bytes (_tmp6_, _tmp7_, TRUE); g_variant_ref_sink (_tmp8_); bs = _tmp8_; _tmp9_ = g_variant_type_new ("a(iiay)"); _tmp10_ = _tmp9_; _tmp11_ = g_variant_builder_new (_tmp10_); _tmp12_ = _tmp11_; _g_variant_type_free0 (_tmp10_); builder = _tmp12_; _tmp13_ = builder; _tmp14_ = g_variant_type_new ("(iiay)"); _tmp15_ = _tmp14_; g_variant_builder_open (_tmp13_, _tmp15_); _g_variant_type_free0 (_tmp15_); _tmp16_ = builder; _tmp17_ = width; g_variant_builder_add (_tmp16_, "i", _tmp17_, NULL); _tmp18_ = builder; _tmp19_ = height; g_variant_builder_add (_tmp18_, "i", _tmp19_, NULL); _tmp20_ = builder; _tmp21_ = bs; g_variant_builder_add_value (_tmp20_, _tmp21_); _tmp22_ = builder; g_variant_builder_close (_tmp22_); _tmp23_ = builder; _tmp24_ = g_variant_new ("a(iiay)", _tmp23_, NULL); g_variant_ref_sink (_tmp24_); _tmp25_ = _tmp24_; indicator_set_icon_vector (self, _tmp25_); _g_variant_unref0 (_tmp25_); indicator_set_icon_name (self, ""); _tmp26_ = self->priv->_icon_desc; if (g_strcmp0 (_tmp26_, icon_desc) != 0) { indicator_set_icon_desc (self, icon_desc); } _tmp27_ = ibus_service_get_connection ((IBusService*) self); _tmp28_ = _tmp27_; if (_tmp28_ == NULL) { _g_variant_builder_unref0 (builder); _g_variant_unref0 (bs); _g_bytes_unref0 (bytes); return; } { GDBusConnection* _tmp29_; GDBusConnection* _tmp30_; const gchar* _tmp31_; const gchar* _tmp32_; _tmp29_ = ibus_service_get_connection ((IBusService*) self); _tmp30_ = _tmp29_; _tmp31_ = ibus_service_get_object_path ((IBusService*) self); _tmp32_ = _tmp31_; g_dbus_connection_emit_signal (_tmp30_, NULL, _tmp32_, INDICATOR_NOTIFICATION_ITEM_DBUS_IFACE, "NewIcon", NULL, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { goto __catch11_g_error; } } goto __finally11; __catch11_g_error: { GError* e = NULL; GError* _tmp33_; const gchar* _tmp34_; e = _inner_error_; _inner_error_ = NULL; _tmp33_ = e; _tmp34_ = _tmp33_->message; g_warning ("indicator.vala:538: Unable to send signal for NewIcon: %s", _tmp34_); _g_error_free0 (e); } __finally11: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_variant_builder_unref0 (builder); _g_variant_unref0 (bs); _g_bytes_unref0 (bytes); 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; } _g_variant_builder_unref0 (builder); _g_variant_unref0 (bs); _g_bytes_unref0 (bytes); } void indicator_position_context_menu (Indicator* self, GtkMenu* menu, gint* x, gint* y, gboolean* push_in) { gint _vala_x = 0; gint _vala_y = 0; gboolean _vala_push_in = FALSE; gint _tmp0_; gint _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (menu != NULL); _tmp0_ = self->priv->m_context_menu_x; _vala_x = _tmp0_; _tmp1_ = self->priv->m_context_menu_y; _vala_y = _tmp1_; _vala_push_in = FALSE; if (x) { *x = _vala_x; } if (y) { *y = _vala_y; } if (push_in) { *push_in = _vala_push_in; } } void indicator_position_activate_menu (Indicator* self, GtkMenu* menu, gint* x, gint* y, gboolean* push_in) { gint _vala_x = 0; gint _vala_y = 0; gboolean _vala_push_in = FALSE; gint _tmp0_; gint _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (menu != NULL); _tmp0_ = self->priv->m_activate_menu_x; _vala_x = _tmp0_; _tmp1_ = self->priv->m_activate_menu_y; _vala_y = _tmp1_; _vala_push_in = FALSE; if (x) { *x = _vala_x; } if (y) { *y = _vala_y; } if (push_in) { *push_in = _vala_push_in; } } /** * unregister_connection: * * "Destroy" dbus method is not called for the indicator's connection * when panel's connection is disconneted because the dbus connection * is a shared session bus so need to call * g_dbus_connection_unregister_object() by manual here * so that g_object_unref(m_panel) will be called later with an idle method, * which was assigned in the arguments of * g_dbus_connection_register_object() */ void indicator_unregister_connection (Indicator* self) { GDBusConnection* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = ibus_service_get_connection ((IBusService*) self); ibus_service_unregister ((IBusService*) self, _tmp0_); } const gchar* indicator_get_id (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_id; result = _tmp0_; return result; } static void indicator_set_id (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_id (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_id); self->priv->_id = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ID_PROPERTY]); } } const gchar* indicator_get_category_s (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_category_s; result = _tmp0_; return result; } static void indicator_set_category_s (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_category_s (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_category_s); self->priv->_category_s = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_CATEGORY_S_PROPERTY]); } } const gchar* indicator_get_status_s (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_status_s; result = _tmp0_; return result; } void indicator_set_status_s (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_status_s (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_status_s); self->priv->_status_s = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_STATUS_S_PROPERTY]); } } const gchar* indicator_get_icon_name (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_icon_name; result = _tmp0_; return result; } void indicator_set_icon_name (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_icon_name (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_icon_name); self->priv->_icon_name = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ICON_NAME_PROPERTY]); } } const gchar* indicator_get_icon_desc (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_icon_desc; result = _tmp0_; return result; } void indicator_set_icon_desc (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_icon_desc (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_icon_desc); self->priv->_icon_desc = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ICON_DESC_PROPERTY]); } } const gchar* indicator_get_attention_icon_name (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_attention_icon_name; result = _tmp0_; return result; } void indicator_set_attention_icon_name (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_attention_icon_name (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_attention_icon_name); self->priv->_attention_icon_name = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ATTENTION_ICON_NAME_PROPERTY]); } } const gchar* indicator_get_attention_icon_desc (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_attention_icon_desc; result = _tmp0_; return result; } void indicator_set_attention_icon_desc (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_attention_icon_desc (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_attention_icon_desc); self->priv->_attention_icon_desc = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ATTENTION_ICON_DESC_PROPERTY]); } } const gchar* indicator_get_title (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_title; result = _tmp0_; return result; } void indicator_set_title (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_title (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_title); self->priv->_title = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_TITLE_PROPERTY]); } } const gchar* indicator_get_icon_theme_path (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_icon_theme_path; result = _tmp0_; return result; } void indicator_set_icon_theme_path (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_icon_theme_path (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_icon_theme_path); self->priv->_icon_theme_path = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ICON_THEME_PATH_PROPERTY]); } } gboolean indicator_get_connected (Indicator* self) { gboolean result; gboolean _tmp0_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = self->priv->_connected; result = _tmp0_; return result; } void indicator_set_connected (Indicator* self, gboolean value) { g_return_if_fail (self != NULL); if (indicator_get_connected (self) != value) { self->priv->_connected = value; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_CONNECTED_PROPERTY]); } } const gchar* indicator_get_label_s (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_label_s; result = _tmp0_; return result; } void indicator_set_label_s (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_label_s (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_label_s); self->priv->_label_s = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_LABEL_S_PROPERTY]); } } const gchar* indicator_get_label_guide_s (Indicator* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_label_guide_s; result = _tmp0_; return result; } void indicator_set_label_guide_s (Indicator* self, const gchar* value) { g_return_if_fail (self != NULL); if (g_strcmp0 (value, indicator_get_label_guide_s (self)) != 0) { gchar* _tmp0_; _tmp0_ = g_strdup (value); _g_free0 (self->priv->_label_guide_s); self->priv->_label_guide_s = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_LABEL_GUIDE_S_PROPERTY]); } } guint32 indicator_get_ordering_index (Indicator* self) { guint32 result; guint32 _tmp0_; g_return_val_if_fail (self != NULL, 0U); _tmp0_ = self->priv->_ordering_index; result = _tmp0_; return result; } void indicator_set_ordering_index (Indicator* self, guint32 value) { g_return_if_fail (self != NULL); if (indicator_get_ordering_index (self) != value) { self->priv->_ordering_index = value; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ORDERING_INDEX_PROPERTY]); } } GVariant* indicator_get_icon_vector (Indicator* self) { GVariant* result; GVariant* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_icon_vector; result = _tmp0_; return result; } void indicator_set_icon_vector (Indicator* self, GVariant* value) { g_return_if_fail (self != NULL); if (indicator_get_icon_vector (self) != value) { GVariant* _tmp0_; _tmp0_ = _g_variant_ref0 (value); _g_variant_unref0 (self->priv->_icon_vector); self->priv->_icon_vector = _tmp0_; g_object_notify_by_pspec ((GObject *) self, indicator_properties[INDICATOR_ICON_VECTOR_PROPERTY]); } } static void g_cclosure_user_marshal_VOID__INT_INT_OBJECT_UINT_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_INT_OBJECT_UINT_UINT) (gpointer data1, gint arg_1, gint arg_2, gpointer arg_3, guint arg_4, guint arg_5, gpointer data2); register GMarshalFunc_VOID__INT_INT_OBJECT_UINT_UINT callback; register GCClosure * cc; register gpointer data1; register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 6); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = param_values->data[0].v_pointer; } else { data1 = param_values->data[0].v_pointer; data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_INT_OBJECT_UINT_UINT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_int (param_values + 1), g_value_get_int (param_values + 2), g_value_get_object (param_values + 3), g_value_get_uint (param_values + 4), g_value_get_uint (param_values + 5), data2); } static void g_cclosure_user_marshal_VOID__INT_INT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_INT_OBJECT) (gpointer data1, gint arg_1, gint arg_2, gpointer arg_3, gpointer data2); register GMarshalFunc_VOID__INT_INT_OBJECT callback; register GCClosure * cc; register gpointer data1; register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 4); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = param_values->data[0].v_pointer; } else { data1 = param_values->data[0].v_pointer; data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_INT_OBJECT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_value_get_int (param_values + 1), g_value_get_int (param_values + 2), g_value_get_object (param_values + 3), data2); } static void indicator_class_init (IndicatorClass * klass) { indicator_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (IndicatorPrivate)); ((IBusServiceClass *) klass)->service_method_call = (void (*) (IBusService *, GDBusConnection*, const gchar*, const gchar*, const gchar*, const gchar*, GVariant*, GDBusMethodInvocation*)) indicator_real_service_method_call; ((IBusServiceClass *) klass)->service_get_property = (GVariant* (*) (IBusService *, GDBusConnection*, const gchar*, const gchar*, const gchar*, const gchar*, GError**)) indicator_real_service_get_property; ((IBusServiceClass *) klass)->service_set_property = (gboolean (*) (IBusService *, GDBusConnection*, const gchar*, const gchar*, const gchar*, const gchar*, GVariant*, GError**)) indicator_real_service_set_property; G_OBJECT_CLASS (klass)->get_property = _vala_indicator_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_indicator_set_property; G_OBJECT_CLASS (klass)->finalize = indicator_finalize; g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ID_PROPERTY, indicator_properties[INDICATOR_ID_PROPERTY] = g_param_spec_string ("id", "id", "id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_CATEGORY_S_PROPERTY, indicator_properties[INDICATOR_CATEGORY_S_PROPERTY] = g_param_spec_string ("category-s", "category-s", "category-s", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_STATUS_S_PROPERTY, indicator_properties[INDICATOR_STATUS_S_PROPERTY] = g_param_spec_string ("status-s", "status-s", "status-s", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ICON_NAME_PROPERTY, indicator_properties[INDICATOR_ICON_NAME_PROPERTY] = g_param_spec_string ("icon-name", "icon-name", "icon-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ICON_DESC_PROPERTY, indicator_properties[INDICATOR_ICON_DESC_PROPERTY] = g_param_spec_string ("icon-desc", "icon-desc", "icon-desc", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ATTENTION_ICON_NAME_PROPERTY, indicator_properties[INDICATOR_ATTENTION_ICON_NAME_PROPERTY] = g_param_spec_string ("attention-icon-name", "attention-icon-name", "attention-icon-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ATTENTION_ICON_DESC_PROPERTY, indicator_properties[INDICATOR_ATTENTION_ICON_DESC_PROPERTY] = g_param_spec_string ("attention-icon-desc", "attention-icon-desc", "attention-icon-desc", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_TITLE_PROPERTY, indicator_properties[INDICATOR_TITLE_PROPERTY] = g_param_spec_string ("title", "title", "title", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ICON_THEME_PATH_PROPERTY, indicator_properties[INDICATOR_ICON_THEME_PATH_PROPERTY] = g_param_spec_string ("icon-theme-path", "icon-theme-path", "icon-theme-path", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_CONNECTED_PROPERTY, indicator_properties[INDICATOR_CONNECTED_PROPERTY] = g_param_spec_boolean ("connected", "connected", "connected", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_LABEL_S_PROPERTY, indicator_properties[INDICATOR_LABEL_S_PROPERTY] = g_param_spec_string ("label-s", "label-s", "label-s", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_LABEL_GUIDE_S_PROPERTY, indicator_properties[INDICATOR_LABEL_GUIDE_S_PROPERTY] = g_param_spec_string ("label-guide-s", "label-guide-s", "label-guide-s", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ORDERING_INDEX_PROPERTY, indicator_properties[INDICATOR_ORDERING_INDEX_PROPERTY] = g_param_spec_uint ("ordering-index", "ordering-index", "ordering-index", 0, G_MAXUINT, 0U, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); g_object_class_install_property (G_OBJECT_CLASS (klass), INDICATOR_ICON_VECTOR_PROPERTY, indicator_properties[INDICATOR_ICON_VECTOR_PROPERTY] = g_param_spec_variant ("icon-vector", "icon-vector", "icon-vector", G_VARIANT_TYPE_ANY, NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); indicator_signals[INDICATOR_CONTEXT_MENU_SIGNAL] = g_signal_new ("context-menu", TYPE_INDICATOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__INT_INT_OBJECT_UINT_UINT, G_TYPE_NONE, 5, G_TYPE_INT, G_TYPE_INT, gdk_window_get_type (), G_TYPE_UINT, G_TYPE_UINT); indicator_signals[INDICATOR_ACTIVATE_SIGNAL] = g_signal_new ("activate", TYPE_INDICATOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__INT_INT_OBJECT, G_TYPE_NONE, 3, G_TYPE_INT, G_TYPE_INT, gdk_window_get_type ()); indicator_signals[INDICATOR_REGISTERED_STATUS_NOTIFIER_ITEM_SIGNAL] = g_signal_new ("registered-status-notifier-item", TYPE_INDICATOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } static void indicator_instance_init (Indicator * self) { self->priv = INDICATOR_GET_PRIVATE (self); } static void indicator_finalize (GObject * obj) { Indicator * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_INDICATOR, Indicator); _g_free0 (self->priv->_id); _g_free0 (self->priv->_category_s); _g_free0 (self->priv->_status_s); _g_free0 (self->priv->_icon_name); _g_free0 (self->priv->_icon_desc); _g_free0 (self->priv->_attention_icon_name); _g_free0 (self->priv->_attention_icon_desc); _g_free0 (self->priv->_title); _g_free0 (self->priv->_icon_theme_path); _g_free0 (self->priv->_label_s); _g_free0 (self->priv->_label_guide_s); _g_variant_unref0 (self->priv->_icon_vector); _g_dbus_node_info_unref0 (self->priv->m_watcher_node_info); _g_object_unref0 (self->priv->m_proxy); _g_object_unref0 (self->priv->m_indicator_window); G_OBJECT_CLASS (indicator_parent_class)->finalize (obj); } GType indicator_get_type (void) { static volatile gsize indicator_type_id__volatile = 0; if (g_once_init_enter (&indicator_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (IndicatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) indicator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Indicator), 0, (GInstanceInitFunc) indicator_instance_init, NULL }; GType indicator_type_id; indicator_type_id = g_type_register_static (ibus_service_get_type (), "Indicator", &g_define_type_info, 0); g_once_init_leave (&indicator_type_id__volatile, indicator_type_id); } return indicator_type_id__volatile; } static void _vala_indicator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { Indicator * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_INDICATOR, Indicator); switch (property_id) { case INDICATOR_ID_PROPERTY: g_value_set_string (value, indicator_get_id (self)); break; case INDICATOR_CATEGORY_S_PROPERTY: g_value_set_string (value, indicator_get_category_s (self)); break; case INDICATOR_STATUS_S_PROPERTY: g_value_set_string (value, indicator_get_status_s (self)); break; case INDICATOR_ICON_NAME_PROPERTY: g_value_set_string (value, indicator_get_icon_name (self)); break; case INDICATOR_ICON_DESC_PROPERTY: g_value_set_string (value, indicator_get_icon_desc (self)); break; case INDICATOR_ATTENTION_ICON_NAME_PROPERTY: g_value_set_string (value, indicator_get_attention_icon_name (self)); break; case INDICATOR_ATTENTION_ICON_DESC_PROPERTY: g_value_set_string (value, indicator_get_attention_icon_desc (self)); break; case INDICATOR_TITLE_PROPERTY: g_value_set_string (value, indicator_get_title (self)); break; case INDICATOR_ICON_THEME_PATH_PROPERTY: g_value_set_string (value, indicator_get_icon_theme_path (self)); break; case INDICATOR_CONNECTED_PROPERTY: g_value_set_boolean (value, indicator_get_connected (self)); break; case INDICATOR_LABEL_S_PROPERTY: g_value_set_string (value, indicator_get_label_s (self)); break; case INDICATOR_LABEL_GUIDE_S_PROPERTY: g_value_set_string (value, indicator_get_label_guide_s (self)); break; case INDICATOR_ORDERING_INDEX_PROPERTY: g_value_set_uint (value, indicator_get_ordering_index (self)); break; case INDICATOR_ICON_VECTOR_PROPERTY: g_value_set_variant (value, indicator_get_icon_vector (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void _vala_indicator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { Indicator * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_INDICATOR, Indicator); switch (property_id) { case INDICATOR_ID_PROPERTY: indicator_set_id (self, g_value_get_string (value)); break; case INDICATOR_CATEGORY_S_PROPERTY: indicator_set_category_s (self, g_value_get_string (value)); break; case INDICATOR_STATUS_S_PROPERTY: indicator_set_status_s (self, g_value_get_string (value)); break; case INDICATOR_ICON_NAME_PROPERTY: indicator_set_icon_name (self, g_value_get_string (value)); break; case INDICATOR_ICON_DESC_PROPERTY: indicator_set_icon_desc (self, g_value_get_string (value)); break; case INDICATOR_ATTENTION_ICON_NAME_PROPERTY: indicator_set_attention_icon_name (self, g_value_get_string (value)); break; case INDICATOR_ATTENTION_ICON_DESC_PROPERTY: indicator_set_attention_icon_desc (self, g_value_get_string (value)); break; case INDICATOR_TITLE_PROPERTY: indicator_set_title (self, g_value_get_string (value)); break; case INDICATOR_ICON_THEME_PATH_PROPERTY: indicator_set_icon_theme_path (self, g_value_get_string (value)); break; case INDICATOR_CONNECTED_PROPERTY: indicator_set_connected (self, g_value_get_boolean (value)); break; case INDICATOR_LABEL_S_PROPERTY: indicator_set_label_s (self, g_value_get_string (value)); break; case INDICATOR_LABEL_GUIDE_S_PROPERTY: indicator_set_label_guide_s (self, g_value_get_string (value)); break; case INDICATOR_ORDERING_INDEX_PROPERTY: indicator_set_ordering_index (self, g_value_get_uint (value)); break; case INDICATOR_ICON_VECTOR_PROPERTY: indicator_set_icon_vector (self, g_value_get_variant (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }