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

#include <glib-object.h>
#include "libdino.h"
#include <gee.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <gtk/gtk.h>
#include <string.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR (dino_ui_conversation_summary_date_separator_populator_get_type ())
#define DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR, DinoUiConversationSummaryDateSeparatorPopulator))
#define DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR, DinoUiConversationSummaryDateSeparatorPopulatorClass))
#define DINO_UI_CONVERSATION_SUMMARY_IS_DATE_SEPARATOR_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR))
#define DINO_UI_CONVERSATION_SUMMARY_IS_DATE_SEPARATOR_POPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR))
#define DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR, DinoUiConversationSummaryDateSeparatorPopulatorClass))

typedef struct _DinoUiConversationSummaryDateSeparatorPopulator DinoUiConversationSummaryDateSeparatorPopulator;
typedef struct _DinoUiConversationSummaryDateSeparatorPopulatorClass DinoUiConversationSummaryDateSeparatorPopulatorClass;
typedef struct _DinoUiConversationSummaryDateSeparatorPopulatorPrivate DinoUiConversationSummaryDateSeparatorPopulatorPrivate;
enum  {
	DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_0_PROPERTY,
	DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_ID_PROPERTY,
	DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_NUM_PROPERTIES
};
static GParamSpec* dino_ui_conversation_summary_date_separator_populator_properties[DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define DINO_UI_CONVERSATION_SUMMARY_TYPE_CONTENT_META_ITEM (dino_ui_conversation_summary_content_meta_item_get_type ())
#define DINO_UI_CONVERSATION_SUMMARY_CONTENT_META_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_CONTENT_META_ITEM, DinoUiConversationSummaryContentMetaItem))
#define DINO_UI_CONVERSATION_SUMMARY_CONTENT_META_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_UI_CONVERSATION_SUMMARY_TYPE_CONTENT_META_ITEM, DinoUiConversationSummaryContentMetaItemClass))
#define DINO_UI_CONVERSATION_SUMMARY_IS_CONTENT_META_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_CONTENT_META_ITEM))
#define DINO_UI_CONVERSATION_SUMMARY_IS_CONTENT_META_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_UI_CONVERSATION_SUMMARY_TYPE_CONTENT_META_ITEM))
#define DINO_UI_CONVERSATION_SUMMARY_CONTENT_META_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_CONTENT_META_ITEM, DinoUiConversationSummaryContentMetaItemClass))

typedef struct _DinoUiConversationSummaryContentMetaItem DinoUiConversationSummaryContentMetaItem;
typedef struct _DinoUiConversationSummaryContentMetaItemClass DinoUiConversationSummaryContentMetaItemClass;
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))

#define DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM (dino_ui_conversation_summary_meta_date_item_get_type ())
#define DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM, DinoUiConversationSummaryMetaDateItem))
#define DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM, DinoUiConversationSummaryMetaDateItemClass))
#define DINO_UI_CONVERSATION_SUMMARY_IS_META_DATE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM))
#define DINO_UI_CONVERSATION_SUMMARY_IS_META_DATE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM))
#define DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM, DinoUiConversationSummaryMetaDateItemClass))

typedef struct _DinoUiConversationSummaryMetaDateItem DinoUiConversationSummaryMetaDateItem;
typedef struct _DinoUiConversationSummaryMetaDateItemClass DinoUiConversationSummaryMetaDateItemClass;
typedef struct _DinoUiConversationSummaryMetaDateItemPrivate DinoUiConversationSummaryMetaDateItemPrivate;
enum  {
	DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_0_PROPERTY,
	DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_TIME_PROPERTY,
	DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_NUM_PROPERTIES
};
static GParamSpec* dino_ui_conversation_summary_meta_date_item_properties[DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_NUM_PROPERTIES];

#define DINO_UI_VIEW_MODEL_TYPE_DATE_SEPARATOR_MODEL (dino_ui_view_model_date_separator_model_get_type ())
#define DINO_UI_VIEW_MODEL_DATE_SEPARATOR_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_UI_VIEW_MODEL_TYPE_DATE_SEPARATOR_MODEL, DinoUiViewModelDateSeparatorModel))
#define DINO_UI_VIEW_MODEL_DATE_SEPARATOR_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_UI_VIEW_MODEL_TYPE_DATE_SEPARATOR_MODEL, DinoUiViewModelDateSeparatorModelClass))
#define DINO_UI_VIEW_MODEL_IS_DATE_SEPARATOR_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_UI_VIEW_MODEL_TYPE_DATE_SEPARATOR_MODEL))
#define DINO_UI_VIEW_MODEL_IS_DATE_SEPARATOR_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_UI_VIEW_MODEL_TYPE_DATE_SEPARATOR_MODEL))
#define DINO_UI_VIEW_MODEL_DATE_SEPARATOR_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_UI_VIEW_MODEL_TYPE_DATE_SEPARATOR_MODEL, DinoUiViewModelDateSeparatorModelClass))

