/* StatusApplet.c generated by valac 0.32.1, the Vala compiler
 * generated from StatusApplet.vala, do not modify */

/*
 * This file is part of budgie-desktop
 *
 * Copyright (C) 2015-2016 Ikey Doherty <ikey@solus-project.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#include <glib.h>
#include <glib-object.h>
#include <libpeas/peas.h>
#include <plugin.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>


#define TYPE_STATUS_PLUGIN (status_plugin_get_type ())
#define STATUS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STATUS_PLUGIN, StatusPlugin))
#define STATUS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STATUS_PLUGIN, StatusPluginClass))
#define IS_STATUS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STATUS_PLUGIN))
#define IS_STATUS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STATUS_PLUGIN))
#define STATUS_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STATUS_PLUGIN, StatusPluginClass))

typedef struct _StatusPlugin StatusPlugin;
typedef struct _StatusPluginClass StatusPluginClass;
typedef struct _StatusPluginPrivate StatusPluginPrivate;

#define TYPE_STATUS_APPLET (status_applet_get_type ())
#define STATUS_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STATUS_APPLET, StatusApplet))
#define STATUS_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STATUS_APPLET, StatusAppletClass))
#define IS_STATUS_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STATUS_APPLET))
#define IS_STATUS_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STATUS_APPLET))
#define STATUS_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STATUS_APPLET, StatusAppletClass))

typedef struct _StatusApplet StatusApplet;
typedef struct _StatusAppletClass StatusAppletClass;
typedef struct _StatusAppletPrivate StatusAppletPrivate;

#define TYPE_BLUETOOTH_INDICATOR (bluetooth_indicator_get_type ())
#define BLUETOOTH_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BLUETOOTH_INDICATOR, BluetoothIndicator))
#define BLUETOOTH_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BLUETOOTH_INDICATOR, BluetoothIndicatorClass))
#define IS_BLUETOOTH_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BLUETOOTH_INDICATOR))
#define IS_BLUETOOTH_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BLUETOOTH_INDICATOR))
#define BLUETOOTH_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BLUETOOTH_INDICATOR, BluetoothIndicatorClass))

typedef struct _BluetoothIndicator BluetoothIndicator;
typedef struct _BluetoothIndicatorClass BluetoothIndicatorClass;

#define TYPE_SOUND_INDICATOR (sound_indicator_get_type ())
#define SOUND_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOUND_INDICATOR, SoundIndicator))
#define SOUND_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOUND_INDICATOR, SoundIndicatorClass))
#define IS_SOUND_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOUND_INDICATOR))
#define IS_SOUND_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOUND_INDICATOR))
#define SOUND_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOUND_INDICATOR, SoundIndicatorClass))

typedef struct _SoundIndicator SoundIndicator;
typedef struct _SoundIndicatorClass SoundIndicatorClass;

#define TYPE_POWER_INDICATOR (power_indicator_get_type ())
#define POWER_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_POWER_INDICATOR, PowerIndicator))
#define POWER_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_POWER_INDICATOR, PowerIndicatorClass))
#define IS_POWER_INDICATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_POWER_INDICATOR))
#define IS_POWER_INDICATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_POWER_INDICATOR))
#define POWER_INDICATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_POWER_INDICATOR, PowerIndicatorClass))

typedef struct _PowerIndicator PowerIndicator;
typedef struct _PowerIndicatorClass PowerIndicatorClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _Block1Data Block1Data;
typedef struct _BluetoothIndicatorPrivate BluetoothIndicatorPrivate;
typedef struct _PowerIndicatorPrivate PowerIndicatorPrivate;
typedef struct _SoundIndicatorPrivate SoundIndicatorPrivate;

struct _StatusPlugin {
	PeasExtensionBase parent_instance;
	StatusPluginPrivate * priv;
};

struct _StatusPluginClass {
	PeasExtensionBaseClass parent_class;
};

struct _StatusApplet {
	BudgieApplet parent_instance;
	StatusAppletPrivate * priv;
	GtkBox* widget;
	BluetoothIndicator* blue;
	SoundIndicator* sound;
	PowerIndicator* power;
	GtkEventBox* wrap;
};

struct _StatusAppletClass {
	BudgieAppletClass parent_class;
};

struct _StatusAppletPrivate {
	BudgiePopoverManager* manager;
};

struct _Block1Data {
	int _ref_count_;
	StatusApplet* self;
	GtkWidget* parent_widget;
	GtkPopover* popover;
};

struct _BluetoothIndicator {
	GtkBin parent_instance;
	BluetoothIndicatorPrivate * priv;
	GtkImage* image;
	GtkEventBox* ebox;
	GtkPopover* popover;
};

struct _BluetoothIndicatorClass {
	GtkBinClass parent_class;
};

struct _PowerIndicator {
	GtkBin parent_instance;
	PowerIndicatorPrivate * priv;
	GtkEventBox* ebox;
	GtkPopover* popover;
};

struct _PowerIndicatorClass {
	GtkBinClass parent_class;
};

struct _SoundIndicator {
	GtkBin parent_instance;
	SoundIndicatorPrivate * priv;
	GtkEventBox* ebox;
	GtkPopover* popover;
};

struct _SoundIndicatorClass {
	GtkBinClass parent_class;
};


static gpointer status_plugin_parent_class = NULL;
static BudgiePluginIface* status_plugin_budgie_plugin_parent_iface = NULL;
static GType status_plugin_type_id = 0;
static gpointer status_applet_parent_class = NULL;
static GType status_applet_type_id = 0;

GType status_plugin_get_type (void) G_GNUC_CONST;
GType status_plugin_register_type (GTypeModule * module);
enum  {
	STATUS_PLUGIN_DUMMY_PROPERTY
};
static BudgieApplet* status_plugin_real_get_panel_widget (BudgiePlugin* base, const gchar* uuid);
StatusApplet* status_applet_new (void);
StatusApplet* status_applet_construct (GType object_type);
GType status_applet_get_type (void) G_GNUC_CONST;
GType status_applet_register_type (GTypeModule * module);
StatusPlugin* status_plugin_new (void);
StatusPlugin* status_plugin_construct (GType object_type);
GType bluetooth_indicator_get_type (void) G_GNUC_CONST;
GType bluetooth_indicator_register_type (GTypeModule * module);
GType sound_indicator_get_type (void) G_GNUC_CONST;
GType sound_indicator_register_type (GTypeModule * module);
GType power_indicator_get_type (void) G_GNUC_CONST;
GType power_indicator_register_type (GTypeModule * module);
#define STATUS_APPLET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_STATUS_APPLET, StatusAppletPrivate))
enum  {
	STATUS_APPLET_DUMMY_PROPERTY
};
static void status_applet_setup_popover (StatusApplet* self, GtkWidget* parent_widget, GtkPopover* popover);
static Block1Data* block1_data_ref (Block1Data* _data1_);
static void block1_data_unref (void * _userdata_);
static gboolean __lambda11_ (Block1Data* _data1_, GdkEventButton* e);
static gboolean ___lambda11__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
PowerIndicator* power_indicator_new (void);
PowerIndicator* power_indicator_construct (GType object_type);
SoundIndicator* sound_indicator_new (void);
SoundIndicator* sound_indicator_construct (GType object_type);
BluetoothIndicator* bluetooth_indicator_new (void);
BluetoothIndicator* bluetooth_indicator_construct (GType object_type);
static void status_applet_real_update_popovers (BudgieApplet* base, BudgiePopoverManager* manager);
static void status_applet_finalize (GObject* obj);
void peas_register_types (GTypeModule* module);


static BudgieApplet* status_plugin_real_get_panel_widget (BudgiePlugin* base, const gchar* uuid) {
	StatusPlugin * self;
	BudgieApplet* result = NULL;
	StatusApplet* _tmp0_ = NULL;
	self = (StatusPlugin*) base;
	g_return_val_if_fail (uuid != NULL, NULL);
	_tmp0_ = status_applet_new ();
	g_object_ref_sink (_tmp0_);
	result = (BudgieApplet*) _tmp0_;
	return result;
}


StatusPlugin* status_plugin_construct (GType object_type) {
	StatusPlugin * self = NULL;
	self = (StatusPlugin*) g_object_new (object_type, NULL);
	return self;
}


StatusPlugin* status_plugin_new (void) {
	return status_plugin_construct (TYPE_STATUS_PLUGIN);
}


static void status_plugin_class_init (StatusPluginClass * klass) {
	status_plugin_parent_class = g_type_class_peek_parent (klass);
}


static void status_plugin_budgie_plugin_interface_init (BudgiePluginIface * iface) {
	status_plugin_budgie_plugin_parent_iface = g_type_interface_peek_parent (iface);
	iface->get_panel_widget = (BudgieApplet* (*)(BudgiePlugin*, const gchar*)) status_plugin_real_get_panel_widget;
}


static void status_plugin_instance_init (StatusPlugin * self) {
}


GType status_plugin_get_type (void) {
	return status_plugin_type_id;
}


GType status_plugin_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (StatusPluginClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) status_plugin_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StatusPlugin), 0, (GInstanceInitFunc) status_plugin_instance_init, NULL };
	static const GInterfaceInfo budgie_plugin_info = { (GInterfaceInitFunc) status_plugin_budgie_plugin_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	status_plugin_type_id = g_type_module_register_type (module, peas_extension_base_get_type (), "StatusPlugin", &g_define_type_info, 0);
	g_type_module_add_interface (module, status_plugin_type_id, budgie_plugin_get_type (), &budgie_plugin_info);
	return status_plugin_type_id;
}


/**
     * Set up an EventBox for popovers
     */
