/* datetime.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_DATETIME_H__
#define __SRC_DATETIME_H__

#include <switchboard.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <gmodule.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gtk/gtk.h>

G_BEGIN_DECLS

#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 GETTEXT_PACKAGE "io.elementary.settings.datetime"
#define LOCALEDIR "/usr/share/locale"

#define DATE_TIME_TYPE_MAIN_VIEW (date_time_main_view_get_type ())
#define DATE_TIME_MAIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATE_TIME_TYPE_MAIN_VIEW, DateTimeMainView))
#define DATE_TIME_MAIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATE_TIME_TYPE_MAIN_VIEW, DateTimeMainViewClass))
#define DATE_TIME_IS_MAIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATE_TIME_TYPE_MAIN_VIEW))
#define DATE_TIME_IS_MAIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATE_TIME_TYPE_MAIN_VIEW))
#define DATE_TIME_MAIN_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATE_TIME_TYPE_MAIN_VIEW, DateTimeMainViewClass))

typedef struct _DateTimeMainView DateTimeMainView;
typedef struct _DateTimeMainViewClass DateTimeMainViewClass;
typedef struct _DateTimeMainViewPrivate DateTimeMainViewPrivate;

#define DATE_TIME_TYPE_PLUG (date_time_plug_get_type ())
#define DATE_TIME_PLUG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATE_TIME_TYPE_PLUG, DateTimePlug))
#define DATE_TIME_PLUG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATE_TIME_TYPE_PLUG, DateTimePlugClass))
#define DATE_TIME_IS_PLUG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATE_TIME_TYPE_PLUG))
#define DATE_TIME_IS_PLUG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATE_TIME_TYPE_PLUG))
#define DATE_TIME_PLUG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATE_TIME_TYPE_PLUG, DateTimePlugClass))

typedef struct _DateTimePlug DateTimePlug;
typedef struct _DateTimePlugClass DateTimePlugClass;
typedef struct _DateTimePlugPrivate DateTimePlugPrivate;

#define DATE_TIME_TYPE_PARSER (date_time_parser_get_type ())
#define DATE_TIME_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATE_TIME_TYPE_PARSER, DateTimeParser))
#define DATE_TIME_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATE_TIME_TYPE_PARSER, DateTimeParserClass))
#define DATE_TIME_IS_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATE_TIME_TYPE_PARSER))
#define DATE_TIME_IS_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATE_TIME_TYPE_PARSER))
#define DATE_TIME_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATE_TIME_TYPE_PARSER, DateTimeParserClass))

typedef struct _DateTimeParser DateTimeParser;
typedef struct _DateTimeParserClass DateTimeParserClass;
typedef struct _DateTimeParserPrivate DateTimeParserPrivate;

#define DATE_TIME_TYPE_CURRENT_TIME_MANAGER (date_time_current_time_manager_get_type ())
#define DATE_TIME_CURRENT_TIME_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATE_TIME_TYPE_CURRENT_TIME_MANAGER, DateTimeCurrentTimeManager))
#define DATE_TIME_CURRENT_TIME_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATE_TIME_TYPE_CURRENT_TIME_MANAGER, DateTimeCurrentTimeManagerClass))
#define DATE_TIME_IS_CURRENT_TIME_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATE_TIME_TYPE_CURRENT_TIME_MANAGER))
#define DATE_TIME_IS_CURRENT_TIME_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATE_TIME_TYPE_CURRENT_TIME_MANAGER))
#define DATE_TIME_CURRENT_TIME_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATE_TIME_TYPE_CURRENT_TIME_MANAGER, DateTimeCurrentTimeManagerClass))

typedef struct _DateTimeCurrentTimeManager DateTimeCurrentTimeManager;
typedef struct _DateTimeCurrentTimeManagerClass DateTimeCurrentTimeManagerClass;
typedef struct _DateTimeCurrentTimeManagerPrivate DateTimeCurrentTimeManagerPrivate;

#define DATE_TIME_TYPE_TIME_ZONE_GRID (date_time_time_zone_grid_get_type ())
#define DATE_TIME_TIME_ZONE_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATE_TIME_TYPE_TIME_ZONE_GRID, DateTimeTimeZoneGrid))
#define DATE_TIME_TIME_ZONE_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATE_TIME_TYPE_TIME_ZONE_GRID, DateTimeTimeZoneGridClass))
#define DATE_TIME_IS_TIME_ZONE_GRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATE_TIME_TYPE_TIME_ZONE_GRID))
#define DATE_TIME_IS_TIME_ZONE_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATE_TIME_TYPE_TIME_ZONE_GRID))
#define DATE_TIME_TIME_ZONE_GRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATE_TIME_TYPE_TIME_ZONE_GRID, DateTimeTimeZoneGridClass))

typedef struct _DateTimeTimeZoneGrid DateTimeTimeZoneGrid;
typedef struct _DateTimeTimeZoneGridClass DateTimeTimeZoneGridClass;
typedef struct _DateTimeTimeZoneGridPrivate DateTimeTimeZoneGridPrivate;

struct _DateTimeMainView {
	SwitchboardSettingsPage parent_instance;
	DateTimeMainViewPrivate * priv;
};

struct _DateTimeMainViewClass {
	SwitchboardSettingsPageClass parent_class;
};

struct _DateTimePlug {
	SwitchboardPlug parent_instance;
	DateTimePlugPrivate * priv;
};

struct _DateTimePlugClass {
	SwitchboardPlugClass parent_class;
};

struct _DateTimeParser {
	GObject parent_instance;
	DateTimeParserPrivate * priv;
};

struct _DateTimeParserClass {
	GObjectClass parent_class;
};

struct _DateTimeCurrentTimeManager {
	GObject parent_instance;
	DateTimeCurrentTimeManagerPrivate * priv;
};

struct _DateTimeCurrentTimeManagerClass {
	GObjectClass parent_class;
};

struct _DateTimeTimeZoneGrid {
	GtkBox parent_instance;
	DateTimeTimeZoneGridPrivate * priv;
};

struct _DateTimeTimeZoneGridClass {
	GtkBoxClass parent_class;
};

VALA_EXTERN GType date_time_main_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DateTimeMainView, g_object_unref)
VALA_EXTERN DateTimeMainView* date_time_main_view_new (void);
VALA_EXTERN DateTimeMainView* date_time_main_view_construct (GType object_type);
VALA_EXTERN GType date_time_plug_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DateTimePlug, g_object_unref)
VALA_EXTERN DateTimePlug* date_time_plug_new (void);
VALA_EXTERN DateTimePlug* date_time_plug_construct (GType object_type);
VALA_EXTERN SwitchboardPlug* get_plug (GModule* module);
VALA_EXTERN GType date_time_parser_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DateTimeParser, g_object_unref)
VALA_EXTERN DateTimeParser* date_time_parser_get_default (void);
VALA_EXTERN GHashTable* date_time_parser_get_timezones_from_continent (DateTimeParser* self,
                                                           const gchar* continent);
VALA_EXTERN GHashTable* date_time_parser_get_locations (DateTimeParser* self);
VALA_EXTERN gchar* date_time_parser_format_city (const gchar* city);
VALA_EXTERN GType date_time_current_time_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DateTimeCurrentTimeManager, g_object_unref)
VALA_EXTERN DateTimeCurrentTimeManager* date_time_current_time_manager_new (void);
VALA_EXTERN DateTimeCurrentTimeManager* date_time_current_time_manager_construct (GType object_type);
VALA_EXTERN void date_time_current_time_manager_timezone_has_changed (DateTimeCurrentTimeManager* self);
VALA_EXTERN void date_time_current_time_manager_datetime_has_changed (DateTimeCurrentTimeManager* self,
                                                          gboolean update_immediately);
VALA_EXTERN GType date_time_time_zone_grid_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DateTimeTimeZoneGrid, g_object_unref)
VALA_EXTERN DateTimeTimeZoneGrid* date_time_time_zone_grid_new (void);
VALA_EXTERN DateTimeTimeZoneGrid* date_time_time_zone_grid_construct (GType object_type);
VALA_EXTERN const gchar* date_time_time_zone_grid_get_time_zone (DateTimeTimeZoneGrid* self);
VALA_EXTERN void date_time_time_zone_grid_set_time_zone (DateTimeTimeZoneGrid* self,
                                             const gchar* value);

G_END_DECLS

#endif