typedef struct _DinoUiViewModelDateSeparatorModel DinoUiViewModelDateSeparatorModel;
typedef struct _DinoUiViewModelDateSeparatorModelClass DinoUiViewModelDateSeparatorModelClass;

#define DINO_UI_VIEW_MODEL_TYPE_COMPAT_DATE_SEPARATOR_MODEL (dino_ui_view_model_compat_date_separator_model_get_type ())
#define DINO_UI_VIEW_MODEL_COMPAT_DATE_SEPARATOR_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_UI_VIEW_MODEL_TYPE_COMPAT_DATE_SEPARATOR_MODEL, DinoUiViewModelCompatDateSeparatorModel))
#define DINO_UI_VIEW_MODEL_COMPAT_DATE_SEPARATOR_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_UI_VIEW_MODEL_TYPE_COMPAT_DATE_SEPARATOR_MODEL, DinoUiViewModelCompatDateSeparatorModelClass))
#define DINO_UI_VIEW_MODEL_IS_COMPAT_DATE_SEPARATOR_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_UI_VIEW_MODEL_TYPE_COMPAT_DATE_SEPARATOR_MODEL))
#define DINO_UI_VIEW_MODEL_IS_COMPAT_DATE_SEPARATOR_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_UI_VIEW_MODEL_TYPE_COMPAT_DATE_SEPARATOR_MODEL))
#define DINO_UI_VIEW_MODEL_COMPAT_DATE_SEPARATOR_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_UI_VIEW_MODEL_TYPE_COMPAT_DATE_SEPARATOR_MODEL, DinoUiViewModelCompatDateSeparatorModelClass))

typedef struct _DinoUiViewModelCompatDateSeparatorModel DinoUiViewModelCompatDateSeparatorModel;
typedef struct _DinoUiViewModelCompatDateSeparatorModelClass DinoUiViewModelCompatDateSeparatorModelClass;

#define DINO_UI_TYPE_DATE_SEPARATOR (dino_ui_date_separator_get_type ())
#define DINO_UI_DATE_SEPARATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_UI_TYPE_DATE_SEPARATOR, DinoUiDateSeparator))
#define DINO_UI_DATE_SEPARATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_UI_TYPE_DATE_SEPARATOR, DinoUiDateSeparatorClass))
#define DINO_UI_IS_DATE_SEPARATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_UI_TYPE_DATE_SEPARATOR))
#define DINO_UI_IS_DATE_SEPARATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_UI_TYPE_DATE_SEPARATOR))
#define DINO_UI_DATE_SEPARATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_UI_TYPE_DATE_SEPARATOR, DinoUiDateSeparatorClass))

typedef struct _DinoUiDateSeparator DinoUiDateSeparator;
typedef struct _DinoUiDateSeparatorClass DinoUiDateSeparatorClass;

struct _DinoUiConversationSummaryDateSeparatorPopulator {
	GObject parent_instance;
	DinoUiConversationSummaryDateSeparatorPopulatorPrivate * priv;
};

struct _DinoUiConversationSummaryDateSeparatorPopulatorClass {
	GObjectClass parent_class;
};

struct _DinoUiConversationSummaryDateSeparatorPopulatorPrivate {
	DinoStreamInteractor* stream_interactor;
	DinoEntitiesConversation* current_conversation;
	DinoPluginsConversationItemCollection* item_collection;
	GeeTreeSet* insert_times;
};

struct _DinoUiConversationSummaryMetaDateItem {
	DinoPluginsMetaConversationItem parent_instance;
	DinoUiConversationSummaryMetaDateItemPrivate * priv;
};

struct _DinoUiConversationSummaryMetaDateItemClass {
	DinoPluginsMetaConversationItemClass parent_class;
};

struct _DinoUiConversationSummaryMetaDateItemPrivate {
	GDateTime* _time;
};

static gint DinoUiConversationSummaryDateSeparatorPopulator_private_offset;
static gpointer dino_ui_conversation_summary_date_separator_populator_parent_class = NULL;
static DinoPluginsConversationItemPopulatorIface * dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_item_populator_parent_iface = NULL;
static DinoPluginsConversationAdditionPopulatorIface * dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_addition_populator_parent_iface = NULL;
static gint DinoUiConversationSummaryMetaDateItem_private_offset;
static gpointer dino_ui_conversation_summary_meta_date_item_parent_class = NULL;

VALA_EXTERN GType dino_ui_conversation_summary_date_separator_populator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoUiConversationSummaryDateSeparatorPopulator, g_object_unref)
VALA_EXTERN DinoUiConversationSummaryDateSeparatorPopulator* dino_ui_conversation_summary_date_separator_populator_new (DinoStreamInteractor* stream_interactor);
VALA_EXTERN DinoUiConversationSummaryDateSeparatorPopulator* dino_ui_conversation_summary_date_separator_populator_construct (GType object_type,
                                                                                                                  DinoStreamInteractor* stream_interactor);
static void dino_ui_conversation_summary_date_separator_populator_real_init (DinoPluginsConversationItemPopulator* base,
                                                                      DinoEntitiesConversation* conversation,
                                                                      DinoPluginsConversationItemCollection* item_collection,
                                                                      DinoPluginsWidgetType type);