static gpointer _g_object_ref0 (gpointer self) {
	return self ? g_object_ref (self) : NULL;
}


static Block1Data* block1_data_ref (Block1Data* _data1_) {
	g_atomic_int_inc (&_data1_->_ref_count_);
	return _data1_;
}


static void block1_data_unref (void * _userdata_) {
	Block1Data* _data1_;
	_data1_ = (Block1Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
		StatusApplet* self;
		self = _data1_->self;
		_g_object_unref0 (_data1_->parent_widget);
		_g_object_unref0 (_data1_->popover);
		_g_object_unref0 (self);
		g_slice_free (Block1Data, _data1_);
	}
}


static gboolean __lambda11_ (Block1Data* _data1_, GdkEventButton* e) {
	StatusApplet* self;
	gboolean result = FALSE;
	GdkEventButton* _tmp0_ = NULL;
	guint _tmp1_ = 0U;
	GtkPopover* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	self = _data1_->self;
	g_return_val_if_fail (e != NULL, FALSE);
	_tmp0_ = e;
	_tmp1_ = _tmp0_->button;
	if (_tmp1_ != ((guint) 1)) {
		result = GDK_EVENT_PROPAGATE;
		return result;
	}
	_tmp2_ = _data1_->popover;
	_tmp3_ = gtk_widget_get_visible ((GtkWidget*) _tmp2_);
	if (_tmp3_) {
		GtkPopover* _tmp4_ = NULL;
		_tmp4_ = _data1_->popover;
		gtk_widget_hide ((GtkWidget*) _tmp4_);
	} else {
		BudgiePopoverManager* _tmp5_ = NULL;
		GtkWidget* _tmp6_ = NULL;
		_tmp5_ = self->priv->manager;
		_tmp6_ = _data1_->parent_widget;
		budgie_popover_manager_show_popover (_tmp5_, _tmp6_);
	}
	result = GDK_EVENT_STOP;
	return result;
}


