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

#ifndef __PLUGINS_PASTEBIN_PASTEBIN_H__
#define __PLUGINS_PASTEBIN_PASTEBIN_H__

#include <granite.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gtk/gtk.h>
#include "codecore.h"
#include <libpeas.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 SCRATCH_SERVICES_PASTE_BIN_NEVER "N"
#define SCRATCH_SERVICES_PASTE_BIN_TEN_MINUTES "10M"
#define SCRATCH_SERVICES_PASTE_BIN_HOUR "1H"
#define SCRATCH_SERVICES_PASTE_BIN_DAY "1D"
#define SCRATCH_SERVICES_PASTE_BIN_MONTH "1M"
#define SCRATCH_SERVICES_PASTE_BIN_PRIVATE "1"
#define SCRATCH_SERVICES_PASTE_BIN_PUBLIC "0"

#define SCRATCH_DIALOGS_TYPE_PASTE_BIN_DIALOG (scratch_dialogs_paste_bin_dialog_get_type ())
#define SCRATCH_DIALOGS_PASTE_BIN_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_DIALOGS_TYPE_PASTE_BIN_DIALOG, ScratchDialogsPasteBinDialog))
#define SCRATCH_DIALOGS_PASTE_BIN_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_DIALOGS_TYPE_PASTE_BIN_DIALOG, ScratchDialogsPasteBinDialogClass))
#define SCRATCH_DIALOGS_IS_PASTE_BIN_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_DIALOGS_TYPE_PASTE_BIN_DIALOG))
#define SCRATCH_DIALOGS_IS_PASTE_BIN_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_DIALOGS_TYPE_PASTE_BIN_DIALOG))
#define SCRATCH_DIALOGS_PASTE_BIN_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_DIALOGS_TYPE_PASTE_BIN_DIALOG, ScratchDialogsPasteBinDialogClass))

typedef struct _ScratchDialogsPasteBinDialog ScratchDialogsPasteBinDialog;
typedef struct _ScratchDialogsPasteBinDialogClass ScratchDialogsPasteBinDialogClass;
typedef struct _ScratchDialogsPasteBinDialogPrivate ScratchDialogsPasteBinDialogPrivate;

#define SCRATCH_SERVICES_TYPE_PASTE_BIN (scratch_services_paste_bin_get_type ())
#define SCRATCH_SERVICES_PASTE_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_SERVICES_TYPE_PASTE_BIN, ScratchServicesPasteBin))
#define SCRATCH_SERVICES_PASTE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_SERVICES_TYPE_PASTE_BIN, ScratchServicesPasteBinClass))
#define SCRATCH_SERVICES_IS_PASTE_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_SERVICES_TYPE_PASTE_BIN))
#define SCRATCH_SERVICES_IS_PASTE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_SERVICES_TYPE_PASTE_BIN))
#define SCRATCH_SERVICES_PASTE_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_SERVICES_TYPE_PASTE_BIN, ScratchServicesPasteBinClass))

typedef struct _ScratchServicesPasteBin ScratchServicesPasteBin;
typedef struct _ScratchServicesPasteBinClass ScratchServicesPasteBinClass;
typedef struct _ScratchServicesPasteBinPrivate ScratchServicesPasteBinPrivate;

#define SCRATCH_PLUGINS_TYPE_PASTEBIN (scratch_plugins_pastebin_get_type ())
#define SCRATCH_PLUGINS_PASTEBIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_PLUGINS_TYPE_PASTEBIN, ScratchPluginsPastebin))
#define SCRATCH_PLUGINS_PASTEBIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_PLUGINS_TYPE_PASTEBIN, ScratchPluginsPastebinClass))
#define SCRATCH_PLUGINS_IS_PASTEBIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_PLUGINS_TYPE_PASTEBIN))
#define SCRATCH_PLUGINS_IS_PASTEBIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_PLUGINS_TYPE_PASTEBIN))
#define SCRATCH_PLUGINS_PASTEBIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_PLUGINS_TYPE_PASTEBIN, ScratchPluginsPastebinClass))

typedef struct _ScratchPluginsPastebin ScratchPluginsPastebin;
typedef struct _ScratchPluginsPastebinClass ScratchPluginsPastebinClass;
typedef struct _ScratchPluginsPastebinPrivate ScratchPluginsPastebinPrivate;

struct _ScratchDialogsPasteBinDialog {
	GraniteDialog parent_instance;
	ScratchDialogsPasteBinDialogPrivate * priv;
	gchar** languages;
	gint languages_length1;
	gint languages_length2;
};

struct _ScratchDialogsPasteBinDialogClass {
	GraniteDialogClass parent_class;
};

struct _ScratchServicesPasteBin {
	GObject parent_instance;
	ScratchServicesPasteBinPrivate * priv;
};

struct _ScratchServicesPasteBinClass {
	GObjectClass parent_class;
};

struct _ScratchPluginsPastebin {
	PeasExtensionBase parent_instance;
	ScratchPluginsPastebinPrivate * priv;
};

struct _ScratchPluginsPastebinClass {
	PeasExtensionBaseClass parent_class;
};

GType scratch_dialogs_paste_bin_dialog_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_dialogs_paste_bin_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchDialogsPasteBinDialog, g_object_unref)
VALA_EXTERN ScratchDialogsPasteBinDialog* scratch_dialogs_paste_bin_dialog_new (GtkWindow* parent,
                                                                    ScratchServicesDocument* doc);
VALA_EXTERN ScratchDialogsPasteBinDialog* scratch_dialogs_paste_bin_dialog_construct (GType object_type,
                                                                          GtkWindow* parent,
                                                                          ScratchServicesDocument* doc);
VALA_EXTERN ScratchServicesDocument* scratch_dialogs_paste_bin_dialog_get_doc (ScratchDialogsPasteBinDialog* self);
GType scratch_services_paste_bin_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_services_paste_bin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchServicesPasteBin, g_object_unref)
VALA_EXTERN gboolean scratch_services_paste_bin_submit (gchar** link,
                                            const gchar* paste_code,
                                            const gchar* paste_name,
                                            const gchar* paste_private,
                                            const gchar* paste_expire_date,
                                            const gchar* paste_format);
VALA_EXTERN ScratchServicesPasteBin* scratch_services_paste_bin_new (void);
VALA_EXTERN ScratchServicesPasteBin* scratch_services_paste_bin_construct (GType object_type);
GType scratch_plugins_pastebin_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_plugins_pastebin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchPluginsPastebin, g_object_unref)
VALA_EXTERN ScratchPluginsPastebin* scratch_plugins_pastebin_new (void);
VALA_EXTERN ScratchPluginsPastebin* scratch_plugins_pastebin_construct (GType object_type);
VALA_EXTERN void peas_register_types (GTypeModule* module);

G_END_DECLS

#endif