static void dino_ui_conversation_summary_date_separator_populator_on_inserted_item (DinoUiConversationSummaryDateSeparatorPopulator* self,
                                                                             DinoPluginsMetaConversationItem* item);
static void _dino_ui_conversation_summary_date_separator_populator_on_inserted_item_dino_plugins_conversation_item_collection_inserted_item (DinoPluginsConversationItemCollection* _sender,
                                                                                                                                      DinoPluginsMetaConversationItem* item,
                                                                                                                                      gpointer self);
static gint __lambda122_ (DinoUiConversationSummaryDateSeparatorPopulator* self,
                   GDateTime* a,
                   GDateTime* b);
static gint ___lambda122__gcompare_data_func (gconstpointer a,
                                       gconstpointer b,
                                       gpointer self);
static void dino_ui_conversation_summary_date_separator_populator_real_close (DinoPluginsConversationItemPopulator* base,
                                                                       DinoEntitiesConversation* conversation);
static void dino_ui_conversation_summary_date_separator_populator_real_populate_timespan (DinoPluginsConversationAdditionPopulator* base,
                                                                                   DinoEntitiesConversation* conversation,
                                                                                   GDateTime* after,
                                                                                   GDateTime* before);
VALA_EXTERN GType dino_ui_conversation_summary_content_meta_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoUiConversationSummaryContentMetaItem, g_object_unref)
VALA_EXTERN DinoUiConversationSummaryMetaDateItem* dino_ui_conversation_summary_meta_date_item_new (GDateTime* date);
VALA_EXTERN DinoUiConversationSummaryMetaDateItem* dino_ui_conversation_summary_meta_date_item_construct (GType object_type,
                                                                                              GDateTime* date);
VALA_EXTERN GType dino_ui_conversation_summary_meta_date_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoUiConversationSummaryMetaDateItem, g_object_unref)
static void dino_ui_conversation_summary_date_separator_populator_finalize (GObject * obj);
static GType dino_ui_conversation_summary_date_separator_populator_get_type_once (void);
static void _vala_dino_ui_conversation_summary_date_separator_populator_get_property (GObject * object,
                                                                               guint property_id,
                                                                               GValue * value,
                                                                               GParamSpec * pspec);
static GObject* dino_ui_conversation_summary_meta_date_item_real_get_widget (DinoPluginsMetaConversationItem* base,
                                                                      DinoPluginsConversationItemWidgetInterface* outer,
                                                                      DinoPluginsWidgetType widget_type);
VALA_EXTERN DinoUiViewModelCompatDateSeparatorModel* dino_ui_view_model_compat_date_separator_model_new (GDateTime* date);
VALA_EXTERN DinoUiViewModelCompatDateSeparatorModel* dino_ui_view_model_compat_date_separator_model_construct (GType object_type,
                                                                                                   GDateTime* date);
VALA_EXTERN GType dino_ui_view_model_date_separator_model_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoUiViewModelDateSeparatorModel, g_object_unref)
VALA_EXTERN GType dino_ui_view_model_compat_date_separator_model_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoUiViewModelCompatDateSeparatorModel, g_object_unref)
VALA_EXTERN GType dino_ui_date_separator_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoUiDateSeparator, g_object_unref)
VALA_EXTERN DinoUiDateSeparator* dino_ui_date_separator_new (void);
VALA_EXTERN DinoUiDateSeparator* dino_ui_date_separator_construct (GType object_type);
VALA_EXTERN void dino_ui_date_separator_set_model (DinoUiDateSeparator* self,
                                       DinoUiViewModelDateSeparatorModel* value);
static GeeList* dino_ui_conversation_summary_meta_date_item_real_get_item_actions (DinoPluginsMetaConversationItem* base,
                                                                            DinoPluginsWidgetType type);
static void dino_ui_conversation_summary_meta_date_item_finalize (GObject * obj);
static GType dino_ui_conversation_summary_meta_date_item_get_type_once (void);
static void _vala_dino_ui_conversation_summary_meta_date_item_get_property (GObject * object,
                                                                     guint property_id,
                                                                     GValue * value,
                                                                     GParamSpec * pspec);