static gboolean ___lambda11__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
	gboolean result;
	result = __lambda11_ (self, event);
	return result;
}


static void status_applet_setup_popover (StatusApplet* self, GtkWidget* parent_widget, GtkPopover* popover) {
	Block1Data* _data1_;
	GtkWidget* _tmp0_ = NULL;
	GtkWidget* _tmp1_ = NULL;
	GtkPopover* _tmp2_ = NULL;
	GtkPopover* _tmp3_ = NULL;
	GtkWidget* _tmp4_ = NULL;
	g_return_if_fail (self != NULL);
	_data1_ = g_slice_new0 (Block1Data);
	_data1_->_ref_count_ = 1;
	_data1_->self = g_object_ref (self);
	_tmp0_ = parent_widget;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (_data1_->parent_widget);
	_data1_->parent_widget = _tmp1_;
	_tmp2_ = popover;
	_tmp3_ = _g_object_ref0 (_tmp2_);
	_g_object_unref0 (_data1_->popover);
	_data1_->popover = _tmp3_;
	_tmp4_ = _data1_->parent_widget;
	g_signal_connect_data (_tmp4_, "button-press-event", (GCallback) ___lambda11__gtk_widget_button_press_event, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0);
	block1_data_unref (_data1_);
	_data1_ = NULL;
}


