/* http-files.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __PLUGINS_HTTP_FILES_HTTP_FILES_H__
#define __PLUGINS_HTTP_FILES_HTTP_FILES_H__

#include <glib-object.h>
#include "libdino.h"
#include <gio/gio.h>
#include <gmodule.h>
#include <glib.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 DINO_PLUGINS_HTTP_FILES_TYPE_FILE_PROVIDER (dino_plugins_http_files_file_provider_get_type ())
#define DINO_PLUGINS_HTTP_FILES_FILE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_FILE_PROVIDER, DinoPluginsHttpFilesFileProvider))
#define DINO_PLUGINS_HTTP_FILES_FILE_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_HTTP_FILES_TYPE_FILE_PROVIDER, DinoPluginsHttpFilesFileProviderClass))
#define DINO_PLUGINS_HTTP_FILES_IS_FILE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_FILE_PROVIDER))
#define DINO_PLUGINS_HTTP_FILES_IS_FILE_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_HTTP_FILES_TYPE_FILE_PROVIDER))
#define DINO_PLUGINS_HTTP_FILES_FILE_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_FILE_PROVIDER, DinoPluginsHttpFilesFileProviderClass))

typedef struct _DinoPluginsHttpFilesFileProvider DinoPluginsHttpFilesFileProvider;
typedef struct _DinoPluginsHttpFilesFileProviderClass DinoPluginsHttpFilesFileProviderClass;
typedef struct _DinoPluginsHttpFilesFileProviderPrivate DinoPluginsHttpFilesFileProviderPrivate;

#define DINO_PLUGINS_HTTP_FILES_TYPE_HTTP_FILE_SENDER (dino_plugins_http_files_http_file_sender_get_type ())
#define DINO_PLUGINS_HTTP_FILES_HTTP_FILE_SENDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_HTTP_FILE_SENDER, DinoPluginsHttpFilesHttpFileSender))
#define DINO_PLUGINS_HTTP_FILES_HTTP_FILE_SENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_HTTP_FILES_TYPE_HTTP_FILE_SENDER, DinoPluginsHttpFilesHttpFileSenderClass))
#define DINO_PLUGINS_HTTP_FILES_IS_HTTP_FILE_SENDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_HTTP_FILE_SENDER))
#define DINO_PLUGINS_HTTP_FILES_IS_HTTP_FILE_SENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_HTTP_FILES_TYPE_HTTP_FILE_SENDER))
#define DINO_PLUGINS_HTTP_FILES_HTTP_FILE_SENDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_HTTP_FILE_SENDER, DinoPluginsHttpFilesHttpFileSenderClass))

typedef struct _DinoPluginsHttpFilesHttpFileSender DinoPluginsHttpFilesHttpFileSender;
typedef struct _DinoPluginsHttpFilesHttpFileSenderClass DinoPluginsHttpFilesHttpFileSenderClass;
typedef struct _DinoPluginsHttpFilesHttpFileSenderPrivate DinoPluginsHttpFilesHttpFileSenderPrivate;

#define DINO_PLUGINS_HTTP_FILES_TYPE_PLUGIN (dino_plugins_http_files_plugin_get_type ())
#define DINO_PLUGINS_HTTP_FILES_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_PLUGIN, DinoPluginsHttpFilesPlugin))
#define DINO_PLUGINS_HTTP_FILES_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_HTTP_FILES_TYPE_PLUGIN, DinoPluginsHttpFilesPluginClass))
#define DINO_PLUGINS_HTTP_FILES_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_PLUGIN))
#define DINO_PLUGINS_HTTP_FILES_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_HTTP_FILES_TYPE_PLUGIN))
#define DINO_PLUGINS_HTTP_FILES_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_HTTP_FILES_TYPE_PLUGIN, DinoPluginsHttpFilesPluginClass))

typedef struct _DinoPluginsHttpFilesPlugin DinoPluginsHttpFilesPlugin;
typedef struct _DinoPluginsHttpFilesPluginClass DinoPluginsHttpFilesPluginClass;
typedef struct _DinoPluginsHttpFilesPluginPrivate DinoPluginsHttpFilesPluginPrivate;

struct _DinoPluginsHttpFilesFileProvider {
	GObject parent_instance;
	DinoPluginsHttpFilesFileProviderPrivate * priv;
};

struct _DinoPluginsHttpFilesFileProviderClass {
	GObjectClass parent_class;
};

struct _DinoPluginsHttpFilesHttpFileSender {
	GObject parent_instance;
	DinoPluginsHttpFilesHttpFileSenderPrivate * priv;
};

struct _DinoPluginsHttpFilesHttpFileSenderClass {
	GObjectClass parent_class;
};

struct _DinoPluginsHttpFilesPlugin {
	GObject parent_instance;
	DinoPluginsHttpFilesPluginPrivate * priv;
	DinoApplication* app;
	DinoPluginsHttpFilesFileProvider* file_provider;
	DinoFileSender* file_sender;
};

struct _DinoPluginsHttpFilesPluginClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType dino_plugins_http_files_file_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoPluginsHttpFilesFileProvider, g_object_unref)
VALA_EXTERN DinoPluginsHttpFilesFileProvider* dino_plugins_http_files_file_provider_new (DinoStreamInteractor* stream_interactor,
                                                                             DinoDatabase* dino_db);
VALA_EXTERN DinoPluginsHttpFilesFileProvider* dino_plugins_http_files_file_provider_construct (GType object_type,
                                                                                   DinoStreamInteractor* stream_interactor,
                                                                                   DinoDatabase* dino_db);
VALA_EXTERN GType dino_plugins_http_files_http_file_sender_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoPluginsHttpFilesHttpFileSender, g_object_unref)
VALA_EXTERN DinoPluginsHttpFilesHttpFileSender* dino_plugins_http_files_http_file_sender_new (DinoStreamInteractor* stream_interactor,
                                                                                  DinoDatabase* db);
VALA_EXTERN DinoPluginsHttpFilesHttpFileSender* dino_plugins_http_files_http_file_sender_construct (GType object_type,
                                                                                        DinoStreamInteractor* stream_interactor,
                                                                                        DinoDatabase* db);
VALA_EXTERN GType dino_plugins_http_files_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DinoPluginsHttpFilesPlugin, g_object_unref)
VALA_EXTERN DinoPluginsHttpFilesPlugin* dino_plugins_http_files_plugin_new (void);
VALA_EXTERN DinoPluginsHttpFilesPlugin* dino_plugins_http_files_plugin_construct (GType object_type);
VALA_EXTERN GType register_plugin (GModule* module);

G_END_DECLS

#endif