static void _vala_dino_ui_conversation_summary_meta_date_item_set_property (GObject * object,
                                                                     guint property_id,
                                                                     const GValue * value,
                                                                     GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static inline gpointer
dino_ui_conversation_summary_date_separator_populator_get_instance_private (DinoUiConversationSummaryDateSeparatorPopulator* self)
{
	return G_STRUCT_MEMBER_P (self, DinoUiConversationSummaryDateSeparatorPopulator_private_offset);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

DinoUiConversationSummaryDateSeparatorPopulator*
dino_ui_conversation_summary_date_separator_populator_construct (GType object_type,
                                                                 DinoStreamInteractor* stream_interactor)
{
	DinoUiConversationSummaryDateSeparatorPopulator * self = NULL;
	DinoStreamInteractor* _tmp0_;
	g_return_val_if_fail (stream_interactor != NULL, NULL);
	self = (DinoUiConversationSummaryDateSeparatorPopulator*) g_object_new (object_type, NULL);
	_tmp0_ = _g_object_ref0 (stream_interactor);
	_g_object_unref0 (self->priv->stream_interactor);
	self->priv->stream_interactor = _tmp0_;
	return self;
}

DinoUiConversationSummaryDateSeparatorPopulator*
dino_ui_conversation_summary_date_separator_populator_new (DinoStreamInteractor* stream_interactor)
{
	return dino_ui_conversation_summary_date_separator_populator_construct (DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR, stream_interactor);
}

static void
_dino_ui_conversation_summary_date_separator_populator_on_inserted_item_dino_plugins_conversation_item_collection_inserted_item (DinoPluginsConversationItemCollection* _sender,
                                                                                                                                 DinoPluginsMetaConversationItem* item,
                                                                                                                                 gpointer self)
{
	dino_ui_conversation_summary_date_separator_populator_on_inserted_item ((DinoUiConversationSummaryDateSeparatorPopulator*) self, item);
}

static gint
__lambda122_ (DinoUiConversationSummaryDateSeparatorPopulator* self,
              GDateTime* a,
              GDateTime* b)
{
	gint result;
	g_return_val_if_fail (a != NULL, -1);
	g_return_val_if_fail (b != NULL, -1);
	result = g_date_time_compare (a, b);
	return result;
}

static gint
___lambda122__gcompare_data_func (gconstpointer a,
                                  gconstpointer b,
                                  gpointer self)
{
	gint result;
	result = __lambda122_ ((DinoUiConversationSummaryDateSeparatorPopulator*) self, (GDateTime*) a, (GDateTime*) b);
	return result;
}

static void
dino_ui_conversation_summary_date_separator_populator_real_init (DinoPluginsConversationItemPopulator* base,
                                                                 DinoEntitiesConversation* conversation,
                                                                 DinoPluginsConversationItemCollection* item_collection,
                                                                 DinoPluginsWidgetType type)
{
	DinoUiConversationSummaryDateSeparatorPopulator * self;
	DinoEntitiesConversation* _tmp0_;
	DinoPluginsConversationItemCollection* _tmp1_;
	GeeTreeSet* _tmp2_;
	self = (DinoUiConversationSummaryDateSeparatorPopulator*) base;
	g_return_if_fail (conversation != NULL);
	g_return_if_fail (item_collection != NULL);
	_tmp0_ = _g_object_ref0 (conversation);
	_g_object_unref0 (self->priv->current_conversation);
	self->priv->current_conversation = _tmp0_;
	_tmp1_ = _g_object_ref0 (item_collection);
	_g_object_unref0 (self->priv->item_collection);
	self->priv->item_collection = _tmp1_;
	g_signal_connect_object (item_collection, "inserted-item", (GCallback) _dino_ui_conversation_summary_date_separator_populator_on_inserted_item_dino_plugins_conversation_item_collection_inserted_item, self, 0);
	_tmp2_ = gee_tree_set_new (G_TYPE_DATE_TIME, (GBoxedCopyFunc) g_date_time_ref, (GDestroyNotify) g_date_time_unref, ___lambda122__gcompare_data_func, g_object_ref (self), g_object_unref);
	_g_object_unref0 (self->priv->insert_times);
	self->priv->insert_times = _tmp2_;
}

static void
dino_ui_conversation_summary_date_separator_populator_real_close (DinoPluginsConversationItemPopulator* base,
                                                                  DinoEntitiesConversation* conversation)
{
	DinoUiConversationSummaryDateSeparatorPopulator * self;
	DinoPluginsConversationItemCollection* _tmp0_;
	guint _tmp1_;
	self = (DinoUiConversationSummaryDateSeparatorPopulator*) base;
	g_return_if_fail (conversation != NULL);
	_tmp0_ = self->priv->item_collection;
	g_signal_parse_name ("inserted-item", DINO_PLUGINS_TYPE_CONVERSATION_ITEM_COLLECTION, &_tmp1_, NULL, FALSE);
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _dino_ui_conversation_summary_date_separator_populator_on_inserted_item_dino_plugins_conversation_item_collection_inserted_item, self);
}

static void
dino_ui_conversation_summary_date_separator_populator_real_populate_timespan (DinoPluginsConversationAdditionPopulator* base,
                                                                              DinoEntitiesConversation* conversation,
                                                                              GDateTime* after,
                                                                              GDateTime* before)
{
	DinoUiConversationSummaryDateSeparatorPopulator * self;
	self = (DinoUiConversationSummaryDateSeparatorPopulator*) base;
	g_return_if_fail (conversation != NULL);
	g_return_if_fail (after != NULL);
	g_return_if_fail (before != NULL);
}

static void
dino_ui_conversation_summary_date_separator_populator_on_inserted_item (DinoUiConversationSummaryDateSeparatorPopulator* self,
                                                                        DinoPluginsMetaConversationItem* item)
{
	GDateTime* time = NULL;
	GDateTime* _tmp0_;
	GDateTime* _tmp1_;
	GDateTime* _tmp2_;
	GDateTime* msg_date = NULL;
	GDateTime* _tmp3_;
	GDateTime* _tmp4_;
	GDateTime* _tmp5_;
	GDateTime* _tmp6_;
	GeeTreeSet* _tmp7_;
	GDateTime* _tmp8_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	if (!DINO_UI_CONVERSATION_SUMMARY_IS_CONTENT_META_ITEM (item)) {
		return;
	}
	_tmp0_ = dino_plugins_meta_conversation_item_get_time (item);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_date_time_to_local (_tmp1_);
	time = _tmp2_;
	_tmp3_ = time;
	_tmp4_ = time;
	_tmp5_ = time;
	_tmp6_ = g_date_time_new_local (g_date_time_get_year (_tmp3_), g_date_time_get_month (_tmp4_), g_date_time_get_day_of_month (_tmp5_), 0, 0, (gdouble) 0);
	msg_date = _tmp6_;
	_tmp7_ = self->priv->insert_times;
	_tmp8_ = msg_date;
	if (!gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp7_, _tmp8_)) {
		GeeTreeSet* _tmp9_;
		GDateTime* _tmp10_;
		gpointer _tmp11_;
		GDateTime* _tmp12_;
		gboolean _tmp13_;
		GeeTreeSet* _tmp31_;
		GDateTime* _tmp32_;
		_tmp9_ = self->priv->insert_times;
		_tmp10_ = msg_date;
		_tmp11_ = gee_abstract_sorted_set_lower ((GeeAbstractSortedSet*) _tmp9_, _tmp10_);
		_tmp12_ = (GDateTime*) _tmp11_;
		_tmp13_ = _tmp12_ != NULL;
		_g_date_time_unref0 (_tmp12_);
		if (_tmp13_) {
			DinoPluginsConversationItemCollection* _tmp14_;
			GDateTime* _tmp15_;
			GDateTime* _tmp16_;
			GDateTime* _tmp17_;
			DinoUiConversationSummaryMetaDateItem* _tmp18_;
			DinoUiConversationSummaryMetaDateItem* _tmp19_;
			_tmp14_ = self->priv->item_collection;
			_tmp15_ = msg_date;
			_tmp16_ = g_date_time_to_utc (_tmp15_);
			_tmp17_ = _tmp16_;
			_tmp18_ = dino_ui_conversation_summary_meta_date_item_new (_tmp17_);
			_tmp19_ = _tmp18_;
			dino_plugins_conversation_item_collection_insert_item (_tmp14_, (DinoPluginsMetaConversationItem*) _tmp19_);
			_g_object_unref0 (_tmp19_);
			_g_date_time_unref0 (_tmp17_);
		} else {
			GeeTreeSet* _tmp20_;
			gint _tmp21_;
			gint _tmp22_;
			_tmp20_ = self->priv->insert_times;
			_tmp21_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp20_);
			_tmp22_ = _tmp21_;
			if (_tmp22_ > 0) {
				DinoPluginsConversationItemCollection* _tmp23_;
				GeeTreeSet* _tmp24_;
				gpointer _tmp25_;
				GDateTime* _tmp26_;
				GDateTime* _tmp27_;
				GDateTime* _tmp28_;
				DinoUiConversationSummaryMetaDateItem* _tmp29_;
				DinoUiConversationSummaryMetaDateItem* _tmp30_;
				_tmp23_ = self->priv->item_collection;
				_tmp24_ = self->priv->insert_times;
				_tmp25_ = gee_abstract_sorted_set_first ((GeeAbstractSortedSet*) _tmp24_);
				_tmp26_ = (GDateTime*) _tmp25_;
				_tmp27_ = g_date_time_to_utc (_tmp26_);
				_tmp28_ = _tmp27_;
				_tmp29_ = dino_ui_conversation_summary_meta_date_item_new (_tmp28_);
				_tmp30_ = _tmp29_;
				dino_plugins_conversation_item_collection_insert_item (_tmp23_, (DinoPluginsMetaConversationItem*) _tmp30_);
				_g_object_unref0 (_tmp30_);
				_g_date_time_unref0 (_tmp28_);
				_g_date_time_unref0 (_tmp26_);
			}
		}
		_tmp31_ = self->priv->insert_times;
		_tmp32_ = msg_date;
		gee_abstract_collection_add ((GeeAbstractCollection*) _tmp31_, _tmp32_);
	}
	_g_date_time_unref0 (msg_date);
	_g_date_time_unref0 (time);
}