StatusApplet* status_applet_construct (GType object_type) {
	StatusApplet * self = NULL;
	GtkEventBox* _tmp0_ = NULL;
	GtkEventBox* _tmp1_ = NULL;
	GtkBox* _tmp2_ = NULL;
	GtkEventBox* _tmp3_ = NULL;
	GtkBox* _tmp4_ = NULL;
	PowerIndicator* _tmp5_ = NULL;
	GtkBox* _tmp6_ = NULL;
	PowerIndicator* _tmp7_ = NULL;
	SoundIndicator* _tmp8_ = NULL;
	GtkBox* _tmp9_ = NULL;
	SoundIndicator* _tmp10_ = NULL;
	SoundIndicator* _tmp11_ = NULL;
	BluetoothIndicator* _tmp12_ = NULL;
	GtkBox* _tmp13_ = NULL;
	BluetoothIndicator* _tmp14_ = NULL;
	BluetoothIndicator* _tmp15_ = NULL;
	BluetoothIndicator* _tmp16_ = NULL;
	GtkEventBox* _tmp17_ = NULL;
	BluetoothIndicator* _tmp18_ = NULL;
	GtkPopover* _tmp19_ = NULL;
	PowerIndicator* _tmp20_ = NULL;
	GtkEventBox* _tmp21_ = NULL;
	PowerIndicator* _tmp22_ = NULL;
	GtkPopover* _tmp23_ = NULL;
	SoundIndicator* _tmp24_ = NULL;
	GtkEventBox* _tmp25_ = NULL;
	SoundIndicator* _tmp26_ = NULL;
	GtkPopover* _tmp27_ = NULL;
	self = (StatusApplet*) g_object_new (object_type, NULL);
	_tmp0_ = (GtkEventBox*) gtk_event_box_new ();
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->wrap);
	self->wrap = _tmp0_;
	_tmp1_ = self->wrap;
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) _tmp1_);
	_tmp2_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
	g_object_ref_sink (_tmp2_);
	_g_object_unref0 (self->widget);
	self->widget = _tmp2_;
	_tmp3_ = self->wrap;
	_tmp4_ = self->widget;
	gtk_container_add ((GtkContainer*) _tmp3_, (GtkWidget*) _tmp4_);
	gtk_widget_show_all ((GtkWidget*) self);
	_tmp5_ = power_indicator_new ();
	g_object_ref_sink (_tmp5_);
	_g_object_unref0 (self->power);
	self->power = _tmp5_;
	_tmp6_ = self->widget;
	_tmp7_ = self->power;
	gtk_box_pack_start (_tmp6_, (GtkWidget*) _tmp7_, FALSE, FALSE, (guint) 0);
	_tmp8_ = sound_indicator_new ();
	g_object_ref_sink (_tmp8_);
	_g_object_unref0 (self->sound);
	self->sound = _tmp8_;
	_tmp9_ = self->widget;
	_tmp10_ = self->sound;
	gtk_box_pack_start (_tmp9_, (GtkWidget*) _tmp10_, FALSE, FALSE, (guint) 2);
	_tmp11_ = self->sound;
	gtk_widget_show_all ((GtkWidget*) _tmp11_);
	_tmp12_ = bluetooth_indicator_new ();
	g_object_ref_sink (_tmp12_);
	_g_object_unref0 (self->blue);
	self->blue = _tmp12_;
	_tmp13_ = self->widget;
	_tmp14_ = self->blue;
	gtk_box_pack_start (_tmp13_, (GtkWidget*) _tmp14_, FALSE, FALSE, (guint) 2);
	_tmp15_ = self->blue;
	gtk_widget_show_all ((GtkWidget*) _tmp15_);
	_tmp16_ = self->blue;
	_tmp17_ = _tmp16_->ebox;
	_tmp18_ = self->blue;
	_tmp19_ = _tmp18_->popover;
	status_applet_setup_popover (self, (GtkWidget*) _tmp17_, _tmp19_);
	_tmp20_ = self->power;
	_tmp21_ = _tmp20_->ebox;
	_tmp22_ = self->power;
	_tmp23_ = _tmp22_->popover;
	status_applet_setup_popover (self, (GtkWidget*) _tmp21_, _tmp23_);
	_tmp24_ = self->sound;
	_tmp25_ = _tmp24_->ebox;
	_tmp26_ = self->sound;
	_tmp27_ = _tmp26_->popover;
	status_applet_setup_popover (self, (GtkWidget*) _tmp25_, _tmp27_);
	return self;
}


StatusApplet* status_applet_new (void) {
	return status_applet_construct (TYPE_STATUS_APPLET);
}