static const gchar*
dino_ui_conversation_summary_date_separator_populator_real_get_id (DinoPluginsConversationItemPopulator* base)
{
	const gchar* result;
	DinoUiConversationSummaryDateSeparatorPopulator* self;
	self = (DinoUiConversationSummaryDateSeparatorPopulator*) base;
	result = "date_separator";
	return result;
}

static void
dino_ui_conversation_summary_date_separator_populator_class_init (DinoUiConversationSummaryDateSeparatorPopulatorClass * klass,
                                                                  gpointer klass_data)
{
	dino_ui_conversation_summary_date_separator_populator_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &DinoUiConversationSummaryDateSeparatorPopulator_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_dino_ui_conversation_summary_date_separator_populator_get_property;
	G_OBJECT_CLASS (klass)->finalize = dino_ui_conversation_summary_date_separator_populator_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_ID_PROPERTY, dino_ui_conversation_summary_date_separator_populator_properties[DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_ID_PROPERTY] = g_param_spec_string ("id", "id", "id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
}

static void
dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_item_populator_interface_init (DinoPluginsConversationItemPopulatorIface * iface,
                                                                                                               gpointer iface_data)
{
	dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_item_populator_parent_iface = g_type_interface_peek_parent (iface);
	iface->init = (void (*) (DinoPluginsConversationItemPopulator*, DinoEntitiesConversation*, DinoPluginsConversationItemCollection*, DinoPluginsWidgetType)) dino_ui_conversation_summary_date_separator_populator_real_init;
	iface->close = (void (*) (DinoPluginsConversationItemPopulator*, DinoEntitiesConversation*)) dino_ui_conversation_summary_date_separator_populator_real_close;
	iface->get_id = dino_ui_conversation_summary_date_separator_populator_real_get_id;
}

static void
dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_addition_populator_interface_init (DinoPluginsConversationAdditionPopulatorIface * iface,
                                                                                                                   gpointer iface_data)
{
	dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_addition_populator_parent_iface = g_type_interface_peek_parent (iface);
	iface->populate_timespan = (void (*) (DinoPluginsConversationAdditionPopulator*, DinoEntitiesConversation*, GDateTime*, GDateTime*)) dino_ui_conversation_summary_date_separator_populator_real_populate_timespan;
}

static void
dino_ui_conversation_summary_date_separator_populator_instance_init (DinoUiConversationSummaryDateSeparatorPopulator * self,
                                                                     gpointer klass)
{
	self->priv = dino_ui_conversation_summary_date_separator_populator_get_instance_private (self);
}

static void
dino_ui_conversation_summary_date_separator_populator_finalize (GObject * obj)
{
	DinoUiConversationSummaryDateSeparatorPopulator * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR, DinoUiConversationSummaryDateSeparatorPopulator);
	_g_object_unref0 (self->priv->stream_interactor);
	_g_object_unref0 (self->priv->current_conversation);
	_g_object_unref0 (self->priv->item_collection);
	_g_object_unref0 (self->priv->insert_times);
	G_OBJECT_CLASS (dino_ui_conversation_summary_date_separator_populator_parent_class)->finalize (obj);
}