static void status_applet_real_update_popovers (BudgieApplet* base, BudgiePopoverManager* manager) {
	StatusApplet * self;
	BudgiePopoverManager* _tmp0_ = NULL;
	BudgiePopoverManager* _tmp1_ = NULL;
	BudgiePopoverManager* _tmp2_ = NULL;
	BluetoothIndicator* _tmp3_ = NULL;
	GtkEventBox* _tmp4_ = NULL;
	BluetoothIndicator* _tmp5_ = NULL;
	GtkPopover* _tmp6_ = NULL;
	BudgiePopoverManager* _tmp7_ = NULL;
	PowerIndicator* _tmp8_ = NULL;
	GtkEventBox* _tmp9_ = NULL;
	PowerIndicator* _tmp10_ = NULL;
	GtkPopover* _tmp11_ = NULL;
	BudgiePopoverManager* _tmp12_ = NULL;
	SoundIndicator* _tmp13_ = NULL;
	GtkEventBox* _tmp14_ = NULL;
	SoundIndicator* _tmp15_ = NULL;
	GtkPopover* _tmp16_ = NULL;
	self = (StatusApplet*) base;
	_tmp0_ = manager;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->manager);
	self->priv->manager = _tmp1_;
	_tmp2_ = manager;
	_tmp3_ = self->blue;
	_tmp4_ = _tmp3_->ebox;
	_tmp5_ = self->blue;
	_tmp6_ = _tmp5_->popover;
	budgie_popover_manager_register_popover (_tmp2_, (GtkWidget*) _tmp4_, _tmp6_);
	_tmp7_ = manager;
	_tmp8_ = self->power;
	_tmp9_ = _tmp8_->ebox;
	_tmp10_ = self->power;
	_tmp11_ = _tmp10_->popover;
	budgie_popover_manager_register_popover (_tmp7_, (GtkWidget*) _tmp9_, _tmp11_);
	_tmp12_ = manager;
	_tmp13_ = self->sound;
	_tmp14_ = _tmp13_->ebox;
	_tmp15_ = self->sound;
	_tmp16_ = _tmp15_->popover;
	budgie_popover_manager_register_popover (_tmp12_, (GtkWidget*) _tmp14_, _tmp16_);
}


static void status_applet_class_init (StatusAppletClass * klass) {
	status_applet_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (StatusAppletPrivate));
	((BudgieAppletClass *) klass)->update_popovers = status_applet_real_update_popovers;
	G_OBJECT_CLASS (klass)->finalize = status_applet_finalize;
}


static void status_applet_instance_init (StatusApplet * self) {
	self->priv = STATUS_APPLET_GET_PRIVATE (self);
	self->priv->manager = NULL;
}


static void status_applet_finalize (GObject* obj) {
	StatusApplet * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_STATUS_APPLET, StatusApplet);
	_g_object_unref0 (self->widget);
	_g_object_unref0 (self->blue);
	_g_object_unref0 (self->sound);
	_g_object_unref0 (self->power);
	_g_object_unref0 (self->wrap);
	_g_object_unref0 (self->priv->manager);
	G_OBJECT_CLASS (status_applet_parent_class)->finalize (obj);
}


GType status_applet_get_type (void) {
	return status_applet_type_id;
}


GType status_applet_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (StatusAppletClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) status_applet_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StatusApplet), 0, (GInstanceInitFunc) status_applet_instance_init, NULL };
	status_applet_type_id = g_type_module_register_type (module, budgie_applet_get_type (), "StatusApplet", &g_define_type_info, 0);
	return status_applet_type_id;
}


void peas_register_types (GTypeModule* module) {
	PeasObjectModule* objmodule = NULL;
	GTypeModule* _tmp0_ = NULL;
	PeasObjectModule* _tmp1_ = NULL;
	g_return_if_fail (module != NULL);
	bluetooth_indicator_register_type (module);
	status_plugin_register_type (module);
	status_applet_register_type (module);
	battery_icon_register_type (module);
	power_indicator_register_type (module);
	sound_indicator_register_type (module);
	rfkill_register_type (module);
	rfkill_proxy_register_dynamic_type (module);
	_tmp0_ = module;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, peas_object_module_get_type ()) ? ((PeasObjectModule*) _tmp0_) : NULL);
	objmodule = _tmp1_;
	peas_object_module_register_extension_type (objmodule, budgie_plugin_get_type (), TYPE_STATUS_PLUGIN);
	_g_object_unref0 (objmodule);
}