static GType
dino_ui_conversation_summary_date_separator_populator_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (DinoUiConversationSummaryDateSeparatorPopulatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) dino_ui_conversation_summary_date_separator_populator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DinoUiConversationSummaryDateSeparatorPopulator), 0, (GInstanceInitFunc) dino_ui_conversation_summary_date_separator_populator_instance_init, NULL };
	static const GInterfaceInfo dino_plugins_conversation_item_populator_info = { (GInterfaceInitFunc) dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_item_populator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	static const GInterfaceInfo dino_plugins_conversation_addition_populator_info = { (GInterfaceInitFunc) dino_ui_conversation_summary_date_separator_populator_dino_plugins_conversation_addition_populator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
	GType dino_ui_conversation_summary_date_separator_populator_type_id;
	dino_ui_conversation_summary_date_separator_populator_type_id = g_type_register_static (G_TYPE_OBJECT, "DinoUiConversationSummaryDateSeparatorPopulator", &g_define_type_info, 0);
	g_type_add_interface_static (dino_ui_conversation_summary_date_separator_populator_type_id, DINO_PLUGINS_TYPE_CONVERSATION_ITEM_POPULATOR, &dino_plugins_conversation_item_populator_info);
	g_type_add_interface_static (dino_ui_conversation_summary_date_separator_populator_type_id, DINO_PLUGINS_TYPE_CONVERSATION_ADDITION_POPULATOR, &dino_plugins_conversation_addition_populator_info);
	DinoUiConversationSummaryDateSeparatorPopulator_private_offset = g_type_add_instance_private (dino_ui_conversation_summary_date_separator_populator_type_id, sizeof (DinoUiConversationSummaryDateSeparatorPopulatorPrivate));
	return dino_ui_conversation_summary_date_separator_populator_type_id;
}

GType
dino_ui_conversation_summary_date_separator_populator_get_type (void)
{
	static volatile gsize dino_ui_conversation_summary_date_separator_populator_type_id__once = 0;
	if (g_once_init_enter (&dino_ui_conversation_summary_date_separator_populator_type_id__once)) {
		GType dino_ui_conversation_summary_date_separator_populator_type_id;
		dino_ui_conversation_summary_date_separator_populator_type_id = dino_ui_conversation_summary_date_separator_populator_get_type_once ();
		g_once_init_leave (&dino_ui_conversation_summary_date_separator_populator_type_id__once, dino_ui_conversation_summary_date_separator_populator_type_id);
	}
	return dino_ui_conversation_summary_date_separator_populator_type_id__once;
}

static void
_vala_dino_ui_conversation_summary_date_separator_populator_get_property (GObject * object,
                                                                          guint property_id,
                                                                          GValue * value,
                                                                          GParamSpec * pspec)
{
	DinoUiConversationSummaryDateSeparatorPopulator * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, DINO_UI_CONVERSATION_SUMMARY_TYPE_DATE_SEPARATOR_POPULATOR, DinoUiConversationSummaryDateSeparatorPopulator);
	switch (property_id) {
		case DINO_UI_CONVERSATION_SUMMARY_DATE_SEPARATOR_POPULATOR_ID_PROPERTY:
		g_value_set_string (value, dino_plugins_conversation_item_populator_get_id ((DinoPluginsConversationItemPopulator*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
dino_ui_conversation_summary_meta_date_item_get_instance_private (DinoUiConversationSummaryMetaDateItem* self)
{
	return G_STRUCT_MEMBER_P (self, DinoUiConversationSummaryMetaDateItem_private_offset);
}

DinoUiConversationSummaryMetaDateItem*
dino_ui_conversation_summary_meta_date_item_construct (GType object_type,
                                                       GDateTime* date)
{
	DinoUiConversationSummaryMetaDateItem * self = NULL;
	g_return_val_if_fail (date != NULL, NULL);
	self = (DinoUiConversationSummaryMetaDateItem*) dino_plugins_meta_conversation_item_construct (object_type);
	dino_plugins_meta_conversation_item_set_time ((DinoPluginsMetaConversationItem*) self, date);
	return self;
}

DinoUiConversationSummaryMetaDateItem*
dino_ui_conversation_summary_meta_date_item_new (GDateTime* date)
{
	return dino_ui_conversation_summary_meta_date_item_construct (DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM, date);
}

static GObject*
dino_ui_conversation_summary_meta_date_item_real_get_widget (DinoPluginsMetaConversationItem* base,
                                                             DinoPluginsConversationItemWidgetInterface* outer,
                                                             DinoPluginsWidgetType widget_type)
{
	DinoUiConversationSummaryMetaDateItem * self;
	GDateTime* _tmp0_;
	GDateTime* _tmp1_;
	DinoUiViewModelCompatDateSeparatorModel* _tmp2_;
	DinoUiDateSeparator* _tmp3_ = NULL;
	GObject* result;
	self = (DinoUiConversationSummaryMetaDateItem*) base;
	g_return_val_if_fail (outer != NULL, NULL);
	_tmp0_ = dino_plugins_meta_conversation_item_get_time ((DinoPluginsMetaConversationItem*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = dino_ui_view_model_compat_date_separator_model_new (_tmp1_);
	_tmp3_ = dino_ui_date_separator_new ();
	dino_ui_date_separator_set_model (_tmp3_, (DinoUiViewModelDateSeparatorModel*) _tmp2_);
	_g_object_unref0 (_tmp2_);
	g_object_ref_sink (_tmp3_);
	result = (GObject*) _tmp3_;
	return result;
}

static GeeList*
dino_ui_conversation_summary_meta_date_item_real_get_item_actions (DinoPluginsMetaConversationItem* base,
                                                                   DinoPluginsWidgetType type)
{
	DinoUiConversationSummaryMetaDateItem * self;
	GeeList* result;
	self = (DinoUiConversationSummaryMetaDateItem*) base;
	result = NULL;
	return result;
}

static GDateTime*
dino_ui_conversation_summary_meta_date_item_real_get_time (DinoPluginsMetaConversationItem* base)
{
	GDateTime* result;
	DinoUiConversationSummaryMetaDateItem* self;
	GDateTime* _tmp0_;
	self = (DinoUiConversationSummaryMetaDateItem*) base;
	_tmp0_ = self->priv->_time;
	result = _tmp0_;
	return result;
}

static gpointer
_g_date_time_ref0 (gpointer self)
{
	return self ? g_date_time_ref (self) : NULL;
}

static void
dino_ui_conversation_summary_meta_date_item_real_set_time (DinoPluginsMetaConversationItem* base,
                                                           GDateTime* value)
{
	DinoUiConversationSummaryMetaDateItem* self;
	GDateTime* old_value;
	self = (DinoUiConversationSummaryMetaDateItem*) base;
	old_value = dino_ui_conversation_summary_meta_date_item_real_get_time (base);
	if (old_value != value) {
		GDateTime* _tmp0_;
		_tmp0_ = _g_date_time_ref0 (value);
		_g_date_time_unref0 (self->priv->_time);
		self->priv->_time = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, dino_ui_conversation_summary_meta_date_item_properties[DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_TIME_PROPERTY]);
	}
}

static void
dino_ui_conversation_summary_meta_date_item_class_init (DinoUiConversationSummaryMetaDateItemClass * klass,
                                                        gpointer klass_data)
{
	dino_ui_conversation_summary_meta_date_item_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &DinoUiConversationSummaryMetaDateItem_private_offset);
	((DinoPluginsMetaConversationItemClass *) klass)->get_widget = (GObject* (*) (DinoPluginsMetaConversationItem*, DinoPluginsConversationItemWidgetInterface*, DinoPluginsWidgetType)) dino_ui_conversation_summary_meta_date_item_real_get_widget;
	((DinoPluginsMetaConversationItemClass *) klass)->get_item_actions = (GeeList* (*) (DinoPluginsMetaConversationItem*, DinoPluginsWidgetType)) dino_ui_conversation_summary_meta_date_item_real_get_item_actions;
	DINO_PLUGINS_META_CONVERSATION_ITEM_CLASS (klass)->get_time = (GDateTime* (*) (DinoPluginsMetaConversationItem*)) dino_ui_conversation_summary_meta_date_item_real_get_time;
	DINO_PLUGINS_META_CONVERSATION_ITEM_CLASS (klass)->set_time = (void (*) (DinoPluginsMetaConversationItem*, GDateTime*)) dino_ui_conversation_summary_meta_date_item_real_set_time;
	G_OBJECT_CLASS (klass)->get_property = _vala_dino_ui_conversation_summary_meta_date_item_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_dino_ui_conversation_summary_meta_date_item_set_property;
	G_OBJECT_CLASS (klass)->finalize = dino_ui_conversation_summary_meta_date_item_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_TIME_PROPERTY, dino_ui_conversation_summary_meta_date_item_properties[DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_TIME_PROPERTY] = g_param_spec_boxed ("time", "time", "time", G_TYPE_DATE_TIME, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
dino_ui_conversation_summary_meta_date_item_instance_init (DinoUiConversationSummaryMetaDateItem * self,
                                                           gpointer klass)
{
	self->priv = dino_ui_conversation_summary_meta_date_item_get_instance_private (self);
}

static void
dino_ui_conversation_summary_meta_date_item_finalize (GObject * obj)
{
	DinoUiConversationSummaryMetaDateItem * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM, DinoUiConversationSummaryMetaDateItem);
	_g_date_time_unref0 (self->priv->_time);
	G_OBJECT_CLASS (dino_ui_conversation_summary_meta_date_item_parent_class)->finalize (obj);
}

static GType
dino_ui_conversation_summary_meta_date_item_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (DinoUiConversationSummaryMetaDateItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) dino_ui_conversation_summary_meta_date_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DinoUiConversationSummaryMetaDateItem), 0, (GInstanceInitFunc) dino_ui_conversation_summary_meta_date_item_instance_init, NULL };
	GType dino_ui_conversation_summary_meta_date_item_type_id;
	dino_ui_conversation_summary_meta_date_item_type_id = g_type_register_static (DINO_PLUGINS_TYPE_META_CONVERSATION_ITEM, "DinoUiConversationSummaryMetaDateItem", &g_define_type_info, 0);
	DinoUiConversationSummaryMetaDateItem_private_offset = g_type_add_instance_private (dino_ui_conversation_summary_meta_date_item_type_id, sizeof (DinoUiConversationSummaryMetaDateItemPrivate));
	return dino_ui_conversation_summary_meta_date_item_type_id;
}

GType
dino_ui_conversation_summary_meta_date_item_get_type (void)
{
	static volatile gsize dino_ui_conversation_summary_meta_date_item_type_id__once = 0;
	if (g_once_init_enter (&dino_ui_conversation_summary_meta_date_item_type_id__once)) {
		GType dino_ui_conversation_summary_meta_date_item_type_id;
		dino_ui_conversation_summary_meta_date_item_type_id = dino_ui_conversation_summary_meta_date_item_get_type_once ();
		g_once_init_leave (&dino_ui_conversation_summary_meta_date_item_type_id__once, dino_ui_conversation_summary_meta_date_item_type_id);
	}
	return dino_ui_conversation_summary_meta_date_item_type_id__once;
}

static void
_vala_dino_ui_conversation_summary_meta_date_item_get_property (GObject * object,
                                                                guint property_id,
                                                                GValue * value,
                                                                GParamSpec * pspec)
{
	DinoUiConversationSummaryMetaDateItem * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM, DinoUiConversationSummaryMetaDateItem);
	switch (property_id) {
		case DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_TIME_PROPERTY:
		g_value_set_boxed (value, dino_plugins_meta_conversation_item_get_time ((DinoPluginsMetaConversationItem*) self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_dino_ui_conversation_summary_meta_date_item_set_property (GObject * object,
                                                                guint property_id,
                                                                const GValue * value,
                                                                GParamSpec * pspec)
{
	DinoUiConversationSummaryMetaDateItem * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, DINO_UI_CONVERSATION_SUMMARY_TYPE_META_DATE_ITEM, DinoUiConversationSummaryMetaDateItem);
	switch (property_id) {
		case DINO_UI_CONVERSATION_SUMMARY_META_DATE_ITEM_TIME_PROPERTY:
		dino_plugins_meta_conversation_item_set_time ((DinoPluginsMetaConversationItem*) self, g_value_get_boxed (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

