/* dino.h generated by valac 0.42.7, the Vala compiler, do not modify */


#ifndef ___VAR_TMP_PORTAGE_NET_IM_DINO_9999_WORK_DINO_9999_BUILD_EXPORTS_DINO_H__
#define ___VAR_TMP_PORTAGE_NET_IM_DINO_9999_WORK_DINO_9999_BUILD_EXPORTS_DINO_H__

#include <glib.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include "qlite.h"
#include <glib-object.h>
#include "xmpp-vala.h"
#include <float.h>
#include <math.h>
#include <gdk-pixbuf/gdk-pixbuf.h>

G_BEGIN_DECLS


#define DINO_TYPE_APPLICATION (dino_application_get_type ())
#define DINO_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_APPLICATION, DinoApplication))
#define DINO_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_APPLICATION))
#define DINO_APPLICATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_APPLICATION, DinoApplicationIface))

typedef struct _DinoApplication DinoApplication;
typedef struct _DinoApplicationIface DinoApplicationIface;

#define DINO_TYPE_DATABASE (dino_database_get_type ())
#define DINO_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_DATABASE, DinoDatabase))
#define DINO_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_DATABASE, DinoDatabaseClass))
#define DINO_IS_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_DATABASE))
#define DINO_IS_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_DATABASE))
#define DINO_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_DATABASE, DinoDatabaseClass))

typedef struct _DinoDatabase DinoDatabase;
typedef struct _DinoDatabaseClass DinoDatabaseClass;

#define DINO_ENTITIES_TYPE_SETTINGS (dino_entities_settings_get_type ())
#define DINO_ENTITIES_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_ENTITIES_TYPE_SETTINGS, DinoEntitiesSettings))
#define DINO_ENTITIES_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_ENTITIES_TYPE_SETTINGS, DinoEntitiesSettingsClass))
#define DINO_ENTITIES_IS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_ENTITIES_TYPE_SETTINGS))
#define DINO_ENTITIES_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_ENTITIES_TYPE_SETTINGS))
#define DINO_ENTITIES_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_ENTITIES_TYPE_SETTINGS, DinoEntitiesSettingsClass))

typedef struct _DinoEntitiesSettings DinoEntitiesSettings;
typedef struct _DinoEntitiesSettingsClass DinoEntitiesSettingsClass;

#define DINO_TYPE_STREAM_INTERACTOR (dino_stream_interactor_get_type ())
#define DINO_STREAM_INTERACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_STREAM_INTERACTOR, DinoStreamInteractor))
#define DINO_STREAM_INTERACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_STREAM_INTERACTOR, DinoStreamInteractorClass))
#define DINO_IS_STREAM_INTERACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_STREAM_INTERACTOR))
#define DINO_IS_STREAM_INTERACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_STREAM_INTERACTOR))
#define DINO_STREAM_INTERACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_STREAM_INTERACTOR, DinoStreamInteractorClass))

typedef struct _DinoStreamInteractor DinoStreamInteractor;
typedef struct _DinoStreamInteractorClass DinoStreamInteractorClass;

#define DINO_PLUGINS_TYPE_REGISTRY (dino_plugins_registry_get_type ())
#define DINO_PLUGINS_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_REGISTRY, DinoPluginsRegistry))
#define DINO_PLUGINS_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_TYPE_REGISTRY, DinoPluginsRegistryClass))
#define DINO_PLUGINS_IS_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_REGISTRY))
#define DINO_PLUGINS_IS_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_TYPE_REGISTRY))
#define DINO_PLUGINS_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_TYPE_REGISTRY, DinoPluginsRegistryClass))

typedef struct _DinoPluginsRegistry DinoPluginsRegistry;
typedef struct _DinoPluginsRegistryClass DinoPluginsRegistryClass;

#define DINO_TYPE_SEARCH_PATH_GENERATOR (dino_search_path_generator_get_type ())
#define DINO_SEARCH_PATH_GENERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_SEARCH_PATH_GENERATOR, DinoSearchPathGenerator))
#define DINO_SEARCH_PATH_GENERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_SEARCH_PATH_GENERATOR, DinoSearchPathGeneratorClass))
#define DINO_IS_SEARCH_PATH_GENERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_SEARCH_PATH_GENERATOR))
#define DINO_IS_SEARCH_PATH_GENERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_SEARCH_PATH_GENERATOR))
#define DINO_SEARCH_PATH_GENERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_SEARCH_PATH_GENERATOR, DinoSearchPathGeneratorClass))

typedef struct _DinoSearchPathGenerator DinoSearchPathGenerator;
typedef struct _DinoSearchPathGeneratorClass DinoSearchPathGeneratorClass;

#define DINO_ENTITIES_TYPE_ACCOUNT (dino_entities_account_get_type ())
#define DINO_ENTITIES_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_ENTITIES_TYPE_ACCOUNT, DinoEntitiesAccount))
#define DINO_ENTITIES_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_ENTITIES_TYPE_ACCOUNT, DinoEntitiesAccountClass))
#define DINO_ENTITIES_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_ENTITIES_TYPE_ACCOUNT))
#define DINO_ENTITIES_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_ENTITIES_TYPE_ACCOUNT))
#define DINO_ENTITIES_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_ENTITIES_TYPE_ACCOUNT, DinoEntitiesAccountClass))

typedef struct _DinoEntitiesAccount DinoEntitiesAccount;
typedef struct _DinoEntitiesAccountClass DinoEntitiesAccountClass;

#define DINO_TYPE_LOGIN1_MANAGER (dino_login1_manager_get_type ())
#define DINO_LOGIN1_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_LOGIN1_MANAGER, DinoLogin1Manager))
#define DINO_IS_LOGIN1_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_LOGIN1_MANAGER))
#define DINO_LOGIN1_MANAGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_LOGIN1_MANAGER, DinoLogin1ManagerIface))

typedef struct _DinoLogin1Manager DinoLogin1Manager;
typedef struct _DinoLogin1ManagerIface DinoLogin1ManagerIface;

#define DINO_TYPE_LOGIN1_MANAGER_PROXY (dino_login1_manager_proxy_get_type ())

#define DINO_TYPE_UPOWER (dino_upower_get_type ())
#define DINO_UPOWER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_UPOWER, DinoUPower))
#define DINO_IS_UPOWER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_UPOWER))
#define DINO_UPOWER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_UPOWER, DinoUPowerIface))

typedef struct _DinoUPower DinoUPower;
typedef struct _DinoUPowerIface DinoUPowerIface;

#define DINO_TYPE_UPOWER_PROXY (dino_upower_proxy_get_type ())
typedef struct _DinoEntitiesAccountPrivate DinoEntitiesAccountPrivate;

#define DINO_ENTITIES_TYPE_CONVERSATION (dino_entities_conversation_get_type ())
#define DINO_ENTITIES_CONVERSATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_ENTITIES_TYPE_CONVERSATION, DinoEntitiesConversation))
#define DINO_ENTITIES_CONVERSATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_ENTITIES_TYPE_CONVERSATION, DinoEntitiesConversationClass))
#define DINO_ENTITIES_IS_CONVERSATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_ENTITIES_TYPE_CONVERSATION))
#define DINO_ENTITIES_IS_CONVERSATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_ENTITIES_TYPE_CONVERSATION))
#define DINO_ENTITIES_CONVERSATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_ENTITIES_TYPE_CONVERSATION, DinoEntitiesConversationClass))

typedef struct _DinoEntitiesConversation DinoEntitiesConversation;
typedef struct _DinoEntitiesConversationClass DinoEntitiesConversationClass;
typedef struct _DinoEntitiesConversationPrivate DinoEntitiesConversationPrivate;
typedef enum  {
	DINO_ENTITIES_CONVERSATION_TYPE_CHAT,
	DINO_ENTITIES_CONVERSATION_TYPE_GROUPCHAT,
	DINO_ENTITIES_CONVERSATION_TYPE_GROUPCHAT_PM
} DinoEntitiesConversationType;


#define DINO_ENTITIES_CONVERSATION_TYPE_TYPE (dino_entities_conversation_type_get_type ())
typedef enum  {
	DINO_ENTITIES_CONVERSATION_NOTIFY_SETTING_DEFAULT,
	DINO_ENTITIES_CONVERSATION_NOTIFY_SETTING_ON,
	DINO_ENTITIES_CONVERSATION_NOTIFY_SETTING_OFF,
	DINO_ENTITIES_CONVERSATION_NOTIFY_SETTING_HIGHLIGHT
} DinoEntitiesConversationNotifySetting;


#define DINO_ENTITIES_CONVERSATION_TYPE_NOTIFY_SETTING (dino_entities_conversation_notify_setting_get_type ())
typedef enum  {
	DINO_ENTITIES_CONVERSATION_SETTING_DEFAULT,
	DINO_ENTITIES_CONVERSATION_SETTING_ON,
	DINO_ENTITIES_CONVERSATION_SETTING_OFF
} DinoEntitiesConversationSetting;


#define DINO_ENTITIES_CONVERSATION_TYPE_SETTING (dino_entities_conversation_setting_get_type ())
typedef enum  {
	DINO_ENTITIES_ENCRYPTION_NONE,
	DINO_ENTITIES_ENCRYPTION_PGP,
	DINO_ENTITIES_ENCRYPTION_OMEMO
} DinoEntitiesEncryption;


#define DINO_ENTITIES_TYPE_ENCRYPTION (dino_entities_encryption_get_type ())

#define DINO_ENTITIES_TYPE_MESSAGE (dino_entities_message_get_type ())
#define DINO_ENTITIES_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_ENTITIES_TYPE_MESSAGE, DinoEntitiesMessage))
#define DINO_ENTITIES_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_ENTITIES_TYPE_MESSAGE, DinoEntitiesMessageClass))
#define DINO_ENTITIES_IS_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_ENTITIES_TYPE_MESSAGE))
#define DINO_ENTITIES_IS_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_ENTITIES_TYPE_MESSAGE))
#define DINO_ENTITIES_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_ENTITIES_TYPE_MESSAGE, DinoEntitiesMessageClass))

typedef struct _DinoEntitiesMessage DinoEntitiesMessage;
typedef struct _DinoEntitiesMessageClass DinoEntitiesMessageClass;

#define DINO_ENTITIES_TYPE_FILE_TRANSFER (dino_entities_file_transfer_get_type ())
#define DINO_ENTITIES_FILE_TRANSFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_ENTITIES_TYPE_FILE_TRANSFER, DinoEntitiesFileTransfer))
#define DINO_ENTITIES_FILE_TRANSFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_ENTITIES_TYPE_FILE_TRANSFER, DinoEntitiesFileTransferClass))
#define DINO_ENTITIES_IS_FILE_TRANSFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_ENTITIES_TYPE_FILE_TRANSFER))
#define DINO_ENTITIES_IS_FILE_TRANSFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_ENTITIES_TYPE_FILE_TRANSFER))
#define DINO_ENTITIES_FILE_TRANSFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_ENTITIES_TYPE_FILE_TRANSFER, DinoEntitiesFileTransferClass))

typedef struct _DinoEntitiesFileTransfer DinoEntitiesFileTransfer;
typedef struct _DinoEntitiesFileTransferClass DinoEntitiesFileTransferClass;
typedef struct _DinoEntitiesFileTransferPrivate DinoEntitiesFileTransferPrivate;
typedef enum  {
	DINO_ENTITIES_FILE_TRANSFER_STATE_COMPLETE,
	DINO_ENTITIES_FILE_TRANSFER_STATE_IN_PROGRESS,
	DINO_ENTITIES_FILE_TRANSFER_STATE_NOT_STARTED,
	DINO_ENTITIES_FILE_TRANSFER_STATE_FAILED
} DinoEntitiesFileTransferState;


#define DINO_ENTITIES_FILE_TRANSFER_TYPE_STATE (dino_entities_file_transfer_state_get_type ())
typedef struct _DinoEntitiesMessagePrivate DinoEntitiesMessagePrivate;
typedef enum  {
	DINO_ENTITIES_MESSAGE_MARKED_NONE,
	DINO_ENTITIES_MESSAGE_MARKED_RECEIVED,
	DINO_ENTITIES_MESSAGE_MARKED_READ,
	DINO_ENTITIES_MESSAGE_MARKED_ACKNOWLEDGED,
	DINO_ENTITIES_MESSAGE_MARKED_UNSENT,
	DINO_ENTITIES_MESSAGE_MARKED_WONTSEND
} DinoEntitiesMessageMarked;


#define DINO_ENTITIES_MESSAGE_TYPE_MARKED (dino_entities_message_marked_get_type ())
typedef enum  {
	DINO_ENTITIES_MESSAGE_TYPE_ERROR,
	DINO_ENTITIES_MESSAGE_TYPE_CHAT,
	DINO_ENTITIES_MESSAGE_TYPE_GROUPCHAT,
	DINO_ENTITIES_MESSAGE_TYPE_GROUPCHAT_PM,
	DINO_ENTITIES_MESSAGE_TYPE_UNKNOWN
} DinoEntitiesMessageType;


#define DINO_ENTITIES_MESSAGE_TYPE_TYPE (dino_entities_message_type_get_type ())
typedef struct _DinoEntitiesSettingsPrivate DinoEntitiesSettingsPrivate;
typedef enum  {
	DINO_PLUGINS_PRIORITY_LOWEST,
	DINO_PLUGINS_PRIORITY_LOWER,
	DINO_PLUGINS_PRIORITY_DEFAULT,
	DINO_PLUGINS_PRIORITY_HIGHER,
	DINO_PLUGINS_PRIORITY_HIGHEST
} DinoPluginsPriority;


#define DINO_PLUGINS_TYPE_PRIORITY (dino_plugins_priority_get_type ())
typedef enum  {
	DINO_PLUGINS_WIDGET_TYPE_GTK
} DinoPluginsWidgetType;


#define DINO_PLUGINS_TYPE_WIDGET_TYPE (dino_plugins_widget_type_get_type ())

#define DINO_PLUGINS_TYPE_ROOT_INTERFACE (dino_plugins_root_interface_get_type ())
#define DINO_PLUGINS_ROOT_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_ROOT_INTERFACE, DinoPluginsRootInterface))
#define DINO_PLUGINS_IS_ROOT_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_ROOT_INTERFACE))
#define DINO_PLUGINS_ROOT_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_ROOT_INTERFACE, DinoPluginsRootInterfaceIface))

typedef struct _DinoPluginsRootInterface DinoPluginsRootInterface;
typedef struct _DinoPluginsRootInterfaceIface DinoPluginsRootInterfaceIface;

#define DINO_PLUGINS_TYPE_ENCRYPTION_LIST_ENTRY (dino_plugins_encryption_list_entry_get_type ())
#define DINO_PLUGINS_ENCRYPTION_LIST_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_ENCRYPTION_LIST_ENTRY, DinoPluginsEncryptionListEntry))
#define DINO_PLUGINS_IS_ENCRYPTION_LIST_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_ENCRYPTION_LIST_ENTRY))
#define DINO_PLUGINS_ENCRYPTION_LIST_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_ENCRYPTION_LIST_ENTRY, DinoPluginsEncryptionListEntryIface))

typedef struct _DinoPluginsEncryptionListEntry DinoPluginsEncryptionListEntry;
typedef struct _DinoPluginsEncryptionListEntryIface DinoPluginsEncryptionListEntryIface;

#define DINO_PLUGINS_TYPE_INPUT_FIELD_STATUS (dino_plugins_input_field_status_get_type ())
#define DINO_PLUGINS_INPUT_FIELD_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_INPUT_FIELD_STATUS, DinoPluginsInputFieldStatus))
#define DINO_PLUGINS_INPUT_FIELD_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_TYPE_INPUT_FIELD_STATUS, DinoPluginsInputFieldStatusClass))
#define DINO_PLUGINS_IS_INPUT_FIELD_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_INPUT_FIELD_STATUS))
#define DINO_PLUGINS_IS_INPUT_FIELD_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_TYPE_INPUT_FIELD_STATUS))
#define DINO_PLUGINS_INPUT_FIELD_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_TYPE_INPUT_FIELD_STATUS, DinoPluginsInputFieldStatusClass))

typedef struct _DinoPluginsInputFieldStatus DinoPluginsInputFieldStatus;
typedef struct _DinoPluginsInputFieldStatusClass DinoPluginsInputFieldStatusClass;
typedef void (*DinoPluginsSetInputFieldStatus) (DinoPluginsInputFieldStatus* field_status, gpointer user_data);

#define DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_ENTRY (dino_plugins_account_settings_entry_get_type ())
#define DINO_PLUGINS_ACCOUNT_SETTINGS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_ENTRY, DinoPluginsAccountSettingsEntry))
#define DINO_PLUGINS_ACCOUNT_SETTINGS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_ENTRY, DinoPluginsAccountSettingsEntryClass))
#define DINO_PLUGINS_IS_ACCOUNT_SETTINGS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_ENTRY))
#define DINO_PLUGINS_IS_ACCOUNT_SETTINGS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_ENTRY))
#define DINO_PLUGINS_ACCOUNT_SETTINGS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_ENTRY, DinoPluginsAccountSettingsEntryClass))

typedef struct _DinoPluginsAccountSettingsEntry DinoPluginsAccountSettingsEntry;
typedef struct _DinoPluginsAccountSettingsEntryClass DinoPluginsAccountSettingsEntryClass;
typedef struct _DinoPluginsAccountSettingsEntryPrivate DinoPluginsAccountSettingsEntryPrivate;

#define DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_WIDGET (dino_plugins_account_settings_widget_get_type ())
#define DINO_PLUGINS_ACCOUNT_SETTINGS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_WIDGET, DinoPluginsAccountSettingsWidget))
#define DINO_PLUGINS_IS_ACCOUNT_SETTINGS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_WIDGET))
#define DINO_PLUGINS_ACCOUNT_SETTINGS_WIDGET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_ACCOUNT_SETTINGS_WIDGET, DinoPluginsAccountSettingsWidgetIface))

typedef struct _DinoPluginsAccountSettingsWidget DinoPluginsAccountSettingsWidget;
typedef struct _DinoPluginsAccountSettingsWidgetIface DinoPluginsAccountSettingsWidgetIface;

#define DINO_PLUGINS_TYPE_CONTACT_DETAILS_PROVIDER (dino_plugins_contact_details_provider_get_type ())
#define DINO_PLUGINS_CONTACT_DETAILS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_CONTACT_DETAILS_PROVIDER, DinoPluginsContactDetailsProvider))
#define DINO_PLUGINS_IS_CONTACT_DETAILS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_CONTACT_DETAILS_PROVIDER))
#define DINO_PLUGINS_CONTACT_DETAILS_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_CONTACT_DETAILS_PROVIDER, DinoPluginsContactDetailsProviderIface))

typedef struct _DinoPluginsContactDetailsProvider DinoPluginsContactDetailsProvider;
typedef struct _DinoPluginsContactDetailsProviderIface DinoPluginsContactDetailsProviderIface;

#define DINO_PLUGINS_TYPE_CONTACT_DETAILS (dino_plugins_contact_details_get_type ())
#define DINO_PLUGINS_CONTACT_DETAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_CONTACT_DETAILS, DinoPluginsContactDetails))
#define DINO_PLUGINS_CONTACT_DETAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_TYPE_CONTACT_DETAILS, DinoPluginsContactDetailsClass))
#define DINO_PLUGINS_IS_CONTACT_DETAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_CONTACT_DETAILS))
#define DINO_PLUGINS_IS_CONTACT_DETAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_TYPE_CONTACT_DETAILS))
#define DINO_PLUGINS_CONTACT_DETAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_TYPE_CONTACT_DETAILS, DinoPluginsContactDetailsClass))

typedef struct _DinoPluginsContactDetails DinoPluginsContactDetails;
typedef struct _DinoPluginsContactDetailsClass DinoPluginsContactDetailsClass;
typedef struct _DinoPluginsContactDetailsPrivate DinoPluginsContactDetailsPrivate;

#define DINO_PLUGINS_TYPE_TEXT_COMMAND (dino_plugins_text_command_get_type ())
#define DINO_PLUGINS_TEXT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_TEXT_COMMAND, DinoPluginsTextCommand))
#define DINO_PLUGINS_IS_TEXT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_TEXT_COMMAND))
#define DINO_PLUGINS_TEXT_COMMAND_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_TEXT_COMMAND, DinoPluginsTextCommandIface))

typedef struct _DinoPluginsTextCommand DinoPluginsTextCommand;
typedef struct _DinoPluginsTextCommandIface DinoPluginsTextCommandIface;

#define DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_ENTRY (dino_plugins_conversation_titlebar_entry_get_type ())
#define DINO_PLUGINS_CONVERSATION_TITLEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_ENTRY, DinoPluginsConversationTitlebarEntry))
#define DINO_PLUGINS_IS_CONVERSATION_TITLEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_ENTRY))
#define DINO_PLUGINS_CONVERSATION_TITLEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_ENTRY, DinoPluginsConversationTitlebarEntryIface))

typedef struct _DinoPluginsConversationTitlebarEntry DinoPluginsConversationTitlebarEntry;
typedef struct _DinoPluginsConversationTitlebarEntryIface DinoPluginsConversationTitlebarEntryIface;

#define DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_WIDGET (dino_plugins_conversation_titlebar_widget_get_type ())
#define DINO_PLUGINS_CONVERSATION_TITLEBAR_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_WIDGET, DinoPluginsConversationTitlebarWidget))
#define DINO_PLUGINS_IS_CONVERSATION_TITLEBAR_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_WIDGET))
#define DINO_PLUGINS_CONVERSATION_TITLEBAR_WIDGET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_TITLEBAR_WIDGET, DinoPluginsConversationTitlebarWidgetIface))

typedef struct _DinoPluginsConversationTitlebarWidget DinoPluginsConversationTitlebarWidget;
typedef struct _DinoPluginsConversationTitlebarWidgetIface DinoPluginsConversationTitlebarWidgetIface;

#define DINO_PLUGINS_TYPE_CONVERSATION_ITEM_POPULATOR (dino_plugins_conversation_item_populator_get_type ())
#define DINO_PLUGINS_CONVERSATION_ITEM_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ITEM_POPULATOR, DinoPluginsConversationItemPopulator))
#define DINO_PLUGINS_IS_CONVERSATION_ITEM_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ITEM_POPULATOR))
#define DINO_PLUGINS_CONVERSATION_ITEM_POPULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ITEM_POPULATOR, DinoPluginsConversationItemPopulatorIface))

typedef struct _DinoPluginsConversationItemPopulator DinoPluginsConversationItemPopulator;
typedef struct _DinoPluginsConversationItemPopulatorIface DinoPluginsConversationItemPopulatorIface;

#define DINO_PLUGINS_TYPE_CONVERSATION_ITEM_COLLECTION (dino_plugins_conversation_item_collection_get_type ())
#define DINO_PLUGINS_CONVERSATION_ITEM_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ITEM_COLLECTION, DinoPluginsConversationItemCollection))
#define DINO_PLUGINS_IS_CONVERSATION_ITEM_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ITEM_COLLECTION))
#define DINO_PLUGINS_CONVERSATION_ITEM_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ITEM_COLLECTION, DinoPluginsConversationItemCollectionIface))

typedef struct _DinoPluginsConversationItemCollection DinoPluginsConversationItemCollection;
typedef struct _DinoPluginsConversationItemCollectionIface DinoPluginsConversationItemCollectionIface;

#define DINO_PLUGINS_TYPE_META_CONVERSATION_ITEM (dino_plugins_meta_conversation_item_get_type ())
#define DINO_PLUGINS_META_CONVERSATION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_META_CONVERSATION_ITEM, DinoPluginsMetaConversationItem))
#define DINO_PLUGINS_META_CONVERSATION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_TYPE_META_CONVERSATION_ITEM, DinoPluginsMetaConversationItemClass))
#define DINO_PLUGINS_IS_META_CONVERSATION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_META_CONVERSATION_ITEM))
#define DINO_PLUGINS_IS_META_CONVERSATION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_TYPE_META_CONVERSATION_ITEM))
#define DINO_PLUGINS_META_CONVERSATION_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_TYPE_META_CONVERSATION_ITEM, DinoPluginsMetaConversationItemClass))

typedef struct _DinoPluginsMetaConversationItem DinoPluginsMetaConversationItem;
typedef struct _DinoPluginsMetaConversationItemClass DinoPluginsMetaConversationItemClass;

#define DINO_PLUGINS_TYPE_CONVERSATION_ADDITION_POPULATOR (dino_plugins_conversation_addition_populator_get_type ())
#define DINO_PLUGINS_CONVERSATION_ADDITION_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ADDITION_POPULATOR, DinoPluginsConversationAdditionPopulator))
#define DINO_PLUGINS_IS_CONVERSATION_ADDITION_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ADDITION_POPULATOR))
#define DINO_PLUGINS_CONVERSATION_ADDITION_POPULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_CONVERSATION_ADDITION_POPULATOR, DinoPluginsConversationAdditionPopulatorIface))

typedef struct _DinoPluginsConversationAdditionPopulator DinoPluginsConversationAdditionPopulator;
typedef struct _DinoPluginsConversationAdditionPopulatorIface DinoPluginsConversationAdditionPopulatorIface;

#define DINO_PLUGINS_TYPE_NOTIFICATION_POPULATOR (dino_plugins_notification_populator_get_type ())
#define DINO_PLUGINS_NOTIFICATION_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_NOTIFICATION_POPULATOR, DinoPluginsNotificationPopulator))
#define DINO_PLUGINS_IS_NOTIFICATION_POPULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_NOTIFICATION_POPULATOR))
#define DINO_PLUGINS_NOTIFICATION_POPULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_NOTIFICATION_POPULATOR, DinoPluginsNotificationPopulatorIface))

typedef struct _DinoPluginsNotificationPopulator DinoPluginsNotificationPopulator;
typedef struct _DinoPluginsNotificationPopulatorIface DinoPluginsNotificationPopulatorIface;

#define DINO_PLUGINS_TYPE_NOTIFICATION_COLLECTION (dino_plugins_notification_collection_get_type ())
#define DINO_PLUGINS_NOTIFICATION_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_NOTIFICATION_COLLECTION, DinoPluginsNotificationCollection))
#define DINO_PLUGINS_IS_NOTIFICATION_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_NOTIFICATION_COLLECTION))
#define DINO_PLUGINS_NOTIFICATION_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_PLUGINS_TYPE_NOTIFICATION_COLLECTION, DinoPluginsNotificationCollectionIface))

typedef struct _DinoPluginsNotificationCollection DinoPluginsNotificationCollection;
typedef struct _DinoPluginsNotificationCollectionIface DinoPluginsNotificationCollectionIface;
typedef struct _DinoPluginsMetaConversationItemPrivate DinoPluginsMetaConversationItemPrivate;

#define DINO_PLUGINS_TYPE_META_CONVERSATION_NOTIFICATION (dino_plugins_meta_conversation_notification_get_type ())
#define DINO_PLUGINS_META_CONVERSATION_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_META_CONVERSATION_NOTIFICATION, DinoPluginsMetaConversationNotification))
#define DINO_PLUGINS_META_CONVERSATION_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_TYPE_META_CONVERSATION_NOTIFICATION, DinoPluginsMetaConversationNotificationClass))
#define DINO_PLUGINS_IS_META_CONVERSATION_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_META_CONVERSATION_NOTIFICATION))
#define DINO_PLUGINS_IS_META_CONVERSATION_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_TYPE_META_CONVERSATION_NOTIFICATION))
#define DINO_PLUGINS_META_CONVERSATION_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_TYPE_META_CONVERSATION_NOTIFICATION, DinoPluginsMetaConversationNotificationClass))

typedef struct _DinoPluginsMetaConversationNotification DinoPluginsMetaConversationNotification;
typedef struct _DinoPluginsMetaConversationNotificationClass DinoPluginsMetaConversationNotificationClass;
typedef struct _DinoPluginsMetaConversationNotificationPrivate DinoPluginsMetaConversationNotificationPrivate;
typedef struct _DinoPluginsInputFieldStatusPrivate DinoPluginsInputFieldStatusPrivate;
typedef enum  {
	DINO_PLUGINS_INPUT_FIELD_STATUS_MESSAGE_TYPE_NONE,
	DINO_PLUGINS_INPUT_FIELD_STATUS_MESSAGE_TYPE_INFO,
	DINO_PLUGINS_INPUT_FIELD_STATUS_MESSAGE_TYPE_WARNING,
	DINO_PLUGINS_INPUT_FIELD_STATUS_MESSAGE_TYPE_ERROR
} DinoPluginsInputFieldStatusMessageType;


#define DINO_PLUGINS_INPUT_FIELD_STATUS_TYPE_MESSAGE_TYPE (dino_plugins_input_field_status_message_type_get_type ())
typedef enum  {
	DINO_PLUGINS_INPUT_FIELD_STATUS_INPUT_STATE_NORMAL,
	DINO_PLUGINS_INPUT_FIELD_STATUS_INPUT_STATE_DISABLED,
	DINO_PLUGINS_INPUT_FIELD_STATUS_INPUT_STATE_NO_SEND
} DinoPluginsInputFieldStatusInputState;


#define DINO_PLUGINS_INPUT_FIELD_STATUS_TYPE_INPUT_STATE (dino_plugins_input_field_status_input_state_get_type ())

#define DINO_PLUGINS_TYPE_LOADER (dino_plugins_loader_get_type ())
#define DINO_PLUGINS_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_PLUGINS_TYPE_LOADER, DinoPluginsLoader))
#define DINO_PLUGINS_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_PLUGINS_TYPE_LOADER, DinoPluginsLoaderClass))
#define DINO_PLUGINS_IS_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_PLUGINS_TYPE_LOADER))
#define DINO_PLUGINS_IS_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_PLUGINS_TYPE_LOADER))
#define DINO_PLUGINS_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_PLUGINS_TYPE_LOADER, DinoPluginsLoaderClass))

typedef struct _DinoPluginsLoader DinoPluginsLoader;
typedef struct _DinoPluginsLoaderClass DinoPluginsLoaderClass;
typedef struct _DinoPluginsLoaderPrivate DinoPluginsLoaderPrivate;
typedef struct _DinoPluginsRegistryPrivate DinoPluginsRegistryPrivate;

#define DINO_TYPE_STREAM_INTERACTION_MODULE (dino_stream_interaction_module_get_type ())
#define DINO_STREAM_INTERACTION_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_STREAM_INTERACTION_MODULE, DinoStreamInteractionModule))
#define DINO_IS_STREAM_INTERACTION_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_STREAM_INTERACTION_MODULE))
#define DINO_STREAM_INTERACTION_MODULE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_STREAM_INTERACTION_MODULE, DinoStreamInteractionModuleIface))

typedef struct _DinoStreamInteractionModule DinoStreamInteractionModule;
typedef struct _DinoStreamInteractionModuleIface DinoStreamInteractionModuleIface;

#define DINO_TYPE_AVATAR_MANAGER (dino_avatar_manager_get_type ())
#define DINO_AVATAR_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_AVATAR_MANAGER, DinoAvatarManager))
#define DINO_AVATAR_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_AVATAR_MANAGER, DinoAvatarManagerClass))
#define DINO_IS_AVATAR_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_AVATAR_MANAGER))
#define DINO_IS_AVATAR_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_AVATAR_MANAGER))
#define DINO_AVATAR_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_AVATAR_MANAGER, DinoAvatarManagerClass))

typedef struct _DinoAvatarManager DinoAvatarManager;
typedef struct _DinoAvatarManagerClass DinoAvatarManagerClass;
typedef struct _DinoAvatarManagerPrivate DinoAvatarManagerPrivate;

#define DINO_TYPE_MODULE_IDENTITY (dino_module_identity_get_type ())
#define DINO_MODULE_IDENTITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MODULE_IDENTITY, DinoModuleIdentity))
#define DINO_MODULE_IDENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MODULE_IDENTITY, DinoModuleIdentityClass))
#define DINO_IS_MODULE_IDENTITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MODULE_IDENTITY))
#define DINO_IS_MODULE_IDENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MODULE_IDENTITY))
#define DINO_MODULE_IDENTITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MODULE_IDENTITY, DinoModuleIdentityClass))

typedef struct _DinoModuleIdentity DinoModuleIdentity;
typedef struct _DinoModuleIdentityClass DinoModuleIdentityClass;

#define DINO_TYPE_AVATAR_STORAGE (dino_avatar_storage_get_type ())
#define DINO_AVATAR_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_AVATAR_STORAGE, DinoAvatarStorage))
#define DINO_AVATAR_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_AVATAR_STORAGE, DinoAvatarStorageClass))
#define DINO_IS_AVATAR_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_AVATAR_STORAGE))
#define DINO_IS_AVATAR_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_AVATAR_STORAGE))
#define DINO_AVATAR_STORAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_AVATAR_STORAGE, DinoAvatarStorageClass))

typedef struct _DinoAvatarStorage DinoAvatarStorage;
typedef struct _DinoAvatarStorageClass DinoAvatarStorageClass;
typedef struct _DinoAvatarStoragePrivate DinoAvatarStoragePrivate;

#define DINO_TYPE_BLOCKING_MANAGER (dino_blocking_manager_get_type ())
#define DINO_BLOCKING_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_BLOCKING_MANAGER, DinoBlockingManager))
#define DINO_BLOCKING_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_BLOCKING_MANAGER, DinoBlockingManagerClass))
#define DINO_IS_BLOCKING_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_BLOCKING_MANAGER))
#define DINO_IS_BLOCKING_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_BLOCKING_MANAGER))
#define DINO_BLOCKING_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_BLOCKING_MANAGER, DinoBlockingManagerClass))

typedef struct _DinoBlockingManager DinoBlockingManager;
typedef struct _DinoBlockingManagerClass DinoBlockingManagerClass;
typedef struct _DinoBlockingManagerPrivate DinoBlockingManagerPrivate;

#define DINO_TYPE_CHAT_INTERACTION (dino_chat_interaction_get_type ())
#define DINO_CHAT_INTERACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_CHAT_INTERACTION, DinoChatInteraction))
#define DINO_CHAT_INTERACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_CHAT_INTERACTION, DinoChatInteractionClass))
#define DINO_IS_CHAT_INTERACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_CHAT_INTERACTION))
#define DINO_IS_CHAT_INTERACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_CHAT_INTERACTION))
#define DINO_CHAT_INTERACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_CHAT_INTERACTION, DinoChatInteractionClass))

typedef struct _DinoChatInteraction DinoChatInteraction;
typedef struct _DinoChatInteractionClass DinoChatInteractionClass;
typedef struct _DinoChatInteractionPrivate DinoChatInteractionPrivate;

#define DINO_TYPE_CONNECTION_MANAGER (dino_connection_manager_get_type ())
#define DINO_CONNECTION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_CONNECTION_MANAGER, DinoConnectionManager))
#define DINO_CONNECTION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_CONNECTION_MANAGER, DinoConnectionManagerClass))
#define DINO_IS_CONNECTION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_CONNECTION_MANAGER))
#define DINO_IS_CONNECTION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_CONNECTION_MANAGER))
#define DINO_CONNECTION_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_CONNECTION_MANAGER, DinoConnectionManagerClass))

typedef struct _DinoConnectionManager DinoConnectionManager;
typedef struct _DinoConnectionManagerClass DinoConnectionManagerClass;
typedef struct _DinoConnectionManagerPrivate DinoConnectionManagerPrivate;
typedef enum  {
	DINO_CONNECTION_MANAGER_CONNECTION_STATE_CONNECTED,
	DINO_CONNECTION_MANAGER_CONNECTION_STATE_CONNECTING,
	DINO_CONNECTION_MANAGER_CONNECTION_STATE_DISCONNECTED
} DinoConnectionManagerConnectionState;


#define DINO_CONNECTION_MANAGER_TYPE_CONNECTION_STATE (dino_connection_manager_connection_state_get_type ())

#define DINO_TYPE_MODULE_MANAGER (dino_module_manager_get_type ())
#define DINO_MODULE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MODULE_MANAGER, DinoModuleManager))
#define DINO_MODULE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MODULE_MANAGER, DinoModuleManagerClass))
#define DINO_IS_MODULE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MODULE_MANAGER))
#define DINO_IS_MODULE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MODULE_MANAGER))
#define DINO_MODULE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MODULE_MANAGER, DinoModuleManagerClass))

typedef struct _DinoModuleManager DinoModuleManager;
typedef struct _DinoModuleManagerClass DinoModuleManagerClass;

#define DINO_CONNECTION_MANAGER_TYPE_CONNECTION_ERROR (dino_connection_manager_connection_error_get_type ())
#define DINO_CONNECTION_MANAGER_CONNECTION_ERROR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_CONNECTION_MANAGER_TYPE_CONNECTION_ERROR, DinoConnectionManagerConnectionError))
#define DINO_CONNECTION_MANAGER_CONNECTION_ERROR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_CONNECTION_MANAGER_TYPE_CONNECTION_ERROR, DinoConnectionManagerConnectionErrorClass))
#define DINO_CONNECTION_MANAGER_IS_CONNECTION_ERROR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_CONNECTION_MANAGER_TYPE_CONNECTION_ERROR))
#define DINO_CONNECTION_MANAGER_IS_CONNECTION_ERROR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_CONNECTION_MANAGER_TYPE_CONNECTION_ERROR))
#define DINO_CONNECTION_MANAGER_CONNECTION_ERROR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_CONNECTION_MANAGER_TYPE_CONNECTION_ERROR, DinoConnectionManagerConnectionErrorClass))

typedef struct _DinoConnectionManagerConnectionError DinoConnectionManagerConnectionError;
typedef struct _DinoConnectionManagerConnectionErrorClass DinoConnectionManagerConnectionErrorClass;
typedef struct _DinoConnectionManagerConnectionErrorPrivate DinoConnectionManagerConnectionErrorPrivate;
typedef enum  {
	DINO_CONNECTION_MANAGER_CONNECTION_ERROR_SOURCE_CONNECTION,
	DINO_CONNECTION_MANAGER_CONNECTION_ERROR_SOURCE_SASL,
	DINO_CONNECTION_MANAGER_CONNECTION_ERROR_SOURCE_TLS,
	DINO_CONNECTION_MANAGER_CONNECTION_ERROR_SOURCE_STREAM_ERROR
} DinoConnectionManagerConnectionErrorSource;


#define DINO_CONNECTION_MANAGER_CONNECTION_ERROR_TYPE_SOURCE (dino_connection_manager_connection_error_source_get_type ())
typedef enum  {
	DINO_CONNECTION_MANAGER_CONNECTION_ERROR_RECONNECT_NOW,
	DINO_CONNECTION_MANAGER_CONNECTION_ERROR_RECONNECT_LATER,
	DINO_CONNECTION_MANAGER_CONNECTION_ERROR_RECONNECT_NEVER
} DinoConnectionManagerConnectionErrorReconnect;


#define DINO_CONNECTION_MANAGER_CONNECTION_ERROR_TYPE_RECONNECT (dino_connection_manager_connection_error_reconnect_get_type ())

#define DINO_TYPE_CONTENT_ITEM_STORE (dino_content_item_store_get_type ())
#define DINO_CONTENT_ITEM_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_CONTENT_ITEM_STORE, DinoContentItemStore))
#define DINO_CONTENT_ITEM_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_CONTENT_ITEM_STORE, DinoContentItemStoreClass))
#define DINO_IS_CONTENT_ITEM_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_CONTENT_ITEM_STORE))
#define DINO_IS_CONTENT_ITEM_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_CONTENT_ITEM_STORE))
#define DINO_CONTENT_ITEM_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_CONTENT_ITEM_STORE, DinoContentItemStoreClass))

typedef struct _DinoContentItemStore DinoContentItemStore;
typedef struct _DinoContentItemStoreClass DinoContentItemStoreClass;
typedef struct _DinoContentItemStorePrivate DinoContentItemStorePrivate;

#define DINO_TYPE_CONTENT_ITEM_COLLECTION (dino_content_item_collection_get_type ())
#define DINO_CONTENT_ITEM_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_CONTENT_ITEM_COLLECTION, DinoContentItemCollection))
#define DINO_IS_CONTENT_ITEM_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_CONTENT_ITEM_COLLECTION))
#define DINO_CONTENT_ITEM_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_CONTENT_ITEM_COLLECTION, DinoContentItemCollectionIface))

typedef struct _DinoContentItemCollection DinoContentItemCollection;
typedef struct _DinoContentItemCollectionIface DinoContentItemCollectionIface;

#define DINO_TYPE_CONTENT_ITEM (dino_content_item_get_type ())
#define DINO_CONTENT_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_CONTENT_ITEM, DinoContentItem))
#define DINO_CONTENT_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_CONTENT_ITEM, DinoContentItemClass))
#define DINO_IS_CONTENT_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_CONTENT_ITEM))
#define DINO_IS_CONTENT_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_CONTENT_ITEM))
#define DINO_CONTENT_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_CONTENT_ITEM, DinoContentItemClass))

typedef struct _DinoContentItem DinoContentItem;
typedef struct _DinoContentItemClass DinoContentItemClass;

#define DINO_TYPE_CONTENT_FILTER (dino_content_filter_get_type ())
#define DINO_CONTENT_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_CONTENT_FILTER, DinoContentFilter))
#define DINO_IS_CONTENT_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_CONTENT_FILTER))
#define DINO_CONTENT_FILTER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_CONTENT_FILTER, DinoContentFilterIface))

typedef struct _DinoContentFilter DinoContentFilter;
typedef struct _DinoContentFilterIface DinoContentFilterIface;
typedef struct _DinoContentItemPrivate DinoContentItemPrivate;

#define DINO_TYPE_MESSAGE_ITEM (dino_message_item_get_type ())
#define DINO_MESSAGE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MESSAGE_ITEM, DinoMessageItem))
#define DINO_MESSAGE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MESSAGE_ITEM, DinoMessageItemClass))
#define DINO_IS_MESSAGE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MESSAGE_ITEM))
#define DINO_IS_MESSAGE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MESSAGE_ITEM))
#define DINO_MESSAGE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MESSAGE_ITEM, DinoMessageItemClass))

typedef struct _DinoMessageItem DinoMessageItem;
typedef struct _DinoMessageItemClass DinoMessageItemClass;
typedef struct _DinoMessageItemPrivate DinoMessageItemPrivate;

#define DINO_TYPE_FILE_ITEM (dino_file_item_get_type ())
#define DINO_FILE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_ITEM, DinoFileItem))
#define DINO_FILE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_FILE_ITEM, DinoFileItemClass))
#define DINO_IS_FILE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_ITEM))
#define DINO_IS_FILE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_FILE_ITEM))
#define DINO_FILE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_FILE_ITEM, DinoFileItemClass))

typedef struct _DinoFileItem DinoFileItem;
typedef struct _DinoFileItemClass DinoFileItemClass;
typedef struct _DinoFileItemPrivate DinoFileItemPrivate;

#define DINO_TYPE_CONVERSATION_MANAGER (dino_conversation_manager_get_type ())
#define DINO_CONVERSATION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_CONVERSATION_MANAGER, DinoConversationManager))
#define DINO_CONVERSATION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_CONVERSATION_MANAGER, DinoConversationManagerClass))
#define DINO_IS_CONVERSATION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_CONVERSATION_MANAGER))
#define DINO_IS_CONVERSATION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_CONVERSATION_MANAGER))
#define DINO_CONVERSATION_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_CONVERSATION_MANAGER, DinoConversationManagerClass))

typedef struct _DinoConversationManager DinoConversationManager;
typedef struct _DinoConversationManagerClass DinoConversationManagerClass;
typedef struct _DinoConversationManagerPrivate DinoConversationManagerPrivate;

#define DINO_TYPE_SHOW (dino_show_get_type ())
#define DINO_SHOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_SHOW, DinoShow))
#define DINO_SHOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_SHOW, DinoShowClass))
#define DINO_IS_SHOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_SHOW))
#define DINO_IS_SHOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_SHOW))
#define DINO_SHOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_SHOW, DinoShowClass))

typedef struct _DinoShow DinoShow;
typedef struct _DinoShowClass DinoShowClass;

#define DINO_TYPE_COUNTERPART_INTERACTION_MANAGER (dino_counterpart_interaction_manager_get_type ())
#define DINO_COUNTERPART_INTERACTION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_COUNTERPART_INTERACTION_MANAGER, DinoCounterpartInteractionManager))
#define DINO_COUNTERPART_INTERACTION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_COUNTERPART_INTERACTION_MANAGER, DinoCounterpartInteractionManagerClass))
#define DINO_IS_COUNTERPART_INTERACTION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_COUNTERPART_INTERACTION_MANAGER))
#define DINO_IS_COUNTERPART_INTERACTION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_COUNTERPART_INTERACTION_MANAGER))
#define DINO_COUNTERPART_INTERACTION_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_COUNTERPART_INTERACTION_MANAGER, DinoCounterpartInteractionManagerClass))

typedef struct _DinoCounterpartInteractionManager DinoCounterpartInteractionManager;
typedef struct _DinoCounterpartInteractionManagerClass DinoCounterpartInteractionManagerClass;
typedef struct _DinoCounterpartInteractionManagerPrivate DinoCounterpartInteractionManagerPrivate;
typedef struct _DinoDatabasePrivate DinoDatabasePrivate;

#define DINO_DATABASE_TYPE_ACCOUNT_TABLE (dino_database_account_table_get_type ())
#define DINO_DATABASE_ACCOUNT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_ACCOUNT_TABLE, DinoDatabaseAccountTable))
#define DINO_DATABASE_ACCOUNT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_ACCOUNT_TABLE, DinoDatabaseAccountTableClass))
#define DINO_DATABASE_IS_ACCOUNT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_ACCOUNT_TABLE))
#define DINO_DATABASE_IS_ACCOUNT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_ACCOUNT_TABLE))
#define DINO_DATABASE_ACCOUNT_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_ACCOUNT_TABLE, DinoDatabaseAccountTableClass))

typedef struct _DinoDatabaseAccountTable DinoDatabaseAccountTable;
typedef struct _DinoDatabaseAccountTableClass DinoDatabaseAccountTableClass;

#define DINO_DATABASE_TYPE_JID_TABLE (dino_database_jid_table_get_type ())
#define DINO_DATABASE_JID_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_JID_TABLE, DinoDatabaseJidTable))
#define DINO_DATABASE_JID_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_JID_TABLE, DinoDatabaseJidTableClass))
#define DINO_DATABASE_IS_JID_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_JID_TABLE))
#define DINO_DATABASE_IS_JID_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_JID_TABLE))
#define DINO_DATABASE_JID_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_JID_TABLE, DinoDatabaseJidTableClass))

typedef struct _DinoDatabaseJidTable DinoDatabaseJidTable;
typedef struct _DinoDatabaseJidTableClass DinoDatabaseJidTableClass;

#define DINO_DATABASE_TYPE_CONTENT_ITEM_TABLE (dino_database_content_item_table_get_type ())
#define DINO_DATABASE_CONTENT_ITEM_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_CONTENT_ITEM_TABLE, DinoDatabaseContentItemTable))
#define DINO_DATABASE_CONTENT_ITEM_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_CONTENT_ITEM_TABLE, DinoDatabaseContentItemTableClass))
#define DINO_DATABASE_IS_CONTENT_ITEM_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_CONTENT_ITEM_TABLE))
#define DINO_DATABASE_IS_CONTENT_ITEM_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_CONTENT_ITEM_TABLE))
#define DINO_DATABASE_CONTENT_ITEM_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_CONTENT_ITEM_TABLE, DinoDatabaseContentItemTableClass))

typedef struct _DinoDatabaseContentItemTable DinoDatabaseContentItemTable;
typedef struct _DinoDatabaseContentItemTableClass DinoDatabaseContentItemTableClass;

#define DINO_DATABASE_TYPE_MESSAGE_TABLE (dino_database_message_table_get_type ())
#define DINO_DATABASE_MESSAGE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_MESSAGE_TABLE, DinoDatabaseMessageTable))
#define DINO_DATABASE_MESSAGE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_MESSAGE_TABLE, DinoDatabaseMessageTableClass))
#define DINO_DATABASE_IS_MESSAGE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_MESSAGE_TABLE))
#define DINO_DATABASE_IS_MESSAGE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_MESSAGE_TABLE))
#define DINO_DATABASE_MESSAGE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_MESSAGE_TABLE, DinoDatabaseMessageTableClass))

typedef struct _DinoDatabaseMessageTable DinoDatabaseMessageTable;
typedef struct _DinoDatabaseMessageTableClass DinoDatabaseMessageTableClass;

#define DINO_DATABASE_TYPE_REAL_JID_TABLE (dino_database_real_jid_table_get_type ())
#define DINO_DATABASE_REAL_JID_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_REAL_JID_TABLE, DinoDatabaseRealJidTable))
#define DINO_DATABASE_REAL_JID_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_REAL_JID_TABLE, DinoDatabaseRealJidTableClass))
#define DINO_DATABASE_IS_REAL_JID_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_REAL_JID_TABLE))
#define DINO_DATABASE_IS_REAL_JID_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_REAL_JID_TABLE))
#define DINO_DATABASE_REAL_JID_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_REAL_JID_TABLE, DinoDatabaseRealJidTableClass))

typedef struct _DinoDatabaseRealJidTable DinoDatabaseRealJidTable;
typedef struct _DinoDatabaseRealJidTableClass DinoDatabaseRealJidTableClass;

#define DINO_DATABASE_TYPE_FILE_TRANSFER_TABLE (dino_database_file_transfer_table_get_type ())
#define DINO_DATABASE_FILE_TRANSFER_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_FILE_TRANSFER_TABLE, DinoDatabaseFileTransferTable))
#define DINO_DATABASE_FILE_TRANSFER_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_FILE_TRANSFER_TABLE, DinoDatabaseFileTransferTableClass))
#define DINO_DATABASE_IS_FILE_TRANSFER_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_FILE_TRANSFER_TABLE))
#define DINO_DATABASE_IS_FILE_TRANSFER_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_FILE_TRANSFER_TABLE))
#define DINO_DATABASE_FILE_TRANSFER_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_FILE_TRANSFER_TABLE, DinoDatabaseFileTransferTableClass))

typedef struct _DinoDatabaseFileTransferTable DinoDatabaseFileTransferTable;
typedef struct _DinoDatabaseFileTransferTableClass DinoDatabaseFileTransferTableClass;

#define DINO_DATABASE_TYPE_CONVERSATION_TABLE (dino_database_conversation_table_get_type ())
#define DINO_DATABASE_CONVERSATION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_CONVERSATION_TABLE, DinoDatabaseConversationTable))
#define DINO_DATABASE_CONVERSATION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_CONVERSATION_TABLE, DinoDatabaseConversationTableClass))
#define DINO_DATABASE_IS_CONVERSATION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_CONVERSATION_TABLE))
#define DINO_DATABASE_IS_CONVERSATION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_CONVERSATION_TABLE))
#define DINO_DATABASE_CONVERSATION_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_CONVERSATION_TABLE, DinoDatabaseConversationTableClass))

typedef struct _DinoDatabaseConversationTable DinoDatabaseConversationTable;
typedef struct _DinoDatabaseConversationTableClass DinoDatabaseConversationTableClass;

#define DINO_DATABASE_TYPE_AVATAR_TABLE (dino_database_avatar_table_get_type ())
#define DINO_DATABASE_AVATAR_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_AVATAR_TABLE, DinoDatabaseAvatarTable))
#define DINO_DATABASE_AVATAR_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_AVATAR_TABLE, DinoDatabaseAvatarTableClass))
#define DINO_DATABASE_IS_AVATAR_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_AVATAR_TABLE))
#define DINO_DATABASE_IS_AVATAR_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_AVATAR_TABLE))
#define DINO_DATABASE_AVATAR_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_AVATAR_TABLE, DinoDatabaseAvatarTableClass))

typedef struct _DinoDatabaseAvatarTable DinoDatabaseAvatarTable;
typedef struct _DinoDatabaseAvatarTableClass DinoDatabaseAvatarTableClass;

#define DINO_DATABASE_TYPE_ENTITY_FEATURE_TABLE (dino_database_entity_feature_table_get_type ())
#define DINO_DATABASE_ENTITY_FEATURE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_ENTITY_FEATURE_TABLE, DinoDatabaseEntityFeatureTable))
#define DINO_DATABASE_ENTITY_FEATURE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_ENTITY_FEATURE_TABLE, DinoDatabaseEntityFeatureTableClass))
#define DINO_DATABASE_IS_ENTITY_FEATURE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_ENTITY_FEATURE_TABLE))
#define DINO_DATABASE_IS_ENTITY_FEATURE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_ENTITY_FEATURE_TABLE))
#define DINO_DATABASE_ENTITY_FEATURE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_ENTITY_FEATURE_TABLE, DinoDatabaseEntityFeatureTableClass))

typedef struct _DinoDatabaseEntityFeatureTable DinoDatabaseEntityFeatureTable;
typedef struct _DinoDatabaseEntityFeatureTableClass DinoDatabaseEntityFeatureTableClass;

#define DINO_DATABASE_TYPE_ROSTER_TABLE (dino_database_roster_table_get_type ())
#define DINO_DATABASE_ROSTER_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_ROSTER_TABLE, DinoDatabaseRosterTable))
#define DINO_DATABASE_ROSTER_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_ROSTER_TABLE, DinoDatabaseRosterTableClass))
#define DINO_DATABASE_IS_ROSTER_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_ROSTER_TABLE))
#define DINO_DATABASE_IS_ROSTER_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_ROSTER_TABLE))
#define DINO_DATABASE_ROSTER_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_ROSTER_TABLE, DinoDatabaseRosterTableClass))

typedef struct _DinoDatabaseRosterTable DinoDatabaseRosterTable;
typedef struct _DinoDatabaseRosterTableClass DinoDatabaseRosterTableClass;

#define DINO_DATABASE_TYPE_SETTINGS_TABLE (dino_database_settings_table_get_type ())
#define DINO_DATABASE_SETTINGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_SETTINGS_TABLE, DinoDatabaseSettingsTable))
#define DINO_DATABASE_SETTINGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_SETTINGS_TABLE, DinoDatabaseSettingsTableClass))
#define DINO_DATABASE_IS_SETTINGS_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_SETTINGS_TABLE))
#define DINO_DATABASE_IS_SETTINGS_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_SETTINGS_TABLE))
#define DINO_DATABASE_SETTINGS_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_SETTINGS_TABLE, DinoDatabaseSettingsTableClass))

typedef struct _DinoDatabaseSettingsTable DinoDatabaseSettingsTable;
typedef struct _DinoDatabaseSettingsTableClass DinoDatabaseSettingsTableClass;
typedef struct _DinoDatabaseAccountTablePrivate DinoDatabaseAccountTablePrivate;
typedef struct _DinoDatabaseJidTablePrivate DinoDatabaseJidTablePrivate;
typedef struct _DinoDatabaseContentItemTablePrivate DinoDatabaseContentItemTablePrivate;
typedef struct _DinoDatabaseMessageTablePrivate DinoDatabaseMessageTablePrivate;
typedef struct _DinoDatabaseRealJidTablePrivate DinoDatabaseRealJidTablePrivate;

#define DINO_DATABASE_TYPE_UNDECRYPTED_TABLE (dino_database_undecrypted_table_get_type ())
#define DINO_DATABASE_UNDECRYPTED_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_DATABASE_TYPE_UNDECRYPTED_TABLE, DinoDatabaseUndecryptedTable))
#define DINO_DATABASE_UNDECRYPTED_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_DATABASE_TYPE_UNDECRYPTED_TABLE, DinoDatabaseUndecryptedTableClass))
#define DINO_DATABASE_IS_UNDECRYPTED_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_DATABASE_TYPE_UNDECRYPTED_TABLE))
#define DINO_DATABASE_IS_UNDECRYPTED_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_DATABASE_TYPE_UNDECRYPTED_TABLE))
#define DINO_DATABASE_UNDECRYPTED_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_DATABASE_TYPE_UNDECRYPTED_TABLE, DinoDatabaseUndecryptedTableClass))

typedef struct _DinoDatabaseUndecryptedTable DinoDatabaseUndecryptedTable;
typedef struct _DinoDatabaseUndecryptedTableClass DinoDatabaseUndecryptedTableClass;
typedef struct _DinoDatabaseUndecryptedTablePrivate DinoDatabaseUndecryptedTablePrivate;
typedef struct _DinoDatabaseFileTransferTablePrivate DinoDatabaseFileTransferTablePrivate;
typedef struct _DinoDatabaseConversationTablePrivate DinoDatabaseConversationTablePrivate;
typedef struct _DinoDatabaseAvatarTablePrivate DinoDatabaseAvatarTablePrivate;
typedef struct _DinoDatabaseEntityFeatureTablePrivate DinoDatabaseEntityFeatureTablePrivate;
typedef struct _DinoDatabaseRosterTablePrivate DinoDatabaseRosterTablePrivate;
typedef struct _DinoDatabaseSettingsTablePrivate DinoDatabaseSettingsTablePrivate;

#define DINO_TYPE_ENTITY_CAPABILITIES_STORAGE (dino_entity_capabilities_storage_get_type ())
#define DINO_ENTITY_CAPABILITIES_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_ENTITY_CAPABILITIES_STORAGE, DinoEntityCapabilitiesStorage))
#define DINO_ENTITY_CAPABILITIES_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_ENTITY_CAPABILITIES_STORAGE, DinoEntityCapabilitiesStorageClass))
#define DINO_IS_ENTITY_CAPABILITIES_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_ENTITY_CAPABILITIES_STORAGE))
#define DINO_IS_ENTITY_CAPABILITIES_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_ENTITY_CAPABILITIES_STORAGE))
#define DINO_ENTITY_CAPABILITIES_STORAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_ENTITY_CAPABILITIES_STORAGE, DinoEntityCapabilitiesStorageClass))

typedef struct _DinoEntityCapabilitiesStorage DinoEntityCapabilitiesStorage;
typedef struct _DinoEntityCapabilitiesStorageClass DinoEntityCapabilitiesStorageClass;
typedef struct _DinoEntityCapabilitiesStoragePrivate DinoEntityCapabilitiesStoragePrivate;

#define DINO_TYPE_FILE_MANAGER (dino_file_manager_get_type ())
#define DINO_FILE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_MANAGER, DinoFileManager))
#define DINO_FILE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_FILE_MANAGER, DinoFileManagerClass))
#define DINO_IS_FILE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_MANAGER))
#define DINO_IS_FILE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_FILE_MANAGER))
#define DINO_FILE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_FILE_MANAGER, DinoFileManagerClass))

typedef struct _DinoFileManager DinoFileManager;
typedef struct _DinoFileManagerClass DinoFileManagerClass;
typedef struct _DinoFileManagerPrivate DinoFileManagerPrivate;

#define DINO_TYPE_FILE_PROVIDER (dino_file_provider_get_type ())
#define DINO_FILE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_PROVIDER, DinoFileProvider))
#define DINO_IS_FILE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_PROVIDER))
#define DINO_FILE_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_FILE_PROVIDER, DinoFileProviderIface))

typedef struct _DinoFileProvider DinoFileProvider;
typedef struct _DinoFileProviderIface DinoFileProviderIface;

#define DINO_TYPE_FILE_META (dino_file_meta_get_type ())
#define DINO_FILE_META(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_META, DinoFileMeta))
#define DINO_FILE_META_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_FILE_META, DinoFileMetaClass))
#define DINO_IS_FILE_META(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_META))
#define DINO_IS_FILE_META_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_FILE_META))
#define DINO_FILE_META_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_FILE_META, DinoFileMetaClass))

typedef struct _DinoFileMeta DinoFileMeta;
typedef struct _DinoFileMetaClass DinoFileMetaClass;

#define DINO_TYPE_FILE_RECEIVE_DATA (dino_file_receive_data_get_type ())
#define DINO_FILE_RECEIVE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_RECEIVE_DATA, DinoFileReceiveData))
#define DINO_FILE_RECEIVE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_FILE_RECEIVE_DATA, DinoFileReceiveDataClass))
#define DINO_IS_FILE_RECEIVE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_RECEIVE_DATA))
#define DINO_IS_FILE_RECEIVE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_FILE_RECEIVE_DATA))
#define DINO_FILE_RECEIVE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_FILE_RECEIVE_DATA, DinoFileReceiveDataClass))

typedef struct _DinoFileReceiveData DinoFileReceiveData;
typedef struct _DinoFileReceiveDataClass DinoFileReceiveDataClass;

#define DINO_TYPE_FILE_SENDER (dino_file_sender_get_type ())
#define DINO_FILE_SENDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_SENDER, DinoFileSender))
#define DINO_IS_FILE_SENDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_SENDER))
#define DINO_FILE_SENDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_FILE_SENDER, DinoFileSenderIface))

typedef struct _DinoFileSender DinoFileSender;
typedef struct _DinoFileSenderIface DinoFileSenderIface;

#define DINO_TYPE_FILE_SEND_DATA (dino_file_send_data_get_type ())
#define DINO_FILE_SEND_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_SEND_DATA, DinoFileSendData))
#define DINO_FILE_SEND_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_FILE_SEND_DATA, DinoFileSendDataClass))
#define DINO_IS_FILE_SEND_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_SEND_DATA))
#define DINO_IS_FILE_SEND_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_FILE_SEND_DATA))
#define DINO_FILE_SEND_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_FILE_SEND_DATA, DinoFileSendDataClass))

typedef struct _DinoFileSendData DinoFileSendData;
typedef struct _DinoFileSendDataClass DinoFileSendDataClass;

#define DINO_TYPE_FILE_ENCRYPTOR (dino_file_encryptor_get_type ())
#define DINO_FILE_ENCRYPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_ENCRYPTOR, DinoFileEncryptor))
#define DINO_IS_FILE_ENCRYPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_ENCRYPTOR))
#define DINO_FILE_ENCRYPTOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_FILE_ENCRYPTOR, DinoFileEncryptorIface))

typedef struct _DinoFileEncryptor DinoFileEncryptor;
typedef struct _DinoFileEncryptorIface DinoFileEncryptorIface;

#define DINO_TYPE_FILE_DECRYPTOR (dino_file_decryptor_get_type ())
#define DINO_FILE_DECRYPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_FILE_DECRYPTOR, DinoFileDecryptor))
#define DINO_IS_FILE_DECRYPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_FILE_DECRYPTOR))
#define DINO_FILE_DECRYPTOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), DINO_TYPE_FILE_DECRYPTOR, DinoFileDecryptorIface))

typedef struct _DinoFileDecryptor DinoFileDecryptor;
typedef struct _DinoFileDecryptorIface DinoFileDecryptorIface;
typedef struct _DinoFileMetaPrivate DinoFileMetaPrivate;

#define DINO_TYPE_HTTP_FILE_META (dino_http_file_meta_get_type ())
#define DINO_HTTP_FILE_META(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_HTTP_FILE_META, DinoHttpFileMeta))
#define DINO_HTTP_FILE_META_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_HTTP_FILE_META, DinoHttpFileMetaClass))
#define DINO_IS_HTTP_FILE_META(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_HTTP_FILE_META))
#define DINO_IS_HTTP_FILE_META_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_HTTP_FILE_META))
#define DINO_HTTP_FILE_META_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_HTTP_FILE_META, DinoHttpFileMetaClass))

typedef struct _DinoHttpFileMeta DinoHttpFileMeta;
typedef struct _DinoHttpFileMetaClass DinoHttpFileMetaClass;
typedef struct _DinoHttpFileMetaPrivate DinoHttpFileMetaPrivate;
typedef struct _DinoFileSendDataPrivate DinoFileSendDataPrivate;

#define DINO_TYPE_HTTP_FILE_SEND_DATA (dino_http_file_send_data_get_type ())
#define DINO_HTTP_FILE_SEND_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_HTTP_FILE_SEND_DATA, DinoHttpFileSendData))
#define DINO_HTTP_FILE_SEND_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_HTTP_FILE_SEND_DATA, DinoHttpFileSendDataClass))
#define DINO_IS_HTTP_FILE_SEND_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_HTTP_FILE_SEND_DATA))
#define DINO_IS_HTTP_FILE_SEND_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_HTTP_FILE_SEND_DATA))
#define DINO_HTTP_FILE_SEND_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_HTTP_FILE_SEND_DATA, DinoHttpFileSendDataClass))

typedef struct _DinoHttpFileSendData DinoHttpFileSendData;
typedef struct _DinoHttpFileSendDataClass DinoHttpFileSendDataClass;
typedef struct _DinoHttpFileSendDataPrivate DinoHttpFileSendDataPrivate;
typedef struct _DinoFileReceiveDataPrivate DinoFileReceiveDataPrivate;

#define DINO_TYPE_HTTP_FILE_RECEIVE_DATA (dino_http_file_receive_data_get_type ())
#define DINO_HTTP_FILE_RECEIVE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_HTTP_FILE_RECEIVE_DATA, DinoHttpFileReceiveData))
#define DINO_HTTP_FILE_RECEIVE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_HTTP_FILE_RECEIVE_DATA, DinoHttpFileReceiveDataClass))
#define DINO_IS_HTTP_FILE_RECEIVE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_HTTP_FILE_RECEIVE_DATA))
#define DINO_IS_HTTP_FILE_RECEIVE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_HTTP_FILE_RECEIVE_DATA))
#define DINO_HTTP_FILE_RECEIVE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_HTTP_FILE_RECEIVE_DATA, DinoHttpFileReceiveDataClass))

typedef struct _DinoHttpFileReceiveData DinoHttpFileReceiveData;
typedef struct _DinoHttpFileReceiveDataClass DinoHttpFileReceiveDataClass;
typedef struct _DinoHttpFileReceiveDataPrivate DinoHttpFileReceiveDataPrivate;

#define DINO_TYPE_JINGLE_FILE_PROVIDER (dino_jingle_file_provider_get_type ())
#define DINO_JINGLE_FILE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_JINGLE_FILE_PROVIDER, DinoJingleFileProvider))
#define DINO_JINGLE_FILE_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_JINGLE_FILE_PROVIDER, DinoJingleFileProviderClass))
#define DINO_IS_JINGLE_FILE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_JINGLE_FILE_PROVIDER))
#define DINO_IS_JINGLE_FILE_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_JINGLE_FILE_PROVIDER))
#define DINO_JINGLE_FILE_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_JINGLE_FILE_PROVIDER, DinoJingleFileProviderClass))

typedef struct _DinoJingleFileProvider DinoJingleFileProvider;
typedef struct _DinoJingleFileProviderClass DinoJingleFileProviderClass;
typedef struct _DinoJingleFileProviderPrivate DinoJingleFileProviderPrivate;

#define DINO_TYPE_JINGLE_FILE_SENDER (dino_jingle_file_sender_get_type ())
#define DINO_JINGLE_FILE_SENDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_JINGLE_FILE_SENDER, DinoJingleFileSender))
#define DINO_JINGLE_FILE_SENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_JINGLE_FILE_SENDER, DinoJingleFileSenderClass))
#define DINO_IS_JINGLE_FILE_SENDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_JINGLE_FILE_SENDER))
#define DINO_IS_JINGLE_FILE_SENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_JINGLE_FILE_SENDER))
#define DINO_JINGLE_FILE_SENDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_JINGLE_FILE_SENDER, DinoJingleFileSenderClass))

typedef struct _DinoJingleFileSender DinoJingleFileSender;
typedef struct _DinoJingleFileSenderClass DinoJingleFileSenderClass;
typedef struct _DinoJingleFileSenderPrivate DinoJingleFileSenderPrivate;

#define DINO_TYPE_MESSAGE_PROCESSOR (dino_message_processor_get_type ())
#define DINO_MESSAGE_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MESSAGE_PROCESSOR, DinoMessageProcessor))
#define DINO_MESSAGE_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MESSAGE_PROCESSOR, DinoMessageProcessorClass))
#define DINO_IS_MESSAGE_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MESSAGE_PROCESSOR))
#define DINO_IS_MESSAGE_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MESSAGE_PROCESSOR))
#define DINO_MESSAGE_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MESSAGE_PROCESSOR, DinoMessageProcessorClass))

typedef struct _DinoMessageProcessor DinoMessageProcessor;
typedef struct _DinoMessageProcessorClass DinoMessageProcessorClass;
typedef struct _DinoMessageProcessorPrivate DinoMessageProcessorPrivate;

#define DINO_TYPE_MESSAGE_LISTENER_HOLDER (dino_message_listener_holder_get_type ())
#define DINO_MESSAGE_LISTENER_HOLDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MESSAGE_LISTENER_HOLDER, DinoMessageListenerHolder))
#define DINO_MESSAGE_LISTENER_HOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MESSAGE_LISTENER_HOLDER, DinoMessageListenerHolderClass))
#define DINO_IS_MESSAGE_LISTENER_HOLDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MESSAGE_LISTENER_HOLDER))
#define DINO_IS_MESSAGE_LISTENER_HOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MESSAGE_LISTENER_HOLDER))
#define DINO_MESSAGE_LISTENER_HOLDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MESSAGE_LISTENER_HOLDER, DinoMessageListenerHolderClass))

typedef struct _DinoMessageListenerHolder DinoMessageListenerHolder;
typedef struct _DinoMessageListenerHolderClass DinoMessageListenerHolderClass;

#define DINO_TYPE_MESSAGE_LISTENER (dino_message_listener_get_type ())
#define DINO_MESSAGE_LISTENER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MESSAGE_LISTENER, DinoMessageListener))
#define DINO_MESSAGE_LISTENER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MESSAGE_LISTENER, DinoMessageListenerClass))
#define DINO_IS_MESSAGE_LISTENER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MESSAGE_LISTENER))
#define DINO_IS_MESSAGE_LISTENER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MESSAGE_LISTENER))
#define DINO_MESSAGE_LISTENER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MESSAGE_LISTENER, DinoMessageListenerClass))

typedef struct _DinoMessageListener DinoMessageListener;
typedef struct _DinoMessageListenerClass DinoMessageListenerClass;
typedef struct _DinoMessageListenerPrivate DinoMessageListenerPrivate;
typedef struct _DinoMessageListenerHolderPrivate DinoMessageListenerHolderPrivate;

#define DINO_TYPE_MESSAGE_STORAGE (dino_message_storage_get_type ())
#define DINO_MESSAGE_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MESSAGE_STORAGE, DinoMessageStorage))
#define DINO_MESSAGE_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MESSAGE_STORAGE, DinoMessageStorageClass))
#define DINO_IS_MESSAGE_STORAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MESSAGE_STORAGE))
#define DINO_IS_MESSAGE_STORAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MESSAGE_STORAGE))
#define DINO_MESSAGE_STORAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MESSAGE_STORAGE, DinoMessageStorageClass))

typedef struct _DinoMessageStorage DinoMessageStorage;
typedef struct _DinoMessageStorageClass DinoMessageStorageClass;
typedef struct _DinoMessageStoragePrivate DinoMessageStoragePrivate;
typedef struct _DinoModuleManagerPrivate DinoModuleManagerPrivate;

#define DINO_TYPE_MUC_MANAGER (dino_muc_manager_get_type ())
#define DINO_MUC_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_MUC_MANAGER, DinoMucManager))
#define DINO_MUC_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_MUC_MANAGER, DinoMucManagerClass))
#define DINO_IS_MUC_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_MUC_MANAGER))
#define DINO_IS_MUC_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_MUC_MANAGER))
#define DINO_MUC_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_MUC_MANAGER, DinoMucManagerClass))

typedef struct _DinoMucManager DinoMucManager;
typedef struct _DinoMucManagerClass DinoMucManagerClass;
typedef struct _DinoMucManagerPrivate DinoMucManagerPrivate;
typedef void (*DinoMucManagerOnResult) (XmppJid* jid, XmppXepDataFormsDataForm* data_form, gpointer user_data);

#define DINO_TYPE_NOTIFICATION_EVENTS (dino_notification_events_get_type ())
#define DINO_NOTIFICATION_EVENTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_NOTIFICATION_EVENTS, DinoNotificationEvents))
#define DINO_NOTIFICATION_EVENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_NOTIFICATION_EVENTS, DinoNotificationEventsClass))
#define DINO_IS_NOTIFICATION_EVENTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_NOTIFICATION_EVENTS))
#define DINO_IS_NOTIFICATION_EVENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_NOTIFICATION_EVENTS))
#define DINO_NOTIFICATION_EVENTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_NOTIFICATION_EVENTS, DinoNotificationEventsClass))

typedef struct _DinoNotificationEvents DinoNotificationEvents;
typedef struct _DinoNotificationEventsClass DinoNotificationEventsClass;
typedef struct _DinoNotificationEventsPrivate DinoNotificationEventsPrivate;

#define DINO_TYPE_PRESENCE_MANAGER (dino_presence_manager_get_type ())
#define DINO_PRESENCE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_PRESENCE_MANAGER, DinoPresenceManager))
#define DINO_PRESENCE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_PRESENCE_MANAGER, DinoPresenceManagerClass))
#define DINO_IS_PRESENCE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_PRESENCE_MANAGER))
#define DINO_IS_PRESENCE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_PRESENCE_MANAGER))
#define DINO_PRESENCE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_PRESENCE_MANAGER, DinoPresenceManagerClass))

typedef struct _DinoPresenceManager DinoPresenceManager;
typedef struct _DinoPresenceManagerClass DinoPresenceManagerClass;
typedef struct _DinoPresenceManagerPrivate DinoPresenceManagerPrivate;
typedef struct _DinoShowPrivate DinoShowPrivate;

#define DINO_TYPE_REGISTER (dino_register_get_type ())
#define DINO_REGISTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_REGISTER, DinoRegister))
#define DINO_REGISTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_REGISTER, DinoRegisterClass))
#define DINO_IS_REGISTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_REGISTER))
#define DINO_IS_REGISTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_REGISTER))
#define DINO_REGISTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_REGISTER, DinoRegisterClass))

typedef struct _DinoRegister DinoRegister;
typedef struct _DinoRegisterClass DinoRegisterClass;
typedef struct _DinoRegisterPrivate DinoRegisterPrivate;

#define DINO_REGISTER_TYPE_SERVER_AVAILABILITY_RETURN (dino_register_server_availability_return_get_type ())
#define DINO_REGISTER_SERVER_AVAILABILITY_RETURN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_REGISTER_TYPE_SERVER_AVAILABILITY_RETURN, DinoRegisterServerAvailabilityReturn))
#define DINO_REGISTER_SERVER_AVAILABILITY_RETURN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_REGISTER_TYPE_SERVER_AVAILABILITY_RETURN, DinoRegisterServerAvailabilityReturnClass))
#define DINO_REGISTER_IS_SERVER_AVAILABILITY_RETURN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_REGISTER_TYPE_SERVER_AVAILABILITY_RETURN))
#define DINO_REGISTER_IS_SERVER_AVAILABILITY_RETURN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_REGISTER_TYPE_SERVER_AVAILABILITY_RETURN))
#define DINO_REGISTER_SERVER_AVAILABILITY_RETURN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_REGISTER_TYPE_SERVER_AVAILABILITY_RETURN, DinoRegisterServerAvailabilityReturnClass))

typedef struct _DinoRegisterServerAvailabilityReturn DinoRegisterServerAvailabilityReturn;
typedef struct _DinoRegisterServerAvailabilityReturnClass DinoRegisterServerAvailabilityReturnClass;
typedef struct _DinoRegisterServerAvailabilityReturnPrivate DinoRegisterServerAvailabilityReturnPrivate;

#define DINO_TYPE_ROSTER_MANAGER (dino_roster_manager_get_type ())
#define DINO_ROSTER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_ROSTER_MANAGER, DinoRosterManager))
#define DINO_ROSTER_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_ROSTER_MANAGER, DinoRosterManagerClass))
#define DINO_IS_ROSTER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_ROSTER_MANAGER))
#define DINO_IS_ROSTER_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_ROSTER_MANAGER))
#define DINO_ROSTER_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_ROSTER_MANAGER, DinoRosterManagerClass))

typedef struct _DinoRosterManager DinoRosterManager;
typedef struct _DinoRosterManagerClass DinoRosterManagerClass;
typedef struct _DinoRosterManagerPrivate DinoRosterManagerPrivate;

#define DINO_TYPE_ROSTER_STORE_IMPL (dino_roster_store_impl_get_type ())
#define DINO_ROSTER_STORE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_ROSTER_STORE_IMPL, DinoRosterStoreImpl))
#define DINO_ROSTER_STORE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_ROSTER_STORE_IMPL, DinoRosterStoreImplClass))
#define DINO_IS_ROSTER_STORE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_ROSTER_STORE_IMPL))
#define DINO_IS_ROSTER_STORE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_ROSTER_STORE_IMPL))
#define DINO_ROSTER_STORE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_ROSTER_STORE_IMPL, DinoRosterStoreImplClass))

typedef struct _DinoRosterStoreImpl DinoRosterStoreImpl;
typedef struct _DinoRosterStoreImplClass DinoRosterStoreImplClass;
typedef struct _DinoRosterStoreImplPrivate DinoRosterStoreImplPrivate;

#define DINO_TYPE_SEARCH_PROCESSOR (dino_search_processor_get_type ())
#define DINO_SEARCH_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_SEARCH_PROCESSOR, DinoSearchProcessor))
#define DINO_SEARCH_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_SEARCH_PROCESSOR, DinoSearchProcessorClass))
#define DINO_IS_SEARCH_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_SEARCH_PROCESSOR))
#define DINO_IS_SEARCH_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_SEARCH_PROCESSOR))
#define DINO_SEARCH_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_SEARCH_PROCESSOR, DinoSearchProcessorClass))

typedef struct _DinoSearchProcessor DinoSearchProcessor;
typedef struct _DinoSearchProcessorClass DinoSearchProcessorClass;
typedef struct _DinoSearchProcessorPrivate DinoSearchProcessorPrivate;

#define DINO_TYPE_SEARCH_SUGGESTION (dino_search_suggestion_get_type ())
#define DINO_SEARCH_SUGGESTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_SEARCH_SUGGESTION, DinoSearchSuggestion))
#define DINO_SEARCH_SUGGESTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_SEARCH_SUGGESTION, DinoSearchSuggestionClass))
#define DINO_IS_SEARCH_SUGGESTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_SEARCH_SUGGESTION))
#define DINO_IS_SEARCH_SUGGESTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_SEARCH_SUGGESTION))
#define DINO_SEARCH_SUGGESTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_SEARCH_SUGGESTION, DinoSearchSuggestionClass))

typedef struct _DinoSearchSuggestion DinoSearchSuggestion;
typedef struct _DinoSearchSuggestionClass DinoSearchSuggestionClass;
typedef struct _DinoSearchSuggestionPrivate DinoSearchSuggestionPrivate;
typedef struct _DinoStreamInteractorPrivate DinoStreamInteractorPrivate;
typedef struct _DinoModuleIdentityPrivate DinoModuleIdentityPrivate;

#define DINO_TYPE_UTIL (dino_util_get_type ())
#define DINO_UTIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DINO_TYPE_UTIL, DinoUtil))
#define DINO_UTIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DINO_TYPE_UTIL, DinoUtilClass))
#define DINO_IS_UTIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DINO_TYPE_UTIL))
#define DINO_IS_UTIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DINO_TYPE_UTIL))
#define DINO_UTIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DINO_TYPE_UTIL, DinoUtilClass))

typedef struct _DinoUtil DinoUtil;
typedef struct _DinoUtilClass DinoUtilClass;
typedef struct _DinoUtilPrivate DinoUtilPrivate;
typedef struct _DinoSearchPathGeneratorPrivate DinoSearchPathGeneratorPrivate;

struct _DinoApplicationIface {
	GTypeInterface parent_iface;
	void (*handle_uri) (DinoApplication* self, const gchar* jid, const gchar* query, GeeMap* options);
	DinoDatabase* (*get_db) (DinoApplication* self);
	void (*set_db) (DinoApplication* self, DinoDatabase* value);
	DinoEntitiesSettings* (*get_settings) (DinoApplication* self);
	void (*set_settings) (DinoApplication* self, DinoEntitiesSettings* value);
	DinoStreamInteractor* (*get_stream_interactor) (DinoApplication* self);
	void (*set_stream_interactor) (DinoApplication* self, DinoStreamInteractor* value);
	DinoPluginsRegistry* (*get_plugin_registry) (DinoApplication* self);
	void (*set_plugin_registry) (DinoApplication* self, DinoPluginsRegistry* value);
	DinoSearchPathGenerator* (*get_search_path_generator) (DinoApplication* self);
	void (*set_search_path_generator) (DinoApplication* self, DinoSearchPathGenerator* value);
};

struct _DinoLogin1ManagerIface {
	GTypeInterface parent_iface;
};

struct _DinoUPowerIface {
	GTypeInterface parent_iface;
};

struct _DinoEntitiesAccount {
	GObject parent_instance;
	DinoEntitiesAccountPrivate * priv;
};

struct _DinoEntitiesAccountClass {
	GObjectClass parent_class;
};

struct _DinoEntitiesConversation {
	GObject parent_instance;
	DinoEntitiesConversationPrivate * priv;
};

struct _DinoEntitiesConversationClass {
	GObjectClass parent_class;
};

struct _DinoEntitiesFileTransfer {
	GObject parent_instance;
	DinoEntitiesFileTransferPrivate * priv;
};

struct _DinoEntitiesFileTransferClass {
	GObjectClass parent_class;
};

struct _DinoEntitiesMessage {
	GObject parent_instance;
	DinoEntitiesMessagePrivate * priv;
};

struct _DinoEntitiesMessageClass {
	GObjectClass parent_class;
};

struct _DinoEntitiesSettings {
	GObject parent_instance;
	DinoEntitiesSettingsPrivate * priv;
};

struct _DinoEntitiesSettingsClass {
	GObjectClass parent_class;
};

struct _DinoPluginsRootInterfaceIface {
	GTypeInterface parent_iface;
	void (*registered) (DinoPluginsRootInterface* self, DinoApplication* app);
	void (*shutdown) (DinoPluginsRootInterface* self);
};

struct _DinoPluginsEncryptionListEntryIface {
	GTypeInterface parent_iface;
	void (*encryption_activated) (DinoPluginsEncryptionListEntry* self, DinoEntitiesConversation* conversation, DinoPluginsSetInputFieldStatus callback, gpointer callback_target);
	DinoEntitiesEncryption (*get_encryption) (DinoPluginsEncryptionListEntry* self);
	const gchar* (*get_name) (DinoPluginsEncryptionListEntry* self);
};

struct _DinoPluginsAccountSettingsWidgetIface {
	GTypeInterface parent_iface;
	void (*set_account) (DinoPluginsAccountSettingsWidget* self, DinoEntitiesAccount* account);
	void (*deactivate) (DinoPluginsAccountSettingsWidget* self);
};

struct _DinoPluginsAccountSettingsEntry {
	GObject parent_instance;
	DinoPluginsAccountSettingsEntryPrivate * priv;
};

struct _DinoPluginsAccountSettingsEntryClass {
	GObjectClass parent_class;
	DinoPluginsAccountSettingsWidget* (*get_widget) (DinoPluginsAccountSettingsEntry* self, DinoPluginsWidgetType type);
	const gchar* (*get_id) (DinoPluginsAccountSettingsEntry* self);
	DinoPluginsPriority (*get_priority) (DinoPluginsAccountSettingsEntry* self);
	const gchar* (*get_name) (DinoPluginsAccountSettingsEntry* self);
	gint16 (*get_label_top_padding) (DinoPluginsAccountSettingsEntry* self);
};

struct _DinoPluginsContactDetailsProviderIface {
	GTypeInterface parent_iface;
	void (*populate) (DinoPluginsContactDetailsProvider* self, DinoEntitiesConversation* conversation, DinoPluginsContactDetails* contact_details, DinoPluginsWidgetType type);
	const gchar* (*get_id) (DinoPluginsContactDetailsProvider* self);
};

struct _DinoPluginsContactDetails {
	GObject parent_instance;
	DinoPluginsContactDetailsPrivate * priv;
};

struct _DinoPluginsContactDetailsClass {
	GObjectClass parent_class;
};

struct _DinoPluginsTextCommandIface {
	GTypeInterface parent_iface;
	gchar* (*handle_command) (DinoPluginsTextCommand* self, const gchar* text, DinoEntitiesConversation* conversation);
	const gchar* (*get_cmd) (DinoPluginsTextCommand* self);
};

struct _DinoPluginsConversationTitlebarWidgetIface {
	GTypeInterface parent_iface;
	void (*set_conversation) (DinoPluginsConversationTitlebarWidget* self, DinoEntitiesConversation* conversation);
};

struct _DinoPluginsConversationTitlebarEntryIface {
	GTypeInterface parent_iface;
	DinoPluginsConversationTitlebarWidget* (*get_widget) (DinoPluginsConversationTitlebarEntry* self, DinoPluginsWidgetType type);
	const gchar* (*get_id) (DinoPluginsConversationTitlebarEntry* self);
	gdouble (*get_order) (DinoPluginsConversationTitlebarEntry* self);
};

struct _DinoPluginsConversationItemCollectionIface {
	GTypeInterface parent_iface;
	void (*insert_item) (DinoPluginsConversationItemCollection* self, DinoPluginsMetaConversationItem* item);
	void (*remove_item) (DinoPluginsConversationItemCollection* self, DinoPluginsMetaConversationItem* item);
};

struct _DinoPluginsConversationItemPopulatorIface {
	GTypeInterface parent_iface;
	void (*init) (DinoPluginsConversationItemPopulator* self, DinoEntitiesConversation* conversation, DinoPluginsConversationItemCollection* summary, DinoPluginsWidgetType type);
	void (*close) (DinoPluginsConversationItemPopulator* self, DinoEntitiesConversation* conversation);
	const gchar* (*get_id) (DinoPluginsConversationItemPopulator* self);
};

struct _DinoPluginsConversationAdditionPopulatorIface {
	GTypeInterface parent_iface;
	void (*populate_timespan) (DinoPluginsConversationAdditionPopulator* self, DinoEntitiesConversation* conversation, GDateTime* from, GDateTime* to);
};

struct _DinoPluginsNotificationCollectionIface {
	GTypeInterface parent_iface;
};

struct _DinoPluginsNotificationPopulatorIface {
	GTypeInterface parent_iface;
	void (*init) (DinoPluginsNotificationPopulator* self, DinoEntitiesConversation* conversation, DinoPluginsNotificationCollection* summary, DinoPluginsWidgetType type);
	void (*close) (DinoPluginsNotificationPopulator* self, DinoEntitiesConversation* conversation);
	const gchar* (*get_id) (DinoPluginsNotificationPopulator* self);
};

struct _DinoPluginsMetaConversationItem {
	GObject parent_instance;
	DinoPluginsMetaConversationItemPrivate * priv;
};

struct _DinoPluginsMetaConversationItemClass {
	GObjectClass parent_class;
	GObject* (*get_widget) (DinoPluginsMetaConversationItem* self, DinoPluginsWidgetType type);
	const gchar* (*get_populator_id) (DinoPluginsMetaConversationItem* self);
	void (*set_populator_id) (DinoPluginsMetaConversationItem* self, const gchar* value);
	XmppJid* (*get_jid) (DinoPluginsMetaConversationItem* self);
	void (*set_jid) (DinoPluginsMetaConversationItem* self, XmppJid* value);
	gboolean (*get_dim) (DinoPluginsMetaConversationItem* self);
	void (*set_dim) (DinoPluginsMetaConversationItem* self, gboolean value);
	GDateTime* (*get_sort_time) (DinoPluginsMetaConversationItem* self);
	void (*set_sort_time) (DinoPluginsMetaConversationItem* self, GDateTime* value);
	glong (*get_seccondary_sort_indicator) (DinoPluginsMetaConversationItem* self);
	void (*set_seccondary_sort_indicator) (DinoPluginsMetaConversationItem* self, glong value);
	glong (*get_tertiary_sort_indicator) (DinoPluginsMetaConversationItem* self);
	void (*set_tertiary_sort_indicator) (DinoPluginsMetaConversationItem* self, glong value);
	GDateTime* (*get_display_time) (DinoPluginsMetaConversationItem* self);
	void (*set_display_time) (DinoPluginsMetaConversationItem* self, GDateTime* value);
	DinoEntitiesEncryption* (*get_encryption) (DinoPluginsMetaConversationItem* self);
	void (*set_encryption) (DinoPluginsMetaConversationItem* self, DinoEntitiesEncryption* value);
	DinoEntitiesMessageMarked* (*get_mark) (DinoPluginsMetaConversationItem* self);
	void (*set_mark) (DinoPluginsMetaConversationItem* self, DinoEntitiesMessageMarked* value);
	gboolean (*get_can_merge) (DinoPluginsMetaConversationItem* self);
	void (*set_can_merge) (DinoPluginsMetaConversationItem* self, gboolean value);
	gboolean (*get_requires_avatar) (DinoPluginsMetaConversationItem* self);
	void (*set_requires_avatar) (DinoPluginsMetaConversationItem* self, gboolean value);
	gboolean (*get_requires_header) (DinoPluginsMetaConversationItem* self);
	void (*set_requires_header) (DinoPluginsMetaConversationItem* self, gboolean value);
};

struct _DinoPluginsMetaConversationNotification {
	GObject parent_instance;
	DinoPluginsMetaConversationNotificationPrivate * priv;
};

struct _DinoPluginsMetaConversationNotificationClass {
	GObjectClass parent_class;
	GObject* (*get_widget) (DinoPluginsMetaConversationNotification* self, DinoPluginsWidgetType type);
};

struct _DinoPluginsInputFieldStatus {
	GObject parent_instance;
	DinoPluginsInputFieldStatusPrivate * priv;
	gchar* message;
	DinoPluginsInputFieldStatusMessageType message_type;
	DinoPluginsInputFieldStatusInputState input_state;
};

struct _DinoPluginsInputFieldStatusClass {
	GObjectClass parent_class;
};

struct _DinoPluginsLoader {
	GObject parent_instance;
	DinoPluginsLoaderPrivate * priv;
};

struct _DinoPluginsLoaderClass {
	GObjectClass parent_class;
};

struct _DinoPluginsRegistry {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoPluginsRegistryPrivate * priv;
	GeeArrayList* encryption_list_entries;
	GeeArrayList* account_settings_entries;
	GeeArrayList* contact_details_entries;
	GeeMap* text_commands;
	GeeList* conversation_addition_populators;
	GeeList* notification_populators;
	GeeCollection* conversation_titlebar_entries;
};

struct _DinoPluginsRegistryClass {
	GTypeClass parent_class;
	void (*finalize) (DinoPluginsRegistry *self);
};

struct _DinoStreamInteractionModuleIface {
	GTypeInterface parent_iface;
	const gchar* (*get_id) (DinoStreamInteractionModule* self);
};

struct _DinoAvatarManager {
	GObject parent_instance;
	DinoAvatarManagerPrivate * priv;
};

struct _DinoAvatarManagerClass {
	GObjectClass parent_class;
};

struct _DinoAvatarStorage {
	GObject parent_instance;
	DinoAvatarStoragePrivate * priv;
};

struct _DinoAvatarStorageClass {
	GObjectClass parent_class;
};

struct _DinoBlockingManager {
	GObject parent_instance;
	DinoBlockingManagerPrivate * priv;
};

struct _DinoBlockingManagerClass {
	GObjectClass parent_class;
};

struct _DinoChatInteraction {
	GObject parent_instance;
	DinoChatInteractionPrivate * priv;
};

struct _DinoChatInteractionClass {
	GObjectClass parent_class;
};

struct _DinoConnectionManager {
	GObject parent_instance;
	DinoConnectionManagerPrivate * priv;
	gchar* log_options;
};

struct _DinoConnectionManagerClass {
	GObjectClass parent_class;
};

struct _DinoConnectionManagerConnectionError {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoConnectionManagerConnectionErrorPrivate * priv;
	DinoConnectionManagerConnectionErrorSource source;
	gchar* identifier;
};

struct _DinoConnectionManagerConnectionErrorClass {
	GTypeClass parent_class;
	void (*finalize) (DinoConnectionManagerConnectionError *self);
};

struct _DinoContentItemStore {
	GObject parent_instance;
	DinoContentItemStorePrivate * priv;
};

struct _DinoContentItemStoreClass {
	GObjectClass parent_class;
};

struct _DinoContentItemCollectionIface {
	GTypeInterface parent_iface;
	void (*insert_item) (DinoContentItemCollection* self, DinoContentItem* item);
	void (*remove_item) (DinoContentItemCollection* self, DinoContentItem* item);
};

struct _DinoContentFilterIface {
	GTypeInterface parent_iface;
	gboolean (*discard) (DinoContentFilter* self, DinoContentItem* content_item);
};

struct _DinoContentItem {
	GObject parent_instance;
	DinoContentItemPrivate * priv;
};

struct _DinoContentItemClass {
	GObjectClass parent_class;
};

struct _DinoMessageItem {
	DinoContentItem parent_instance;
	DinoMessageItemPrivate * priv;
	DinoEntitiesMessage* message;
	DinoEntitiesConversation* conversation;
};

struct _DinoMessageItemClass {
	DinoContentItemClass parent_class;
};

struct _DinoFileItem {
	DinoContentItem parent_instance;
	DinoFileItemPrivate * priv;
	DinoEntitiesFileTransfer* file_transfer;
	DinoEntitiesConversation* conversation;
};

struct _DinoFileItemClass {
	DinoContentItemClass parent_class;
};

struct _DinoConversationManager {
	GObject parent_instance;
	DinoConversationManagerPrivate * priv;
};

struct _DinoConversationManagerClass {
	GObjectClass parent_class;
};

struct _DinoCounterpartInteractionManager {
	GObject parent_instance;
	DinoCounterpartInteractionManagerPrivate * priv;
};

struct _DinoCounterpartInteractionManagerClass {
	GObjectClass parent_class;
};

struct _DinoDatabase {
	QliteDatabase parent_instance;
	DinoDatabasePrivate * priv;
	GeeMap* jid_table_cache;
	GeeMap* jid_table_reverse;
	GeeMap* account_table_cache;
};

struct _DinoDatabaseClass {
	QliteDatabaseClass parent_class;
};

struct _DinoDatabaseAccountTable {
	QliteTable parent_instance;
	DinoDatabaseAccountTablePrivate * priv;
	QliteColumn* id;
	QliteColumn* bare_jid;
	QliteColumn* resourcepart;
	QliteColumn* password;
	QliteColumn* alias;
	QliteColumn* enabled;
	QliteColumn* roster_version;
	QliteColumn* mam_earliest_synced;
};

struct _DinoDatabaseAccountTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseJidTable {
	QliteTable parent_instance;
	DinoDatabaseJidTablePrivate * priv;
	QliteColumn* id;
	QliteColumn* bare_jid;
};

struct _DinoDatabaseJidTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseContentItemTable {
	QliteTable parent_instance;
	DinoDatabaseContentItemTablePrivate * priv;
	QliteColumn* id;
	QliteColumn* conversation_id;
	QliteColumn* time;
	QliteColumn* local_time;
	QliteColumn* content_type;
	QliteColumn* foreign_id;
	QliteColumn* hide;
};

struct _DinoDatabaseContentItemTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseMessageTable {
	QliteTable parent_instance;
	DinoDatabaseMessageTablePrivate * priv;
	QliteColumn* id;
	QliteColumn* stanza_id;
	QliteColumn* account_id;
	QliteColumn* counterpart_id;
	QliteColumn* counterpart_resource;
	QliteColumn* our_resource;
	QliteColumn* direction;
	QliteColumn* type_;
	QliteColumn* time;
	QliteColumn* local_time;
	QliteColumn* body;
	QliteColumn* encryption;
	QliteColumn* marked;
};

struct _DinoDatabaseMessageTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseRealJidTable {
	QliteTable parent_instance;
	DinoDatabaseRealJidTablePrivate * priv;
	QliteColumn* message_id;
	QliteColumn* real_jid;
};

struct _DinoDatabaseRealJidTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseUndecryptedTable {
	QliteTable parent_instance;
	DinoDatabaseUndecryptedTablePrivate * priv;
	QliteColumn* message_id;
	QliteColumn* type_;
	QliteColumn* data;
};

struct _DinoDatabaseUndecryptedTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseFileTransferTable {
	QliteTable parent_instance;
	DinoDatabaseFileTransferTablePrivate * priv;
	QliteColumn* id;
	QliteColumn* account_id;
	QliteColumn* counterpart_id;
	QliteColumn* counterpart_resource;
	QliteColumn* our_resource;
	QliteColumn* direction;
	QliteColumn* time;
	QliteColumn* local_time;
	QliteColumn* encryption;
	QliteColumn* file_name;
	QliteColumn* path;
	QliteColumn* mime_type;
	QliteColumn* size;
	QliteColumn* state;
	QliteColumn* provider;
	QliteColumn* info;
};

struct _DinoDatabaseFileTransferTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseConversationTable {
	QliteTable parent_instance;
	DinoDatabaseConversationTablePrivate * priv;
	QliteColumn* id;
	QliteColumn* account_id;
	QliteColumn* jid_id;
	QliteColumn* resource;
	QliteColumn* active;
	QliteColumn* last_active;
	QliteColumn* type_;
	QliteColumn* encryption;
	QliteColumn* read_up_to;
	QliteColumn* notification;
	QliteColumn* send_typing;
	QliteColumn* send_marker;
};

struct _DinoDatabaseConversationTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseAvatarTable {
	QliteTable parent_instance;
	DinoDatabaseAvatarTablePrivate * priv;
	QliteColumn* jid;
	QliteColumn* hash;
	QliteColumn* type_;
};

struct _DinoDatabaseAvatarTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseEntityFeatureTable {
	QliteTable parent_instance;
	DinoDatabaseEntityFeatureTablePrivate * priv;
	QliteColumn* entity;
	QliteColumn* feature;
};

struct _DinoDatabaseEntityFeatureTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseRosterTable {
	QliteTable parent_instance;
	DinoDatabaseRosterTablePrivate * priv;
	QliteColumn* account_id;
	QliteColumn* jid;
	QliteColumn* handle;
	QliteColumn* subscription;
};

struct _DinoDatabaseRosterTableClass {
	QliteTableClass parent_class;
};

struct _DinoDatabaseSettingsTable {
	QliteTable parent_instance;
	DinoDatabaseSettingsTablePrivate * priv;
	QliteColumn* id;
	QliteColumn* key;
	QliteColumn* value;
};

struct _DinoDatabaseSettingsTableClass {
	QliteTableClass parent_class;
};

struct _DinoEntityCapabilitiesStorage {
	GObject parent_instance;
	DinoEntityCapabilitiesStoragePrivate * priv;
};

struct _DinoEntityCapabilitiesStorageClass {
	GObjectClass parent_class;
};

struct _DinoFileManager {
	GObject parent_instance;
	DinoFileManagerPrivate * priv;
};

struct _DinoFileManagerClass {
	GObjectClass parent_class;
};

typedef enum  {
	DINO_FILE_RECEIVE_ERROR_GET_METADATA_FAILED,
	DINO_FILE_RECEIVE_ERROR_DECRYPTION_FAILED,
	DINO_FILE_RECEIVE_ERROR_DOWNLOAD_FAILED
} DinoFileReceiveError;
#define DINO_FILE_RECEIVE_ERROR dino_file_receive_error_quark ()
struct _DinoFileProviderIface {
	GTypeInterface parent_iface;
	DinoFileMeta* (*get_file_meta) (DinoFileProvider* self, DinoEntitiesFileTransfer* file_transfer, GError** error);
	DinoFileReceiveData* (*get_file_receive_data) (DinoFileProvider* self, DinoEntitiesFileTransfer* file_transfer);
	void (*get_meta_info) (DinoFileProvider* self, DinoEntitiesFileTransfer* file_transfer, DinoFileReceiveData* receive_data, DinoFileMeta* file_meta, GAsyncReadyCallback _callback_, gpointer _user_data_);
	DinoFileMeta* (*get_meta_info_finish) (DinoFileProvider* self, GAsyncResult* _res_, GError** error);
	void (*download) (DinoFileProvider* self, DinoEntitiesFileTransfer* file_transfer, DinoFileReceiveData* receive_data, DinoFileMeta* file_meta, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GInputStream* (*download_finish) (DinoFileProvider* self, GAsyncResult* _res_, GError** error);
	gint (*get_id) (DinoFileProvider* self);
};

typedef enum  {
	DINO_FILE_SEND_ERROR_ENCRYPTION_FAILED,
	DINO_FILE_SEND_ERROR_UPLOAD_FAILED,
	DINO_FILE_SEND_ERROR_SAVE_FAILED
} DinoFileSendError;
#define DINO_FILE_SEND_ERROR dino_file_send_error_quark ()
struct _DinoFileSenderIface {
	GTypeInterface parent_iface;
	gboolean (*is_upload_available) (DinoFileSender* self, DinoEntitiesConversation* conversation);
	gboolean (*can_send) (DinoFileSender* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer);
	void (*prepare_send_file) (DinoFileSender* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, GAsyncReadyCallback _callback_, gpointer _user_data_);
	DinoFileSendData* (*prepare_send_file_finish) (DinoFileSender* self, GAsyncResult* _res_, GError** error);
	void (*send_file) (DinoFileSender* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, DinoFileSendData* file_send_data, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*send_file_finish) (DinoFileSender* self, GAsyncResult* _res_, GError** error);
	gint (*get_id) (DinoFileSender* self);
	gfloat (*get_priority) (DinoFileSender* self);
};

struct _DinoFileEncryptorIface {
	GTypeInterface parent_iface;
	gboolean (*can_encrypt_file) (DinoFileEncryptor* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer);
	DinoFileMeta* (*encrypt_file) (DinoFileEncryptor* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, GError** error);
	DinoFileSendData* (*preprocess_send_file) (DinoFileEncryptor* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, DinoFileSendData* file_send_data, DinoFileMeta* file_meta, GError** error);
};

struct _DinoFileDecryptorIface {
	GTypeInterface parent_iface;
	DinoFileReceiveData* (*prepare_get_meta_info) (DinoFileDecryptor* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, DinoFileReceiveData* receive_data);
	DinoFileMeta* (*prepare_download_file) (DinoFileDecryptor* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, DinoFileReceiveData* receive_data, DinoFileMeta* file_meta);
	gboolean (*can_decrypt_file) (DinoFileDecryptor* self, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, DinoFileReceiveData* receive_data);
	void (*decrypt_file) (DinoFileDecryptor* self, GInputStream* encrypted_stream, DinoEntitiesConversation* conversation, DinoEntitiesFileTransfer* file_transfer, DinoFileReceiveData* receive_data, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GInputStream* (*decrypt_file_finish) (DinoFileDecryptor* self, GAsyncResult* _res_, GError** error);
};

struct _DinoFileMeta {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoFileMetaPrivate * priv;
	gint64 size;
	gchar* mime_type;
	gchar* file_name;
	DinoEntitiesEncryption encryption;
};

struct _DinoFileMetaClass {
	GTypeClass parent_class;
	void (*finalize) (DinoFileMeta *self);
};

struct _DinoHttpFileMeta {
	DinoFileMeta parent_instance;
	DinoHttpFileMetaPrivate * priv;
	DinoEntitiesMessage* message;
};

struct _DinoHttpFileMetaClass {
	DinoFileMetaClass parent_class;
};

struct _DinoFileSendData {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoFileSendDataPrivate * priv;
};

struct _DinoFileSendDataClass {
	GTypeClass parent_class;
	void (*finalize) (DinoFileSendData *self);
};

struct _DinoHttpFileSendData {
	DinoFileSendData parent_instance;
	DinoHttpFileSendDataPrivate * priv;
};

struct _DinoHttpFileSendDataClass {
	DinoFileSendDataClass parent_class;
};

struct _DinoFileReceiveData {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoFileReceiveDataPrivate * priv;
};

struct _DinoFileReceiveDataClass {
	GTypeClass parent_class;
	void (*finalize) (DinoFileReceiveData *self);
};

struct _DinoHttpFileReceiveData {
	DinoFileReceiveData parent_instance;
	DinoHttpFileReceiveDataPrivate * priv;
};

struct _DinoHttpFileReceiveDataClass {
	DinoFileReceiveDataClass parent_class;
};

struct _DinoJingleFileProvider {
	GObject parent_instance;
	DinoJingleFileProviderPrivate * priv;
};

struct _DinoJingleFileProviderClass {
	GObjectClass parent_class;
};

struct _DinoJingleFileSender {
	GObject parent_instance;
	DinoJingleFileSenderPrivate * priv;
};

struct _DinoJingleFileSenderClass {
	GObjectClass parent_class;
};

struct _DinoMessageProcessor {
	GObject parent_instance;
	DinoMessageProcessorPrivate * priv;
	DinoMessageListenerHolder* received_pipeline;
};

struct _DinoMessageProcessorClass {
	GObjectClass parent_class;
};

struct _DinoMessageListener {
	XmppOrderedListener parent_instance;
	DinoMessageListenerPrivate * priv;
};

struct _DinoMessageListenerClass {
	XmppOrderedListenerClass parent_class;
	void (*run) (DinoMessageListener* self, DinoEntitiesMessage* message, XmppMessageStanza* stanza, DinoEntitiesConversation* conversation, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*run_finish) (DinoMessageListener* self, GAsyncResult* _res_);
};

struct _DinoMessageListenerHolder {
	XmppListenerHolder parent_instance;
	DinoMessageListenerHolderPrivate * priv;
};

struct _DinoMessageListenerHolderClass {
	XmppListenerHolderClass parent_class;
};

struct _DinoMessageStorage {
	GObject parent_instance;
	DinoMessageStoragePrivate * priv;
};

struct _DinoMessageStorageClass {
	GObjectClass parent_class;
};

struct _DinoModuleManager {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoModuleManagerPrivate * priv;
};

struct _DinoModuleManagerClass {
	GTypeClass parent_class;
	void (*finalize) (DinoModuleManager *self);
};

struct _DinoMucManager {
	GObject parent_instance;
	DinoMucManagerPrivate * priv;
};

struct _DinoMucManagerClass {
	GObjectClass parent_class;
};

struct _DinoNotificationEvents {
	GObject parent_instance;
	DinoNotificationEventsPrivate * priv;
};

struct _DinoNotificationEventsClass {
	GObjectClass parent_class;
};

struct _DinoPresenceManager {
	GObject parent_instance;
	DinoPresenceManagerPrivate * priv;
};

struct _DinoPresenceManagerClass {
	GObjectClass parent_class;
};

struct _DinoShow {
	GObject parent_instance;
	DinoShowPrivate * priv;
	XmppJid* jid;
	gchar* as;
	GDateTime* datetime;
};

struct _DinoShowClass {
	GObjectClass parent_class;
};

struct _DinoRegister {
	GObject parent_instance;
	DinoRegisterPrivate * priv;
};

struct _DinoRegisterClass {
	GObjectClass parent_class;
};

struct _DinoRegisterServerAvailabilityReturn {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoRegisterServerAvailabilityReturnPrivate * priv;
};

struct _DinoRegisterServerAvailabilityReturnClass {
	GTypeClass parent_class;
	void (*finalize) (DinoRegisterServerAvailabilityReturn *self);
};

struct _DinoRosterManager {
	GObject parent_instance;
	DinoRosterManagerPrivate * priv;
};

struct _DinoRosterManagerClass {
	GObjectClass parent_class;
};

struct _DinoRosterStoreImpl {
	GObject parent_instance;
	DinoRosterStoreImplPrivate * priv;
};

struct _DinoRosterStoreImplClass {
	GObjectClass parent_class;
};

struct _DinoSearchProcessor {
	GObject parent_instance;
	DinoSearchProcessorPrivate * priv;
};

struct _DinoSearchProcessorClass {
	GObjectClass parent_class;
};

struct _DinoSearchSuggestion {
	GObject parent_instance;
	DinoSearchSuggestionPrivate * priv;
};

struct _DinoSearchSuggestionClass {
	GObjectClass parent_class;
};

struct _DinoStreamInteractor {
	GObject parent_instance;
	DinoStreamInteractorPrivate * priv;
	DinoModuleManager* module_manager;
	DinoConnectionManager* connection_manager;
};

struct _DinoStreamInteractorClass {
	GObjectClass parent_class;
};

struct _DinoModuleIdentity {
	GObject parent_instance;
	DinoModuleIdentityPrivate * priv;
};

struct _DinoModuleIdentityClass {
	GObjectClass parent_class;
};

struct _DinoUtil {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoUtilPrivate * priv;
};

struct _DinoUtilClass {
	GTypeClass parent_class;
	void (*finalize) (DinoUtil *self);
};

struct _DinoSearchPathGenerator {
	GTypeInstance parent_instance;
	volatile int ref_count;
	DinoSearchPathGeneratorPrivate * priv;
};

struct _DinoSearchPathGeneratorClass {
	GTypeClass parent_class;
	void (*finalize) (DinoSearchPathGenerator *self);
};


GType dino_database_get_type (void) G_GNUC_CONST;
GType dino_entities_settings_get_type (void) G_GNUC_CONST;
GType dino_stream_interactor_get_type (void) G_GNUC_CONST;
gpointer dino_plugins_registry_ref (gpointer instance);
void dino_plugins_registry_unref (gpointer instance);
GParamSpec* dino_plugins_param_spec_registry (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags);
void dino_plugins_value_set_registry (GValue* value,
                                      gpointer v_object);
void dino_plugins_value_take_registry (GValue* value,
                                       gpointer v_object);
gpointer dino_plugins_value_get_registry (const GValue* value);
GType dino_plugins_registry_get_type (void) G_GNUC_CONST;
gpointer dino_search_path_generator_ref (gpointer instance);
void dino_search_path_generator_unref (gpointer instance);
GParamSpec* dino_param_spec_search_path_generator (const gchar* name,
                                                   const gchar* nick,
                                                   const gchar* blurb,
                                                   GType object_type,
                                                   GParamFlags flags);
void dino_value_set_search_path_generator (GValue* value,
                                           gpointer v_object);
void dino_value_take_search_path_generator (GValue* value,
                                            gpointer v_object);
gpointer dino_value_get_search_path_generator (const GValue* value);
GType dino_search_path_generator_get_type (void) G_GNUC_CONST;
GType dino_application_get_type (void) G_GNUC_CONST;
void dino_application_handle_uri (DinoApplication* self,
                                  const gchar* jid,
                                  const gchar* query,
                                  GeeMap* options);
void dino_application_init (DinoApplication* self,
                            GError** error);
gchar* dino_application_get_storage_dir (void);
DinoApplication* dino_application_get_default (void);
void dino_application_create_actions (DinoApplication* self);
GType dino_entities_account_get_type (void) G_GNUC_CONST;
void dino_application_add_connection (DinoApplication* self,
                                      DinoEntitiesAccount* account);
void dino_application_remove_connection (DinoApplication* self,
                                         DinoEntitiesAccount* account);
DinoDatabase* dino_application_get_db (DinoApplication* self);
void dino_application_set_db (DinoApplication* self,
                              DinoDatabase* value);
DinoEntitiesSettings* dino_application_get_settings (DinoApplication* self);
void dino_application_set_settings (DinoApplication* self,
                                    DinoEntitiesSettings* value);
DinoStreamInteractor* dino_application_get_stream_interactor (DinoApplication* self);
void dino_application_set_stream_interactor (DinoApplication* self,
                                             DinoStreamInteractor* value);
DinoPluginsRegistry* dino_application_get_plugin_registry (DinoApplication* self);
void dino_application_set_plugin_registry (DinoApplication* self,
                                           DinoPluginsRegistry* value);
DinoSearchPathGenerator* dino_application_get_search_path_generator (DinoApplication* self);
void dino_application_set_search_path_generator (DinoApplication* self,
                                                 DinoSearchPathGenerator* value);
GType dino_login1_manager_get_type (void) G_GNUC_CONST;
GType dino_login1_manager_proxy_get_type (void) G_GNUC_CONST;
guint dino_login1_manager_register_object (void* object,
                                           GDBusConnection* connection,
                                           const gchar* path,
                                           GError** error);
DinoLogin1Manager* dino_get_login1 (void);
GType dino_upower_get_type (void) G_GNUC_CONST;
GType dino_upower_proxy_get_type (void) G_GNUC_CONST;
guint dino_upower_register_object (void* object,
                                   GDBusConnection* connection,
                                   const gchar* path,
                                   GError** error);
DinoUPower* dino_get_upower (void);
DinoEntitiesAccount* dino_entities_account_new (XmppJid* bare_jid,
                                                const gchar* resourcepart,
                                                const gchar* password,
                                                const gchar* alias);
DinoEntitiesAccount* dino_entities_account_construct (GType object_type,
                                                      XmppJid* bare_jid,
                                                      const gchar* resourcepart,
                                                      const gchar* password,
                                                      const gchar* alias);
DinoEntitiesAccount* dino_entities_account_new_from_row (DinoDatabase* db,
                                                         QliteRow* row);
DinoEntitiesAccount* dino_entities_account_construct_from_row (GType object_type,
                                                               DinoDatabase* db,
                                                               QliteRow* row);
void dino_entities_account_persist (DinoEntitiesAccount* self,
                                    DinoDatabase* db);
void dino_entities_account_remove (DinoEntitiesAccount* self);
gboolean dino_entities_account_equals (DinoEntitiesAccount* self,
                                       DinoEntitiesAccount* acc);
gboolean dino_entities_account_equals_func (DinoEntitiesAccount* acc1,
                                            DinoEntitiesAccount* acc2);
guint dino_entities_account_hash_func (DinoEntitiesAccount* acc);
gint dino_entities_account_get_id (DinoEntitiesAccount* self);
void dino_entities_account_set_id (DinoEntitiesAccount* self,
                                   gint value);
const gchar* dino_entities_account_get_localpart (DinoEntitiesAccount* self);
const gchar* dino_entities_account_get_domainpart (DinoEntitiesAccount* self);
const gchar* dino_entities_account_get_resourcepart (DinoEntitiesAccount* self);
void dino_entities_account_set_resourcepart (DinoEntitiesAccount* self,
                                             const gchar* value);
XmppJid* dino_entities_account_get_bare_jid (DinoEntitiesAccount* self);
const gchar* dino_entities_account_get_password (DinoEntitiesAccount* self);
void dino_entities_account_set_password (DinoEntitiesAccount* self,
                                         const gchar* value);
gchar* dino_entities_account_get_display_name (DinoEntitiesAccount* self);
const gchar* dino_entities_account_get_alias (DinoEntitiesAccount* self);
void dino_entities_account_set_alias (DinoEntitiesAccount* self,
                                      const gchar* value);
gboolean dino_entities_account_get_enabled (DinoEntitiesAccount* self);
void dino_entities_account_set_enabled (DinoEntitiesAccount* self,
                                        gboolean value);
const gchar* dino_entities_account_get_roster_version (DinoEntitiesAccount* self);
void dino_entities_account_set_roster_version (DinoEntitiesAccount* self,
                                               const gchar* value);
GDateTime* dino_entities_account_get_mam_earliest_synced (DinoEntitiesAccount* self);
void dino_entities_account_set_mam_earliest_synced (DinoEntitiesAccount* self,
                                                    GDateTime* value);
GType dino_entities_conversation_get_type (void) G_GNUC_CONST;
GType dino_entities_conversation_type_get_type (void) G_GNUC_CONST;
GType dino_entities_conversation_notify_setting_get_type (void) G_GNUC_CONST;
GType dino_entities_conversation_setting_get_type (void) G_GNUC_CONST;
DinoEntitiesConversation* dino_entities_conversation_new (XmppJid* jid,
                                                          DinoEntitiesAccount* account,
                                                          DinoEntitiesConversationType type);
DinoEntitiesConversation* dino_entities_conversation_construct (GType object_type,
                                                                XmppJid* jid,
                                                                DinoEntitiesAccount* account,
                                                                DinoEntitiesConversationType type);
DinoEntitiesConversation* dino_entities_conversation_new_from_row (DinoDatabase* db,
                                                                   QliteRow* row);
DinoEntitiesConversation* dino_entities_conversation_construct_from_row (GType object_type,
                                                                         DinoDatabase* db,
                                                                         QliteRow* row);
void dino_entities_conversation_persist (DinoEntitiesConversation* self,
                                         DinoDatabase* db);
DinoEntitiesConversationNotifySetting dino_entities_conversation_get_notification_setting (DinoEntitiesConversation* self,
                                                                                           DinoStreamInteractor* stream_interactor);
DinoEntitiesConversationNotifySetting dino_entities_conversation_get_notification_default_setting (DinoEntitiesConversation* self,
                                                                                                   DinoStreamInteractor* stream_interactor);
DinoEntitiesConversationSetting dino_entities_conversation_get_send_typing_setting (DinoEntitiesConversation* self,
                                                                                    DinoStreamInteractor* stream_interactor);
DinoEntitiesConversationSetting dino_entities_conversation_get_send_marker_setting (DinoEntitiesConversation* self,
                                                                                    DinoStreamInteractor* stream_interactor);
gboolean dino_entities_conversation_equals (DinoEntitiesConversation* self,
                                            DinoEntitiesConversation* conversation);
gboolean dino_entities_conversation_equals_func (DinoEntitiesConversation* conversation1,
                                                 DinoEntitiesConversation* conversation2);
guint dino_entities_conversation_hash_func (DinoEntitiesConversation* conversation);
gint dino_entities_conversation_get_id (DinoEntitiesConversation* self);
void dino_entities_conversation_set_id (DinoEntitiesConversation* self,
                                        gint value);
DinoEntitiesConversationType dino_entities_conversation_get_type_ (DinoEntitiesConversation* self);
void dino_entities_conversation_set_type_ (DinoEntitiesConversation* self,
                                           DinoEntitiesConversationType value);
DinoEntitiesAccount* dino_entities_conversation_get_account (DinoEntitiesConversation* self);
XmppJid* dino_entities_conversation_get_counterpart (DinoEntitiesConversation* self);
const gchar* dino_entities_conversation_get_nickname (DinoEntitiesConversation* self);
void dino_entities_conversation_set_nickname (DinoEntitiesConversation* self,
                                              const gchar* value);
gboolean dino_entities_conversation_get_active (DinoEntitiesConversation* self);
void dino_entities_conversation_set_active (DinoEntitiesConversation* self,
                                            gboolean value);
GDateTime* dino_entities_conversation_get_last_active (DinoEntitiesConversation* self);
void dino_entities_conversation_set_last_active (DinoEntitiesConversation* self,
                                                 GDateTime* value);
GType dino_entities_encryption_get_type (void) G_GNUC_CONST;
DinoEntitiesEncryption dino_entities_conversation_get_encryption (DinoEntitiesConversation* self);
void dino_entities_conversation_set_encryption (DinoEntitiesConversation* self,
                                                DinoEntitiesEncryption value);
GType dino_entities_message_get_type (void) G_GNUC_CONST;
DinoEntitiesMessage* dino_entities_conversation_get_read_up_to (DinoEntitiesConversation* self);
void dino_entities_conversation_set_read_up_to (DinoEntitiesConversation* self,
                                                DinoEntitiesMessage* value);
DinoEntitiesConversationNotifySetting dino_entities_conversation_get_notify_setting (DinoEntitiesConversation* self);
void dino_entities_conversation_set_notify_setting (DinoEntitiesConversation* self,
                                                    DinoEntitiesConversationNotifySetting value);
DinoEntitiesConversationSetting dino_entities_conversation_get_send_typing (DinoEntitiesConversation* self);
void dino_entities_conversation_set_send_typing (DinoEntitiesConversation* self,
                                                 DinoEntitiesConversationSetting value);
DinoEntitiesConversationSetting dino_entities_conversation_get_send_marker (DinoEntitiesConversation* self);
void dino_entities_conversation_set_send_marker (DinoEntitiesConversation* self,
                                                 DinoEntitiesConversationSetting value);
GType dino_entities_file_transfer_get_type (void) G_GNUC_CONST;
GType dino_entities_file_transfer_state_get_type (void) G_GNUC_CONST;
#define DINO_ENTITIES_FILE_TRANSFER_DIRECTION_SENT TRUE
#define DINO_ENTITIES_FILE_TRANSFER_DIRECTION_RECEIVED FALSE
DinoEntitiesFileTransfer* dino_entities_file_transfer_new_from_row (DinoDatabase* db,
                                                                    QliteRow* row,
                                                                    const gchar* storage_dir);
DinoEntitiesFileTransfer* dino_entities_file_transfer_construct_from_row (GType object_type,
                                                                          DinoDatabase* db,
                                                                          QliteRow* row,
                                                                          const gchar* storage_dir);
void dino_entities_file_transfer_persist (DinoEntitiesFileTransfer* self,
                                          DinoDatabase* db);
GFile* dino_entities_file_transfer_get_file (DinoEntitiesFileTransfer* self);
DinoEntitiesFileTransfer* dino_entities_file_transfer_new (void);
DinoEntitiesFileTransfer* dino_entities_file_transfer_construct (GType object_type);
gint dino_entities_file_transfer_get_id (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_id (DinoEntitiesFileTransfer* self,
                                         gint value);
DinoEntitiesAccount* dino_entities_file_transfer_get_account (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_account (DinoEntitiesFileTransfer* self,
                                              DinoEntitiesAccount* value);
XmppJid* dino_entities_file_transfer_get_counterpart (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_counterpart (DinoEntitiesFileTransfer* self,
                                                  XmppJid* value);
XmppJid* dino_entities_file_transfer_get_ourpart (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_ourpart (DinoEntitiesFileTransfer* self,
                                              XmppJid* value);
XmppJid* dino_entities_file_transfer_get_from (DinoEntitiesFileTransfer* self);
XmppJid* dino_entities_file_transfer_get_to (DinoEntitiesFileTransfer* self);
gboolean dino_entities_file_transfer_get_direction (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_direction (DinoEntitiesFileTransfer* self,
                                                gboolean value);
GDateTime* dino_entities_file_transfer_get_time (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_time (DinoEntitiesFileTransfer* self,
                                           GDateTime* value);
GDateTime* dino_entities_file_transfer_get_local_time (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_local_time (DinoEntitiesFileTransfer* self,
                                                 GDateTime* value);
DinoEntitiesEncryption dino_entities_file_transfer_get_encryption (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_encryption (DinoEntitiesFileTransfer* self,
                                                 DinoEntitiesEncryption value);
GInputStream* dino_entities_file_transfer_get_input_stream (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_input_stream (DinoEntitiesFileTransfer* self,
                                                   GInputStream* value);
const gchar* dino_entities_file_transfer_get_file_name (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_file_name (DinoEntitiesFileTransfer* self,
                                                const gchar* value);
const gchar* dino_entities_file_transfer_get_server_file_name (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_server_file_name (DinoEntitiesFileTransfer* self,
                                                       const gchar* value);
const gchar* dino_entities_file_transfer_get_path (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_path (DinoEntitiesFileTransfer* self,
                                           const gchar* value);
const gchar* dino_entities_file_transfer_get_mime_type (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_mime_type (DinoEntitiesFileTransfer* self,
                                                const gchar* value);
gint dino_entities_file_transfer_get_size (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_size (DinoEntitiesFileTransfer* self,
                                           gint value);
DinoEntitiesFileTransferState dino_entities_file_transfer_get_state (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_state (DinoEntitiesFileTransfer* self,
                                            DinoEntitiesFileTransferState value);
gint dino_entities_file_transfer_get_provider (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_provider (DinoEntitiesFileTransfer* self,
                                               gint value);
const gchar* dino_entities_file_transfer_get_info (DinoEntitiesFileTransfer* self);
void dino_entities_file_transfer_set_info (DinoEntitiesFileTransfer* self,
                                           const gchar* value);
GType dino_entities_message_marked_get_type (void) G_GNUC_CONST;
GType dino_entities_message_type_get_type (void) G_GNUC_CONST;
#define DINO_ENTITIES_MESSAGE_DIRECTION_SENT TRUE
#define DINO_ENTITIES_MESSAGE_DIRECTION_RECEIVED FALSE
DinoEntitiesMessage* dino_entities_message_new (const gchar* body);
DinoEntitiesMessage* dino_entities_message_construct (GType object_type,
                                                      const gchar* body);
DinoEntitiesMessage* dino_entities_message_new_from_row (DinoDatabase* db,
                                                         QliteRow* row);
DinoEntitiesMessage* dino_entities_message_construct_from_row (GType object_type,
                                                               DinoDatabase* db,
                                                               QliteRow* row);
void dino_entities_message_persist (DinoEntitiesMessage* self,
                                    DinoDatabase* db);
void dino_entities_message_set_type_string (DinoEntitiesMessage* self,
                                            const gchar* type);
gchar* dino_entities_message_get_type_string (DinoEntitiesMessage* self);
gboolean dino_entities_message_equals (DinoEntitiesMessage* self,
                                       DinoEntitiesMessage* m);
gboolean dino_entities_message_equals_func (DinoEntitiesMessage* m1,
                                            DinoEntitiesMessage* m2);
guint dino_entities_message_hash_func (DinoEntitiesMessage* message);
gint dino_entities_message_get_id (DinoEntitiesMessage* self);
void dino_entities_message_set_id (DinoEntitiesMessage* self,
                                   gint value);
DinoEntitiesAccount* dino_entities_message_get_account (DinoEntitiesMessage* self);
void dino_entities_message_set_account (DinoEntitiesMessage* self,
                                        DinoEntitiesAccount* value);
XmppJid* dino_entities_message_get_counterpart (DinoEntitiesMessage* self);
void dino_entities_message_set_counterpart (DinoEntitiesMessage* self,
                                            XmppJid* value);
XmppJid* dino_entities_message_get_ourpart (DinoEntitiesMessage* self);
void dino_entities_message_set_ourpart (DinoEntitiesMessage* self,
                                        XmppJid* value);
XmppJid* dino_entities_message_get_from (DinoEntitiesMessage* self);
XmppJid* dino_entities_message_get_to (DinoEntitiesMessage* self);
gboolean dino_entities_message_get_direction (DinoEntitiesMessage* self);
void dino_entities_message_set_direction (DinoEntitiesMessage* self,
                                          gboolean value);
XmppJid* dino_entities_message_get_real_jid (DinoEntitiesMessage* self);
void dino_entities_message_set_real_jid (DinoEntitiesMessage* self,
                                         XmppJid* value);
DinoEntitiesMessageType dino_entities_message_get_type_ (DinoEntitiesMessage* self);
void dino_entities_message_set_type_ (DinoEntitiesMessage* self,
                                      DinoEntitiesMessageType value);
const gchar* dino_entities_message_get_body (DinoEntitiesMessage* self);
void dino_entities_message_set_body (DinoEntitiesMessage* self,
                                     const gchar* value);
const gchar* dino_entities_message_get_stanza_id (DinoEntitiesMessage* self);
void dino_entities_message_set_stanza_id (DinoEntitiesMessage* self,
                                          const gchar* value);
GDateTime* dino_entities_message_get_time (DinoEntitiesMessage* self);
void dino_entities_message_set_time (DinoEntitiesMessage* self,
                                     GDateTime* value);
GDateTime* dino_entities_message_get_local_time (DinoEntitiesMessage* self);
void dino_entities_message_set_local_time (DinoEntitiesMessage* self,
                                           GDateTime* value);
DinoEntitiesEncryption dino_entities_message_get_encryption (DinoEntitiesMessage* self);
void dino_entities_message_set_encryption (DinoEntitiesMessage* self,
                                           DinoEntitiesEncryption value);
DinoEntitiesMessageMarked dino_entities_message_get_marked (DinoEntitiesMessage* self);
void dino_entities_message_set_marked (DinoEntitiesMessage* self,
                                       DinoEntitiesMessageMarked value);
DinoEntitiesSettings* dino_entities_settings_new_from_db (DinoDatabase* db);
DinoEntitiesSettings* dino_entities_settings_construct_from_db (GType object_type,
                                                                DinoDatabase* db);
DinoEntitiesSettings* dino_entities_settings_new (void);
DinoEntitiesSettings* dino_entities_settings_construct (GType object_type);
gboolean dino_entities_settings_get_send_typing (DinoEntitiesSettings* self);
void dino_entities_settings_set_send_typing (DinoEntitiesSettings* self,
                                             gboolean value);
gboolean dino_entities_settings_get_send_marker (DinoEntitiesSettings* self);
void dino_entities_settings_set_send_marker (DinoEntitiesSettings* self,
                                             gboolean value);
gboolean dino_entities_settings_get_notifications (DinoEntitiesSettings* self);
void dino_entities_settings_set_notifications (DinoEntitiesSettings* self,
                                               gboolean value);
gboolean dino_entities_settings_get_convert_utf8_smileys (DinoEntitiesSettings* self);
void dino_entities_settings_set_convert_utf8_smileys (DinoEntitiesSettings* self,
                                                      gboolean value);
gint dino_entities_settings_get_current_width (DinoEntitiesSettings* self);
void dino_entities_settings_set_current_width (DinoEntitiesSettings* self,
                                               gint value);
gint dino_entities_settings_get_current_height (DinoEntitiesSettings* self);
void dino_entities_settings_set_current_height (DinoEntitiesSettings* self,
                                                gint value);
gboolean dino_entities_settings_get_is_maximized (DinoEntitiesSettings* self);
void dino_entities_settings_set_is_maximized (DinoEntitiesSettings* self,
                                              gboolean value);
gint dino_entities_settings_get_position_x (DinoEntitiesSettings* self);
void dino_entities_settings_set_position_x (DinoEntitiesSettings* self,
                                            gint value);
gint dino_entities_settings_get_position_y (DinoEntitiesSettings* self);
void dino_entities_settings_set_position_y (DinoEntitiesSettings* self,
                                            gint value);
GType dino_plugins_priority_get_type (void) G_GNUC_CONST;
GType dino_plugins_widget_type_get_type (void) G_GNUC_CONST;
GType dino_plugins_root_interface_get_type (void) G_GNUC_CONST;
void dino_plugins_root_interface_registered (DinoPluginsRootInterface* self,
                                             DinoApplication* app);
void dino_plugins_root_interface_shutdown (DinoPluginsRootInterface* self);
GType dino_plugins_input_field_status_get_type (void) G_GNUC_CONST;
GType dino_plugins_encryption_list_entry_get_type (void) G_GNUC_CONST;
void dino_plugins_encryption_list_entry_encryption_activated (DinoPluginsEncryptionListEntry* self,
                                                              DinoEntitiesConversation* conversation,
                                                              DinoPluginsSetInputFieldStatus callback,
                                                              gpointer callback_target);
DinoEntitiesEncryption dino_plugins_encryption_list_entry_get_encryption (DinoPluginsEncryptionListEntry* self);
const gchar* dino_plugins_encryption_list_entry_get_name (DinoPluginsEncryptionListEntry* self);
GType dino_plugins_account_settings_entry_get_type (void) G_GNUC_CONST;
GType dino_plugins_account_settings_widget_get_type (void) G_GNUC_CONST;
DinoPluginsAccountSettingsWidget* dino_plugins_account_settings_entry_get_widget (DinoPluginsAccountSettingsEntry* self,
                                                                                  DinoPluginsWidgetType type);
DinoPluginsAccountSettingsEntry* dino_plugins_account_settings_entry_construct (GType object_type);
const gchar* dino_plugins_account_settings_entry_get_id (DinoPluginsAccountSettingsEntry* self);
DinoPluginsPriority dino_plugins_account_settings_entry_get_priority (DinoPluginsAccountSettingsEntry* self);
const gchar* dino_plugins_account_settings_entry_get_name (DinoPluginsAccountSettingsEntry* self);
gint16 dino_plugins_account_settings_entry_get_label_top_padding (DinoPluginsAccountSettingsEntry* self);
void dino_plugins_account_settings_widget_set_account (DinoPluginsAccountSettingsWidget* self,
                                                       DinoEntitiesAccount* account);
void dino_plugins_account_settings_widget_deactivate (DinoPluginsAccountSettingsWidget* self);
GType dino_plugins_contact_details_get_type (void) G_GNUC_CONST;
GType dino_plugins_contact_details_provider_get_type (void) G_GNUC_CONST;
void dino_plugins_contact_details_provider_populate (DinoPluginsContactDetailsProvider* self,
                                                     DinoEntitiesConversation* conversation,
                                                     DinoPluginsContactDetails* contact_details,
                                                     DinoPluginsWidgetType type);
const gchar* dino_plugins_contact_details_provider_get_id (DinoPluginsContactDetailsProvider* self);
DinoPluginsContactDetails* dino_plugins_contact_details_new (void);
DinoPluginsContactDetails* dino_plugins_contact_details_construct (GType object_type);
GType dino_plugins_text_command_get_type (void) G_GNUC_CONST;
gchar* dino_plugins_text_command_handle_command (DinoPluginsTextCommand* self,
                                                 const gchar* text,
                                                 DinoEntitiesConversation* conversation);
const gchar* dino_plugins_text_command_get_cmd (DinoPluginsTextCommand* self);
GType dino_plugins_conversation_titlebar_widget_get_type (void) G_GNUC_CONST;
GType dino_plugins_conversation_titlebar_entry_get_type (void) G_GNUC_CONST;
DinoPluginsConversationTitlebarWidget* dino_plugins_conversation_titlebar_entry_get_widget (DinoPluginsConversationTitlebarEntry* self,
                                                                                            DinoPluginsWidgetType type);
const gchar* dino_plugins_conversation_titlebar_entry_get_id (DinoPluginsConversationTitlebarEntry* self);
gdouble dino_plugins_conversation_titlebar_entry_get_order (DinoPluginsConversationTitlebarEntry* self);
void dino_plugins_conversation_titlebar_widget_set_conversation (DinoPluginsConversationTitlebarWidget* self,
                                                                 DinoEntitiesConversation* conversation);
GType dino_plugins_meta_conversation_item_get_type (void) G_GNUC_CONST;
GType dino_plugins_conversation_item_collection_get_type (void) G_GNUC_CONST;
GType dino_plugins_conversation_item_populator_get_type (void) G_GNUC_CONST;
void dino_plugins_conversation_item_populator_init (DinoPluginsConversationItemPopulator* self,
                                                    DinoEntitiesConversation* conversation,
                                                    DinoPluginsConversationItemCollection* summary,
                                                    DinoPluginsWidgetType type);
void dino_plugins_conversation_item_populator_close (DinoPluginsConversationItemPopulator* self,
                                                     DinoEntitiesConversation* conversation);
const gchar* dino_plugins_conversation_item_populator_get_id (DinoPluginsConversationItemPopulator* self);
GType dino_plugins_conversation_addition_populator_get_type (void) G_GNUC_CONST;
void dino_plugins_conversation_addition_populator_populate_timespan (DinoPluginsConversationAdditionPopulator* self,
                                                                     DinoEntitiesConversation* conversation,
                                                                     GDateTime* from,
                                                                     GDateTime* to);
GType dino_plugins_notification_collection_get_type (void) G_GNUC_CONST;
GType dino_plugins_notification_populator_get_type (void) G_GNUC_CONST;
void dino_plugins_notification_populator_init (DinoPluginsNotificationPopulator* self,
                                               DinoEntitiesConversation* conversation,
                                               DinoPluginsNotificationCollection* summary,
                                               DinoPluginsWidgetType type);
void dino_plugins_notification_populator_close (DinoPluginsNotificationPopulator* self,
                                                DinoEntitiesConversation* conversation);
const gchar* dino_plugins_notification_populator_get_id (DinoPluginsNotificationPopulator* self);
GObject* dino_plugins_meta_conversation_item_get_widget (DinoPluginsMetaConversationItem* self,
                                                         DinoPluginsWidgetType type);
DinoPluginsMetaConversationItem* dino_plugins_meta_conversation_item_construct (GType object_type);
const gchar* dino_plugins_meta_conversation_item_get_populator_id (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_populator_id (DinoPluginsMetaConversationItem* self,
                                                           const gchar* value);
XmppJid* dino_plugins_meta_conversation_item_get_jid (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_jid (DinoPluginsMetaConversationItem* self,
                                                  XmppJid* value);
gboolean dino_plugins_meta_conversation_item_get_dim (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_dim (DinoPluginsMetaConversationItem* self,
                                                  gboolean value);
GDateTime* dino_plugins_meta_conversation_item_get_sort_time (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_sort_time (DinoPluginsMetaConversationItem* self,
                                                        GDateTime* value);
glong dino_plugins_meta_conversation_item_get_seccondary_sort_indicator (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_seccondary_sort_indicator (DinoPluginsMetaConversationItem* self,
                                                                        glong value);
glong dino_plugins_meta_conversation_item_get_tertiary_sort_indicator (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_tertiary_sort_indicator (DinoPluginsMetaConversationItem* self,
                                                                      glong value);
GDateTime* dino_plugins_meta_conversation_item_get_display_time (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_display_time (DinoPluginsMetaConversationItem* self,
                                                           GDateTime* value);
DinoEntitiesEncryption* dino_plugins_meta_conversation_item_get_encryption (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_encryption (DinoPluginsMetaConversationItem* self,
                                                         DinoEntitiesEncryption* value);
DinoEntitiesMessageMarked* dino_plugins_meta_conversation_item_get_mark (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_mark (DinoPluginsMetaConversationItem* self,
                                                   DinoEntitiesMessageMarked* value);
gboolean dino_plugins_meta_conversation_item_get_can_merge (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_can_merge (DinoPluginsMetaConversationItem* self,
                                                        gboolean value);
gboolean dino_plugins_meta_conversation_item_get_requires_avatar (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_requires_avatar (DinoPluginsMetaConversationItem* self,
                                                              gboolean value);
gboolean dino_plugins_meta_conversation_item_get_requires_header (DinoPluginsMetaConversationItem* self);
void dino_plugins_meta_conversation_item_set_requires_header (DinoPluginsMetaConversationItem* self,
                                                              gboolean value);
GType dino_plugins_meta_conversation_notification_get_type (void) G_GNUC_CONST;
GObject* dino_plugins_meta_conversation_notification_get_widget (DinoPluginsMetaConversationNotification* self,
                                                                 DinoPluginsWidgetType type);
DinoPluginsMetaConversationNotification* dino_plugins_meta_conversation_notification_construct (GType object_type);
void dino_plugins_conversation_item_collection_insert_item (DinoPluginsConversationItemCollection* self,
                                                            DinoPluginsMetaConversationItem* item);
void dino_plugins_conversation_item_collection_remove_item (DinoPluginsConversationItemCollection* self,
                                                            DinoPluginsMetaConversationItem* item);
GType dino_plugins_input_field_status_message_type_get_type (void) G_GNUC_CONST;
GType dino_plugins_input_field_status_input_state_get_type (void) G_GNUC_CONST;
DinoPluginsInputFieldStatus* dino_plugins_input_field_status_new (const gchar* message,
                                                                  DinoPluginsInputFieldStatusMessageType message_type,
                                                                  DinoPluginsInputFieldStatusInputState input_state);
DinoPluginsInputFieldStatus* dino_plugins_input_field_status_construct (GType object_type,
                                                                        const gchar* message,
                                                                        DinoPluginsInputFieldStatusMessageType message_type,
                                                                        DinoPluginsInputFieldStatusInputState input_state);
GType dino_plugins_loader_get_type (void) G_GNUC_CONST;
DinoPluginsLoader* dino_plugins_loader_new (DinoApplication* app);
DinoPluginsLoader* dino_plugins_loader_construct (GType object_type,
                                                  DinoApplication* app);
void dino_plugins_loader_loadAll (DinoPluginsLoader* self,
                                  GError** error);
DinoPluginsRootInterface* dino_plugins_loader_load (DinoPluginsLoader* self,
                                                    const gchar* name,
                                                    GError** error);
void dino_plugins_loader_shutdown (DinoPluginsLoader* self);
gboolean dino_plugins_registry_register_encryption_list_entry (DinoPluginsRegistry* self,
                                                               DinoPluginsEncryptionListEntry* entry);
gboolean dino_plugins_registry_register_account_settings_entry (DinoPluginsRegistry* self,
                                                                DinoPluginsAccountSettingsEntry* entry);
gboolean dino_plugins_registry_register_contact_details_entry (DinoPluginsRegistry* self,
                                                               DinoPluginsContactDetailsProvider* entry);
gboolean dino_plugins_registry_register_text_command (DinoPluginsRegistry* self,
                                                      DinoPluginsTextCommand* cmd);
gboolean dino_plugins_registry_register_contact_titlebar_entry (DinoPluginsRegistry* self,
                                                                DinoPluginsConversationTitlebarEntry* entry);
gboolean dino_plugins_registry_register_conversation_addition_populator (DinoPluginsRegistry* self,
                                                                         DinoPluginsConversationAdditionPopulator* populator);
gboolean dino_plugins_registry_register_notification_populator (DinoPluginsRegistry* self,
                                                                DinoPluginsNotificationPopulator* populator);
DinoPluginsRegistry* dino_plugins_registry_new (void);
DinoPluginsRegistry* dino_plugins_registry_construct (GType object_type);
GType dino_stream_interaction_module_get_type (void) G_GNUC_CONST;
GType dino_avatar_manager_get_type (void) G_GNUC_CONST;
GType dino_module_identity_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_avatar_manager_IDENTITY;
void dino_avatar_manager_start (DinoStreamInteractor* stream_interactor,
                                DinoDatabase* db);
gchar* dino_avatar_manager_get_storage_dir (void);
gboolean dino_avatar_manager_has_avatar (DinoAvatarManager* self,
                                         DinoEntitiesAccount* account,
                                         XmppJid* jid);
void dino_avatar_manager_get_avatar (DinoAvatarManager* self,
                                     DinoEntitiesAccount* account,
                                     XmppJid* jid,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
GdkPixbuf* dino_avatar_manager_get_avatar_finish (DinoAvatarManager* self,
                                                  GAsyncResult* _res_);
void dino_avatar_manager_publish (DinoAvatarManager* self,
                                  DinoEntitiesAccount* account,
                                  const gchar* file);
GType dino_avatar_storage_get_type (void) G_GNUC_CONST;
DinoAvatarStorage* dino_avatar_storage_new (const gchar* folder);
DinoAvatarStorage* dino_avatar_storage_construct (GType object_type,
                                                  const gchar* folder);
GType dino_blocking_manager_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_blocking_manager_IDENTITY;
void dino_blocking_manager_start (DinoStreamInteractor* stream_interactor);
gboolean dino_blocking_manager_is_blocked (DinoBlockingManager* self,
                                           DinoEntitiesAccount* account,
                                           XmppJid* jid);
void dino_blocking_manager_block (DinoBlockingManager* self,
                                  DinoEntitiesAccount* account,
                                  XmppJid* jid);
void dino_blocking_manager_unblock (DinoBlockingManager* self,
                                    DinoEntitiesAccount* account,
                                    XmppJid* jid);
gboolean dino_blocking_manager_is_supported (DinoBlockingManager* self,
                                             DinoEntitiesAccount* account);
GType dino_chat_interaction_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_chat_interaction_IDENTITY;
void dino_chat_interaction_start (DinoStreamInteractor* stream_interactor);
gboolean dino_chat_interaction_is_active_focus (DinoChatInteraction* self,
                                                DinoEntitiesConversation* conversation);
void dino_chat_interaction_on_window_focus_in (DinoChatInteraction* self,
                                               DinoEntitiesConversation* conversation);
void dino_chat_interaction_on_window_focus_out (DinoChatInteraction* self,
                                                DinoEntitiesConversation* conversation);
void dino_chat_interaction_on_message_entered (DinoChatInteraction* self,
                                               DinoEntitiesConversation* conversation);
void dino_chat_interaction_on_message_cleared (DinoChatInteraction* self,
                                               DinoEntitiesConversation* conversation);
void dino_chat_interaction_on_conversation_selected (DinoChatInteraction* self,
                                                     DinoEntitiesConversation* conversation);
GType dino_connection_manager_get_type (void) G_GNUC_CONST;
GType dino_connection_manager_connection_state_get_type (void) G_GNUC_CONST;
gpointer dino_module_manager_ref (gpointer instance);
void dino_module_manager_unref (gpointer instance);
GParamSpec* dino_param_spec_module_manager (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void dino_value_set_module_manager (GValue* value,
                                    gpointer v_object);
void dino_value_take_module_manager (GValue* value,
                                     gpointer v_object);
gpointer dino_value_get_module_manager (const GValue* value);
GType dino_module_manager_get_type (void) G_GNUC_CONST;
DinoConnectionManager* dino_connection_manager_new (DinoModuleManager* module_manager);
DinoConnectionManager* dino_connection_manager_construct (GType object_type,
                                                          DinoModuleManager* module_manager);
XmppXmppStream* dino_connection_manager_get_stream (DinoConnectionManager* self,
                                                    DinoEntitiesAccount* account);
DinoConnectionManagerConnectionState dino_connection_manager_get_state (DinoConnectionManager* self,
                                                                        DinoEntitiesAccount* account);
gpointer dino_connection_manager_connection_error_ref (gpointer instance);
void dino_connection_manager_connection_error_unref (gpointer instance);
GParamSpec* dino_connection_manager_param_spec_connection_error (const gchar* name,
                                                                 const gchar* nick,
                                                                 const gchar* blurb,
                                                                 GType object_type,
                                                                 GParamFlags flags);
void dino_connection_manager_value_set_connection_error (GValue* value,
                                                         gpointer v_object);
void dino_connection_manager_value_take_connection_error (GValue* value,
                                                          gpointer v_object);
gpointer dino_connection_manager_value_get_connection_error (const GValue* value);
GType dino_connection_manager_connection_error_get_type (void) G_GNUC_CONST;
DinoConnectionManagerConnectionError* dino_connection_manager_get_error (DinoConnectionManager* self,
                                                                         DinoEntitiesAccount* account);
GeeCollection* dino_connection_manager_get_managed_accounts (DinoConnectionManager* self);
void dino_connection_manager_connect_account (DinoConnectionManager* self,
                                              DinoEntitiesAccount* account);
void dino_connection_manager_make_offline_all (DinoConnectionManager* self);
void dino_connection_manager_disconnect_account (DinoConnectionManager* self,
                                                 DinoEntitiesAccount* account);
GType dino_connection_manager_connection_error_source_get_type (void) G_GNUC_CONST;
GType dino_connection_manager_connection_error_reconnect_get_type (void) G_GNUC_CONST;
DinoConnectionManagerConnectionError* dino_connection_manager_connection_error_new (DinoConnectionManagerConnectionErrorSource source,
                                                                                    const gchar* identifier);
DinoConnectionManagerConnectionError* dino_connection_manager_connection_error_construct (GType object_type,
                                                                                          DinoConnectionManagerConnectionErrorSource source,
                                                                                          const gchar* identifier);
DinoConnectionManagerConnectionErrorReconnect dino_connection_manager_connection_error_get_reconnect_recomendation (DinoConnectionManagerConnectionError* self);
void dino_connection_manager_connection_error_set_reconnect_recomendation (DinoConnectionManagerConnectionError* self,
                                                                           DinoConnectionManagerConnectionErrorReconnect value);
GType dino_content_item_store_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_content_item_store_IDENTITY;
void dino_content_item_store_start (DinoStreamInteractor* stream_interactor,
                                    DinoDatabase* db);
DinoContentItemStore* dino_content_item_store_new (DinoStreamInteractor* stream_interactor,
                                                   DinoDatabase* db);
DinoContentItemStore* dino_content_item_store_construct (GType object_type,
                                                         DinoStreamInteractor* stream_interactor,
                                                         DinoDatabase* db);
GType dino_content_item_get_type (void) G_GNUC_CONST;
GType dino_content_item_collection_get_type (void) G_GNUC_CONST;
void dino_content_item_store_init (DinoContentItemStore* self,
                                   DinoEntitiesConversation* conversation,
                                   DinoContentItemCollection* item_collection);
void dino_content_item_store_uninit (DinoContentItemStore* self,
                                     DinoEntitiesConversation* conversation,
                                     DinoContentItemCollection* item_collection);
GeeList* dino_content_item_store_get_items_from_query (DinoContentItemStore* self,
                                                       QliteQueryBuilder* select,
                                                       DinoEntitiesConversation* conversation);
DinoContentItem* dino_content_item_store_get_item (DinoContentItemStore* self,
                                                   DinoEntitiesConversation* conversation,
                                                   gint type,
                                                   gint foreign_id);
DinoContentItem* dino_content_item_store_get_latest (DinoContentItemStore* self,
                                                     DinoEntitiesConversation* conversation);
GeeList* dino_content_item_store_get_n_latest (DinoContentItemStore* self,
                                               DinoEntitiesConversation* conversation,
                                               gint count);
GeeList* dino_content_item_store_get_before (DinoContentItemStore* self,
                                             DinoEntitiesConversation* conversation,
                                             DinoContentItem* item,
                                             gint count);
GeeList* dino_content_item_store_get_after (DinoContentItemStore* self,
                                            DinoEntitiesConversation* conversation,
                                            DinoContentItem* item,
                                            gint count);
GType dino_content_filter_get_type (void) G_GNUC_CONST;
void dino_content_item_store_add_filter (DinoContentItemStore* self,
                                         DinoContentFilter* content_filter);
void dino_content_item_store_insert_message (DinoContentItemStore* self,
                                             DinoEntitiesMessage* message,
                                             DinoEntitiesConversation* conversation,
                                             gboolean hide);
gboolean dino_content_item_store_get_item_hide (DinoContentItemStore* self,
                                                DinoContentItem* content_item);
void dino_content_item_store_set_item_hide (DinoContentItemStore* self,
                                            DinoContentItem* content_item,
                                            gboolean hide);
void dino_content_item_collection_insert_item (DinoContentItemCollection* self,
                                               DinoContentItem* item);
void dino_content_item_collection_remove_item (DinoContentItemCollection* self,
                                               DinoContentItem* item);
gboolean dino_content_filter_discard (DinoContentFilter* self,
                                      DinoContentItem* content_item);
DinoContentItem* dino_content_item_construct (GType object_type,
                                              gint id,
                                              const gchar* ty,
                                              XmppJid* jid,
                                              GDateTime* sort_time,
                                              GDateTime* display_time,
                                              DinoEntitiesEncryption encryption,
                                              DinoEntitiesMessageMarked mark);
gint dino_content_item_compare (DinoContentItem* a,
                                DinoContentItem* b);
gint dino_content_item_get_id (DinoContentItem* self);
void dino_content_item_set_id (DinoContentItem* self,
                               gint value);
const gchar* dino_content_item_get_type_ (DinoContentItem* self);
void dino_content_item_set_type_ (DinoContentItem* self,
                                  const gchar* value);
XmppJid* dino_content_item_get_jid (DinoContentItem* self);
void dino_content_item_set_jid (DinoContentItem* self,
                                XmppJid* value);
GDateTime* dino_content_item_get_sort_time (DinoContentItem* self);
void dino_content_item_set_sort_time (DinoContentItem* self,
                                      GDateTime* value);
GDateTime* dino_content_item_get_display_time (DinoContentItem* self);
void dino_content_item_set_display_time (DinoContentItem* self,
                                         GDateTime* value);
DinoEntitiesEncryption* dino_content_item_get_encryption (DinoContentItem* self);
void dino_content_item_set_encryption (DinoContentItem* self,
                                       DinoEntitiesEncryption* value);
DinoEntitiesMessageMarked* dino_content_item_get_mark (DinoContentItem* self);
void dino_content_item_set_mark (DinoContentItem* self,
                                 DinoEntitiesMessageMarked* value);
GType dino_message_item_get_type (void) G_GNUC_CONST;
#define DINO_MESSAGE_ITEM_TYPE "message"
DinoMessageItem* dino_message_item_new (DinoEntitiesMessage* message,
                                        DinoEntitiesConversation* conversation,
                                        gint id);
DinoMessageItem* dino_message_item_construct (GType object_type,
                                              DinoEntitiesMessage* message,
                                              DinoEntitiesConversation* conversation,
                                              gint id);
GType dino_file_item_get_type (void) G_GNUC_CONST;
#define DINO_FILE_ITEM_TYPE "file"
DinoFileItem* dino_file_item_new (DinoEntitiesFileTransfer* file_transfer,
                                  gint id);
DinoFileItem* dino_file_item_construct (GType object_type,
                                        DinoEntitiesFileTransfer* file_transfer,
                                        gint id);
GType dino_conversation_manager_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_conversation_manager_IDENTITY;
void dino_conversation_manager_start (DinoStreamInteractor* stream_interactor,
                                      DinoDatabase* db);
DinoEntitiesConversation* dino_conversation_manager_create_conversation (DinoConversationManager* self,
                                                                         XmppJid* jid,
                                                                         DinoEntitiesAccount* account,
                                                                         DinoEntitiesConversationType* type);
DinoEntitiesConversation* dino_conversation_manager_get_conversation_for_message (DinoConversationManager* self,
                                                                                  DinoEntitiesMessage* message);
GType dino_show_get_type (void) G_GNUC_CONST;
GeeList* dino_conversation_manager_get_conversations_for_presence (DinoConversationManager* self,
                                                                   DinoShow* show,
                                                                   DinoEntitiesAccount* account);
GeeList* dino_conversation_manager_get_conversations (DinoConversationManager* self,
                                                      XmppJid* jid,
                                                      DinoEntitiesAccount* account);
DinoEntitiesConversation* dino_conversation_manager_get_conversation (DinoConversationManager* self,
                                                                      XmppJid* jid,
                                                                      DinoEntitiesAccount* account,
                                                                      DinoEntitiesConversationType* type);
DinoEntitiesConversation* dino_conversation_manager_get_conversation_by_id (DinoConversationManager* self,
                                                                            gint id);
GeeList* dino_conversation_manager_get_active_conversations (DinoConversationManager* self,
                                                             DinoEntitiesAccount* account);
void dino_conversation_manager_start_conversation (DinoConversationManager* self,
                                                   DinoEntitiesConversation* conversation);
void dino_conversation_manager_close_conversation (DinoConversationManager* self,
                                                   DinoEntitiesConversation* conversation);
GType dino_counterpart_interaction_manager_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_counterpart_interaction_manager_IDENTITY;
void dino_counterpart_interaction_manager_start (DinoStreamInteractor* stream_interactor);
GeeHashMap* dino_counterpart_interaction_manager_get_chat_states (DinoCounterpartInteractionManager* self,
                                                                  DinoEntitiesConversation* conversation);
DinoDatabase* dino_database_new (const gchar* fileName);
DinoDatabase* dino_database_construct (GType object_type,
                                       const gchar* fileName);
GeeArrayList* dino_database_get_accounts (DinoDatabase* self);
DinoEntitiesAccount* dino_database_get_account_by_id (DinoDatabase* self,
                                                      gint id);
gint dino_database_add_content_item (DinoDatabase* self,
                                     DinoEntitiesConversation* conversation,
                                     GDateTime* time,
                                     GDateTime* local_time,
                                     gint content_type,
                                     gint foreign_id,
                                     gboolean hide);
GeeList* dino_database_get_messages (DinoDatabase* self,
                                     XmppJid* jid,
                                     DinoEntitiesAccount* account,
                                     DinoEntitiesMessageType* type,
                                     gint count,
                                     GDateTime* before,
                                     GDateTime* after,
                                     gint id);
GeeList* dino_database_get_unsend_messages (DinoDatabase* self,
                                            DinoEntitiesAccount* account,
                                            XmppJid* jid);
gboolean dino_database_contains_message (DinoDatabase* self,
                                         DinoEntitiesMessage* query_message,
                                         DinoEntitiesAccount* account);
gboolean dino_database_contains_message_by_stanza_id (DinoDatabase* self,
                                                      DinoEntitiesMessage* query_message,
                                                      DinoEntitiesAccount* account);
DinoEntitiesMessage* dino_database_get_message_by_id (DinoDatabase* self,
                                                      gint id);
GeeArrayList* dino_database_get_conversations (DinoDatabase* self,
                                               DinoEntitiesAccount* account);
void dino_database_set_avatar_hash (DinoDatabase* self,
                                    XmppJid* jid,
                                    const gchar* hash,
                                    gint type);
GeeHashMap* dino_database_get_avatar_hashes (DinoDatabase* self,
                                             gint type);
void dino_database_add_entity_features (DinoDatabase* self,
                                        const gchar* entity,
                                        GeeList* features);
GeeList* dino_database_get_entity_features (DinoDatabase* self,
                                            const gchar* entity);
gint dino_database_get_jid_id (DinoDatabase* self,
                               XmppJid* jid_obj);
XmppJid* dino_database_get_jid_by_id (DinoDatabase* self,
                                      gint id);
GType dino_database_account_table_get_type (void) G_GNUC_CONST;
DinoDatabaseAccountTable* dino_database_get_account (DinoDatabase* self);
GType dino_database_jid_table_get_type (void) G_GNUC_CONST;
DinoDatabaseJidTable* dino_database_get_jid (DinoDatabase* self);
GType dino_database_content_item_table_get_type (void) G_GNUC_CONST;
DinoDatabaseContentItemTable* dino_database_get_content_item (DinoDatabase* self);
GType dino_database_message_table_get_type (void) G_GNUC_CONST;
DinoDatabaseMessageTable* dino_database_get_message (DinoDatabase* self);
GType dino_database_real_jid_table_get_type (void) G_GNUC_CONST;
DinoDatabaseRealJidTable* dino_database_get_real_jid (DinoDatabase* self);
GType dino_database_file_transfer_table_get_type (void) G_GNUC_CONST;
DinoDatabaseFileTransferTable* dino_database_get_file_transfer (DinoDatabase* self);
GType dino_database_conversation_table_get_type (void) G_GNUC_CONST;
DinoDatabaseConversationTable* dino_database_get_conversation (DinoDatabase* self);
GType dino_database_avatar_table_get_type (void) G_GNUC_CONST;
DinoDatabaseAvatarTable* dino_database_get_avatar (DinoDatabase* self);
GType dino_database_entity_feature_table_get_type (void) G_GNUC_CONST;
DinoDatabaseEntityFeatureTable* dino_database_get_entity_feature (DinoDatabase* self);
GType dino_database_roster_table_get_type (void) G_GNUC_CONST;
DinoDatabaseRosterTable* dino_database_get_roster (DinoDatabase* self);
GType dino_database_settings_table_get_type (void) G_GNUC_CONST;
DinoDatabaseSettingsTable* dino_database_get_settings (DinoDatabase* self);
GType dino_database_undecrypted_table_get_type (void) G_GNUC_CONST;
GType dino_entity_capabilities_storage_get_type (void) G_GNUC_CONST;
DinoEntityCapabilitiesStorage* dino_entity_capabilities_storage_new (DinoDatabase* db);
DinoEntityCapabilitiesStorage* dino_entity_capabilities_storage_construct (GType object_type,
                                                                           DinoDatabase* db);
GType dino_file_manager_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_file_manager_IDENTITY;
void dino_file_manager_start (DinoStreamInteractor* stream_interactor,
                              DinoDatabase* db);
gchar* dino_file_manager_get_storage_dir (void);
void dino_file_manager_send_file (DinoFileManager* self,
                                  const gchar* uri,
                                  DinoEntitiesConversation* conversation,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
void dino_file_manager_send_file_finish (DinoFileManager* self,
                                         GAsyncResult* _res_);
void dino_file_manager_download_file (DinoFileManager* self,
                                      DinoEntitiesFileTransfer* file_transfer,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
void dino_file_manager_download_file_finish (DinoFileManager* self,
                                             GAsyncResult* _res_);
gboolean dino_file_manager_is_upload_available (DinoFileManager* self,
                                                DinoEntitiesConversation* conversation);
GeeList* dino_file_manager_get_latest_transfers (DinoFileManager* self,
                                                 DinoEntitiesAccount* account,
                                                 XmppJid* counterpart,
                                                 gint n);
GeeList* dino_file_manager_get_transfers_before (DinoFileManager* self,
                                                 DinoEntitiesAccount* account,
                                                 XmppJid* counterpart,
                                                 GDateTime* before,
                                                 gint n);
GeeList* dino_file_manager_get_transfers_after (DinoFileManager* self,
                                                DinoEntitiesAccount* account,
                                                XmppJid* counterpart,
                                                GDateTime* after,
                                                gint n);
gpointer dino_file_meta_ref (gpointer instance);
void dino_file_meta_unref (gpointer instance);
GParamSpec* dino_param_spec_file_meta (const gchar* name,
                                       const gchar* nick,
                                       const gchar* blurb,
                                       GType object_type,
                                       GParamFlags flags);
void dino_value_set_file_meta (GValue* value,
                               gpointer v_object);
void dino_value_take_file_meta (GValue* value,
                                gpointer v_object);
gpointer dino_value_get_file_meta (const GValue* value);
GType dino_file_meta_get_type (void) G_GNUC_CONST;
GQuark dino_file_receive_error_quark (void);
gpointer dino_file_receive_data_ref (gpointer instance);
void dino_file_receive_data_unref (gpointer instance);
GParamSpec* dino_param_spec_file_receive_data (const gchar* name,
                                               const gchar* nick,
                                               const gchar* blurb,
                                               GType object_type,
                                               GParamFlags flags);
void dino_value_set_file_receive_data (GValue* value,
                                       gpointer v_object);
void dino_value_take_file_receive_data (GValue* value,
                                        gpointer v_object);
gpointer dino_value_get_file_receive_data (const GValue* value);
GType dino_file_receive_data_get_type (void) G_GNUC_CONST;
GType dino_file_provider_get_type (void) G_GNUC_CONST;
void dino_file_manager_add_provider (DinoFileManager* self,
                                     DinoFileProvider* file_provider);
gpointer dino_file_send_data_ref (gpointer instance);
void dino_file_send_data_unref (gpointer instance);
GParamSpec* dino_param_spec_file_send_data (const gchar* name,
                                            const gchar* nick,
                                            const gchar* blurb,
                                            GType object_type,
                                            GParamFlags flags);
void dino_value_set_file_send_data (GValue* value,
                                    gpointer v_object);
void dino_value_take_file_send_data (GValue* value,
                                     gpointer v_object);
gpointer dino_value_get_file_send_data (const GValue* value);
GType dino_file_send_data_get_type (void) G_GNUC_CONST;
GQuark dino_file_send_error_quark (void);
GType dino_file_sender_get_type (void) G_GNUC_CONST;
void dino_file_manager_add_sender (DinoFileManager* self,
                                   DinoFileSender* file_sender);
GType dino_file_encryptor_get_type (void) G_GNUC_CONST;
void dino_file_manager_add_file_encryptor (DinoFileManager* self,
                                           DinoFileEncryptor* encryptor);
GType dino_file_decryptor_get_type (void) G_GNUC_CONST;
void dino_file_manager_add_file_decryptor (DinoFileManager* self,
                                           DinoFileDecryptor* decryptor);
gboolean dino_file_manager_is_sender_trustworthy (DinoFileManager* self,
                                                  DinoEntitiesFileTransfer* file_transfer,
                                                  DinoEntitiesConversation* conversation);
DinoFileMeta* dino_file_meta_new (void);
DinoFileMeta* dino_file_meta_construct (GType object_type);
GType dino_http_file_meta_get_type (void) G_GNUC_CONST;
DinoHttpFileMeta* dino_http_file_meta_new (void);
DinoHttpFileMeta* dino_http_file_meta_construct (GType object_type);
DinoFileSendData* dino_file_send_data_new (void);
DinoFileSendData* dino_file_send_data_construct (GType object_type);
GType dino_http_file_send_data_get_type (void) G_GNUC_CONST;
DinoHttpFileSendData* dino_http_file_send_data_new (void);
DinoHttpFileSendData* dino_http_file_send_data_construct (GType object_type);
const gchar* dino_http_file_send_data_get_url_down (DinoHttpFileSendData* self);
void dino_http_file_send_data_set_url_down (DinoHttpFileSendData* self,
                                            const gchar* value);
const gchar* dino_http_file_send_data_get_url_up (DinoHttpFileSendData* self);
void dino_http_file_send_data_set_url_up (DinoHttpFileSendData* self,
                                          const gchar* value);
gboolean dino_http_file_send_data_get_encrypt_message (DinoHttpFileSendData* self);
void dino_http_file_send_data_set_encrypt_message (DinoHttpFileSendData* self,
                                                   gboolean value);
DinoFileReceiveData* dino_file_receive_data_new (void);
DinoFileReceiveData* dino_file_receive_data_construct (GType object_type);
GType dino_http_file_receive_data_get_type (void) G_GNUC_CONST;
DinoHttpFileReceiveData* dino_http_file_receive_data_new (void);
DinoHttpFileReceiveData* dino_http_file_receive_data_construct (GType object_type);
const gchar* dino_http_file_receive_data_get_url (DinoHttpFileReceiveData* self);
void dino_http_file_receive_data_set_url (DinoHttpFileReceiveData* self,
                                          const gchar* value);
DinoFileMeta* dino_file_provider_get_file_meta (DinoFileProvider* self,
                                                DinoEntitiesFileTransfer* file_transfer,
                                                GError** error);
DinoFileReceiveData* dino_file_provider_get_file_receive_data (DinoFileProvider* self,
                                                               DinoEntitiesFileTransfer* file_transfer);
void dino_file_provider_get_meta_info (DinoFileProvider* self,
                                       DinoEntitiesFileTransfer* file_transfer,
                                       DinoFileReceiveData* receive_data,
                                       DinoFileMeta* file_meta,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_);
DinoFileMeta* dino_file_provider_get_meta_info_finish (DinoFileProvider* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
void dino_file_provider_download (DinoFileProvider* self,
                                  DinoEntitiesFileTransfer* file_transfer,
                                  DinoFileReceiveData* receive_data,
                                  DinoFileMeta* file_meta,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
GInputStream* dino_file_provider_download_finish (DinoFileProvider* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
gint dino_file_provider_get_id (DinoFileProvider* self);
gboolean dino_file_sender_is_upload_available (DinoFileSender* self,
                                               DinoEntitiesConversation* conversation);
gboolean dino_file_sender_can_send (DinoFileSender* self,
                                    DinoEntitiesConversation* conversation,
                                    DinoEntitiesFileTransfer* file_transfer);
void dino_file_sender_prepare_send_file (DinoFileSender* self,
                                         DinoEntitiesConversation* conversation,
                                         DinoEntitiesFileTransfer* file_transfer,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
DinoFileSendData* dino_file_sender_prepare_send_file_finish (DinoFileSender* self,
                                                             GAsyncResult* _res_,
                                                             GError** error);
void dino_file_sender_send_file (DinoFileSender* self,
                                 DinoEntitiesConversation* conversation,
                                 DinoEntitiesFileTransfer* file_transfer,
                                 DinoFileSendData* file_send_data,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
void dino_file_sender_send_file_finish (DinoFileSender* self,
                                        GAsyncResult* _res_,
                                        GError** error);
gint dino_file_sender_get_id (DinoFileSender* self);
gfloat dino_file_sender_get_priority (DinoFileSender* self);
gboolean dino_file_encryptor_can_encrypt_file (DinoFileEncryptor* self,
                                               DinoEntitiesConversation* conversation,
                                               DinoEntitiesFileTransfer* file_transfer);
DinoFileMeta* dino_file_encryptor_encrypt_file (DinoFileEncryptor* self,
                                                DinoEntitiesConversation* conversation,
                                                DinoEntitiesFileTransfer* file_transfer,
                                                GError** error);
DinoFileSendData* dino_file_encryptor_preprocess_send_file (DinoFileEncryptor* self,
                                                            DinoEntitiesConversation* conversation,
                                                            DinoEntitiesFileTransfer* file_transfer,
                                                            DinoFileSendData* file_send_data,
                                                            DinoFileMeta* file_meta,
                                                            GError** error);
DinoFileReceiveData* dino_file_decryptor_prepare_get_meta_info (DinoFileDecryptor* self,
                                                                DinoEntitiesConversation* conversation,
                                                                DinoEntitiesFileTransfer* file_transfer,
                                                                DinoFileReceiveData* receive_data);
DinoFileMeta* dino_file_decryptor_prepare_download_file (DinoFileDecryptor* self,
                                                         DinoEntitiesConversation* conversation,
                                                         DinoEntitiesFileTransfer* file_transfer,
                                                         DinoFileReceiveData* receive_data,
                                                         DinoFileMeta* file_meta);
gboolean dino_file_decryptor_can_decrypt_file (DinoFileDecryptor* self,
                                               DinoEntitiesConversation* conversation,
                                               DinoEntitiesFileTransfer* file_transfer,
                                               DinoFileReceiveData* receive_data);
void dino_file_decryptor_decrypt_file (DinoFileDecryptor* self,
                                       GInputStream* encrypted_stream,
                                       DinoEntitiesConversation* conversation,
                                       DinoEntitiesFileTransfer* file_transfer,
                                       DinoFileReceiveData* receive_data,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_);
GInputStream* dino_file_decryptor_decrypt_file_finish (DinoFileDecryptor* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
GType dino_jingle_file_provider_get_type (void) G_GNUC_CONST;
DinoJingleFileProvider* dino_jingle_file_provider_new (DinoStreamInteractor* stream_interactor);
DinoJingleFileProvider* dino_jingle_file_provider_construct (GType object_type,
                                                             DinoStreamInteractor* stream_interactor);
GType dino_jingle_file_sender_get_type (void) G_GNUC_CONST;
DinoJingleFileSender* dino_jingle_file_sender_new (DinoStreamInteractor* stream_interactor);
DinoJingleFileSender* dino_jingle_file_sender_construct (GType object_type,
                                                         DinoStreamInteractor* stream_interactor);
GType dino_message_processor_get_type (void) G_GNUC_CONST;
GType dino_message_listener_holder_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_message_processor_IDENTITY;
void dino_message_processor_start (DinoStreamInteractor* stream_interactor,
                                   DinoDatabase* db);
DinoEntitiesMessage* dino_message_processor_send_text (DinoMessageProcessor* self,
                                                       const gchar* text,
                                                       DinoEntitiesConversation* conversation);
DinoEntitiesMessage* dino_message_processor_send_message (DinoMessageProcessor* self,
                                                          DinoEntitiesMessage* message,
                                                          DinoEntitiesConversation* conversation);
void dino_message_processor_send_unsent_messages (DinoMessageProcessor* self,
                                                  DinoEntitiesAccount* account,
                                                  XmppJid* jid);
void dino_message_processor_parse_message_stanza (DinoMessageProcessor* self,
                                                  DinoEntitiesAccount* account,
                                                  XmppMessageStanza* message,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
DinoEntitiesMessage* dino_message_processor_parse_message_stanza_finish (DinoMessageProcessor* self,
                                                                         GAsyncResult* _res_);
DinoEntitiesMessage* dino_message_processor_create_out_message (DinoMessageProcessor* self,
                                                                const gchar* text,
                                                                DinoEntitiesConversation* conversation);
void dino_message_processor_send_xmpp_message (DinoMessageProcessor* self,
                                               DinoEntitiesMessage* message,
                                               DinoEntitiesConversation* conversation,
                                               gboolean delayed);
GType dino_message_listener_get_type (void) G_GNUC_CONST;
void dino_message_listener_run (DinoMessageListener* self,
                                DinoEntitiesMessage* message,
                                XmppMessageStanza* stanza,
                                DinoEntitiesConversation* conversation,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
gboolean dino_message_listener_run_finish (DinoMessageListener* self,
                                           GAsyncResult* _res_);
DinoMessageListener* dino_message_listener_construct (GType object_type);
void dino_message_listener_holder_run (DinoMessageListenerHolder* self,
                                       DinoEntitiesMessage* message,
                                       XmppMessageStanza* stanza,
                                       DinoEntitiesConversation* conversation,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_);
gboolean dino_message_listener_holder_run_finish (DinoMessageListenerHolder* self,
                                                  GAsyncResult* _res_);
DinoMessageListenerHolder* dino_message_listener_holder_new (void);
DinoMessageListenerHolder* dino_message_listener_holder_construct (GType object_type);
GType dino_message_storage_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_message_storage_IDENTITY;
void dino_message_storage_start (DinoStreamInteractor* stream_interactor,
                                 DinoDatabase* db);
void dino_message_storage_add_message (DinoMessageStorage* self,
                                       DinoEntitiesMessage* message,
                                       DinoEntitiesConversation* conversation);
GeeList* dino_message_storage_get_messages (DinoMessageStorage* self,
                                            DinoEntitiesConversation* conversation,
                                            gint count);
DinoEntitiesMessage* dino_message_storage_get_last_message (DinoMessageStorage* self,
                                                            DinoEntitiesConversation* conversation);
GeeList* dino_message_storage_get_messages_before_message (DinoMessageStorage* self,
                                                           DinoEntitiesConversation* conversation,
                                                           GDateTime* before,
                                                           gint id,
                                                           gint count);
GeeList* dino_message_storage_get_messages_after_message (DinoMessageStorage* self,
                                                          DinoEntitiesConversation* conversation,
                                                          GDateTime* after,
                                                          gint id,
                                                          gint count);
DinoEntitiesMessage* dino_message_storage_get_message_by_id (DinoMessageStorage* self,
                                                             gint id,
                                                             DinoEntitiesConversation* conversation);
DinoEntitiesMessage* dino_message_storage_get_message_by_stanza_id (DinoMessageStorage* self,
                                                                    const gchar* stanza_id,
                                                                    DinoEntitiesConversation* conversation);
DinoEntitiesConversation* dino_message_storage_get_conversation_for_stanza_id (DinoMessageStorage* self,
                                                                               DinoEntitiesAccount* account,
                                                                               const gchar* stanza_id);
DinoModuleManager* dino_module_manager_new (DinoDatabase* db);
DinoModuleManager* dino_module_manager_construct (GType object_type,
                                                  DinoDatabase* db);
gpointer dino_module_manager_get_module (DinoModuleManager* self,
                                         GType t_type,
                                         GBoxedCopyFunc t_dup_func,
                                         GDestroyNotify t_destroy_func,
                                         DinoEntitiesAccount* account,
                                         XmppModuleIdentity* identity);
GeeArrayList* dino_module_manager_get_modules (DinoModuleManager* self,
                                               DinoEntitiesAccount* account,
                                               const gchar* resource);
void dino_module_manager_initialize (DinoModuleManager* self,
                                     DinoEntitiesAccount* account);
GType dino_muc_manager_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_muc_manager_IDENTITY;
void dino_muc_manager_start (DinoStreamInteractor* stream_interactor);
void dino_muc_manager_join (DinoMucManager* self,
                            DinoEntitiesAccount* account,
                            XmppJid* jid,
                            const gchar* nick,
                            const gchar* password);
void dino_muc_manager_part (DinoMucManager* self,
                            DinoEntitiesAccount* account,
                            XmppJid* jid);
void dino_muc_manager_get_config_form (DinoMucManager* self,
                                       DinoEntitiesAccount* account,
                                       XmppJid* jid,
                                       DinoMucManagerOnResult listener,
                                       gpointer listener_target,
                                       GDestroyNotify listener_target_destroy_notify);
void dino_muc_manager_change_subject (DinoMucManager* self,
                                      DinoEntitiesAccount* account,
                                      XmppJid* jid,
                                      const gchar* subject);
void dino_muc_manager_change_nick (DinoMucManager* self,
                                   DinoEntitiesAccount* account,
                                   XmppJid* jid,
                                   const gchar* new_nick);
void dino_muc_manager_invite (DinoMucManager* self,
                              DinoEntitiesAccount* account,
                              XmppJid* muc,
                              XmppJid* invitee);
void dino_muc_manager_kick (DinoMucManager* self,
                            DinoEntitiesAccount* account,
                            XmppJid* jid,
                            const gchar* nick);
void dino_muc_manager_change_affiliation (DinoMucManager* self,
                                          DinoEntitiesAccount* account,
                                          XmppJid* jid,
                                          const gchar* nick,
                                          const gchar* role);
gboolean dino_muc_manager_kick_possible (DinoMucManager* self,
                                         DinoEntitiesAccount* account,
                                         XmppJid* occupant);
gboolean dino_muc_manager_is_private_room (DinoMucManager* self,
                                           DinoEntitiesAccount* account,
                                           XmppJid* jid);
gboolean dino_muc_manager_is_public_room (DinoMucManager* self,
                                          DinoEntitiesAccount* account,
                                          XmppJid* jid);
GeeList* dino_muc_manager_get_occupants (DinoMucManager* self,
                                         XmppJid* jid,
                                         DinoEntitiesAccount* account);
GeeList* dino_muc_manager_get_other_occupants (DinoMucManager* self,
                                               XmppJid* jid,
                                               DinoEntitiesAccount* account);
gboolean dino_muc_manager_is_groupchat (DinoMucManager* self,
                                        XmppJid* jid,
                                        DinoEntitiesAccount* account);
gboolean dino_muc_manager_is_groupchat_occupant (DinoMucManager* self,
                                                 XmppJid* jid,
                                                 DinoEntitiesAccount* account);
void dino_muc_manager_get_bookmarks (DinoMucManager* self,
                                     DinoEntitiesAccount* account,
                                     XmppXepBookmarksModuleOnResult listener,
                                     gpointer listener_target,
                                     GDestroyNotify listener_target_destroy_notify);
void dino_muc_manager_add_bookmark (DinoMucManager* self,
                                    DinoEntitiesAccount* account,
                                    XmppXepBookmarksConference* conference);
void dino_muc_manager_replace_bookmark (DinoMucManager* self,
                                        DinoEntitiesAccount* account,
                                        XmppXepBookmarksConference* was,
                                        XmppXepBookmarksConference* replace);
void dino_muc_manager_remove_bookmark (DinoMucManager* self,
                                       DinoEntitiesAccount* account,
                                       XmppXepBookmarksConference* conference);
gchar* dino_muc_manager_get_room_name (DinoMucManager* self,
                                       DinoEntitiesAccount* account,
                                       XmppJid* jid);
gchar* dino_muc_manager_get_groupchat_subject (DinoMucManager* self,
                                               XmppJid* jid,
                                               DinoEntitiesAccount* account);
XmppJid* dino_muc_manager_get_real_jid (DinoMucManager* self,
                                        XmppJid* jid,
                                        DinoEntitiesAccount* account);
XmppXepMucRole* dino_muc_manager_get_role (DinoMucManager* self,
                                           XmppJid* jid,
                                           DinoEntitiesAccount* account);
XmppXepMucAffiliation* dino_muc_manager_get_affiliation (DinoMucManager* self,
                                                         XmppJid* muc_jid,
                                                         XmppJid* jid,
                                                         DinoEntitiesAccount* account);
GeeList* dino_muc_manager_get_offline_members (DinoMucManager* self,
                                               XmppJid* jid,
                                               DinoEntitiesAccount* account);
GeeList* dino_muc_manager_get_other_offline_members (DinoMucManager* self,
                                                     XmppJid* jid,
                                                     DinoEntitiesAccount* account);
XmppJid* dino_muc_manager_get_own_jid (DinoMucManager* self,
                                       XmppJid* muc_jid,
                                       DinoEntitiesAccount* account);
gboolean dino_muc_manager_is_joined (DinoMucManager* self,
                                     XmppJid* jid,
                                     DinoEntitiesAccount* account);
GType dino_notification_events_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_notification_events_IDENTITY;
void dino_notification_events_start (DinoStreamInteractor* stream_interactor);
DinoNotificationEvents* dino_notification_events_new (DinoStreamInteractor* stream_interactor);
DinoNotificationEvents* dino_notification_events_construct (GType object_type,
                                                            DinoStreamInteractor* stream_interactor);
GType dino_presence_manager_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_presence_manager_IDENTITY;
void dino_presence_manager_start (DinoStreamInteractor* stream_interactor);
DinoShow* dino_presence_manager_get_last_show (DinoPresenceManager* self,
                                               XmppJid* jid,
                                               DinoEntitiesAccount* account);
GeeHashMap* dino_presence_manager_get_shows (DinoPresenceManager* self,
                                             XmppJid* jid,
                                             DinoEntitiesAccount* account);
GeeList* dino_presence_manager_get_full_jids (DinoPresenceManager* self,
                                              XmppJid* jid,
                                              DinoEntitiesAccount* account);
gboolean dino_presence_manager_exists_subscription_request (DinoPresenceManager* self,
                                                            DinoEntitiesAccount* account,
                                                            XmppJid* jid);
void dino_presence_manager_request_subscription (DinoPresenceManager* self,
                                                 DinoEntitiesAccount* account,
                                                 XmppJid* jid);
void dino_presence_manager_approve_subscription (DinoPresenceManager* self,
                                                 DinoEntitiesAccount* account,
                                                 XmppJid* jid);
void dino_presence_manager_deny_subscription (DinoPresenceManager* self,
                                              DinoEntitiesAccount* account,
                                              XmppJid* jid);
void dino_presence_manager_cancel_subscription (DinoPresenceManager* self,
                                                DinoEntitiesAccount* account,
                                                XmppJid* jid);
#define DINO_SHOW_ONLINE XMPP_PRESENCE_STANZA_SHOW_ONLINE
#define DINO_SHOW_AWAY XMPP_PRESENCE_STANZA_SHOW_AWAY
#define DINO_SHOW_CHAT XMPP_PRESENCE_STANZA_SHOW_CHAT
#define DINO_SHOW_DND XMPP_PRESENCE_STANZA_SHOW_DND
#define DINO_SHOW_XA XMPP_PRESENCE_STANZA_SHOW_XA
#define DINO_SHOW_OFFLINE "offline"
DinoShow* dino_show_new (XmppJid* jid,
                         const gchar* show,
                         GDateTime* datetime);
DinoShow* dino_show_construct (GType object_type,
                               XmppJid* jid,
                               const gchar* show,
                               GDateTime* datetime);
GType dino_register_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_register_IDENTITY;
void dino_register_start (DinoStreamInteractor* stream_interactor,
                          DinoDatabase* db);
void dino_register_add_check_account (DinoRegister* self,
                                      DinoEntitiesAccount* account,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
DinoConnectionManagerConnectionErrorSource* dino_register_add_check_account_finish (DinoRegister* self,
                                                                                    GAsyncResult* _res_);
void dino_register_check_server_availability (XmppJid* jid,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
gpointer dino_register_server_availability_return_ref (gpointer instance);
void dino_register_server_availability_return_unref (gpointer instance);
GParamSpec* dino_register_param_spec_server_availability_return (const gchar* name,
                                                                 const gchar* nick,
                                                                 const gchar* blurb,
                                                                 GType object_type,
                                                                 GParamFlags flags);
void dino_register_value_set_server_availability_return (GValue* value,
                                                         gpointer v_object);
void dino_register_value_take_server_availability_return (GValue* value,
                                                          gpointer v_object);
gpointer dino_register_value_get_server_availability_return (const GValue* value);
GType dino_register_server_availability_return_get_type (void) G_GNUC_CONST;
DinoRegisterServerAvailabilityReturn* dino_register_check_server_availability_finish (GAsyncResult* _res_);
void dino_register_get_registration_form (XmppJid* jid,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
XmppXepInBandRegistrationForm* dino_register_get_registration_form_finish (GAsyncResult* _res_);
void dino_register_submit_form (XmppJid* jid,
                                XmppXepInBandRegistrationForm* form,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
gchar* dino_register_submit_form_finish (GAsyncResult* _res_);
DinoRegisterServerAvailabilityReturn* dino_register_server_availability_return_new (void);
DinoRegisterServerAvailabilityReturn* dino_register_server_availability_return_construct (GType object_type);
gboolean dino_register_server_availability_return_get_available (DinoRegisterServerAvailabilityReturn* self);
void dino_register_server_availability_return_set_available (DinoRegisterServerAvailabilityReturn* self,
                                                             gboolean value);
GTlsCertificateFlags* dino_register_server_availability_return_get_error_flags (DinoRegisterServerAvailabilityReturn* self);
void dino_register_server_availability_return_set_error_flags (DinoRegisterServerAvailabilityReturn* self,
                                                               GTlsCertificateFlags* value);
GType dino_roster_manager_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_roster_manager_IDENTITY;
void dino_roster_manager_start (DinoStreamInteractor* stream_interactor,
                                DinoDatabase* db);
DinoRosterManager* dino_roster_manager_new (DinoStreamInteractor* stream_interactor,
                                            DinoDatabase* db);
DinoRosterManager* dino_roster_manager_construct (GType object_type,
                                                  DinoStreamInteractor* stream_interactor,
                                                  DinoDatabase* db);
GeeCollection* dino_roster_manager_get_roster (DinoRosterManager* self,
                                               DinoEntitiesAccount* account);
XmppRosterItem* dino_roster_manager_get_roster_item (DinoRosterManager* self,
                                                     DinoEntitiesAccount* account,
                                                     XmppJid* jid);
void dino_roster_manager_remove_jid (DinoRosterManager* self,
                                     DinoEntitiesAccount* account,
                                     XmppJid* jid);
void dino_roster_manager_add_jid (DinoRosterManager* self,
                                  DinoEntitiesAccount* account,
                                  XmppJid* jid,
                                  const gchar* handle);
void dino_roster_manager_set_jid_handle (DinoRosterManager* self,
                                         DinoEntitiesAccount* account,
                                         XmppJid* jid,
                                         const gchar* handle);
GType dino_roster_store_impl_get_type (void) G_GNUC_CONST;
DinoRosterStoreImpl* dino_roster_store_impl_new (DinoEntitiesAccount* account,
                                                 DinoDatabase* db);
DinoRosterStoreImpl* dino_roster_store_impl_construct (GType object_type,
                                                       DinoEntitiesAccount* account,
                                                       DinoDatabase* db);
XmppRosterItem* dino_roster_store_impl_get_item (DinoRosterStoreImpl* self,
                                                 XmppJid* jid);
GType dino_search_processor_get_type (void) G_GNUC_CONST;
extern DinoModuleIdentity* dino_search_processor_IDENTITY;
void dino_search_processor_start (DinoStreamInteractor* stream_interactor,
                                  DinoDatabase* db);
DinoSearchProcessor* dino_search_processor_new (DinoStreamInteractor* stream_interactor,
                                                DinoDatabase* db);
DinoSearchProcessor* dino_search_processor_construct (GType object_type,
                                                      DinoStreamInteractor* stream_interactor,
                                                      DinoDatabase* db);
GType dino_search_suggestion_get_type (void) G_GNUC_CONST;
GeeList* dino_search_processor_suggest_auto_complete (DinoSearchProcessor* self,
                                                      const gchar* query,
                                                      gint cursor_position,
                                                      gint limit);
GeeList* dino_search_processor_match_messages (DinoSearchProcessor* self,
                                               const gchar* query,
                                               gint offset);
gint dino_search_processor_count_match_messages (DinoSearchProcessor* self,
                                                 const gchar* query);
DinoSearchSuggestion* dino_search_suggestion_new (DinoEntitiesAccount* account,
                                                  XmppJid* jid,
                                                  const gchar* completion,
                                                  gint start_index,
                                                  gint end_index);
DinoSearchSuggestion* dino_search_suggestion_construct (GType object_type,
                                                        DinoEntitiesAccount* account,
                                                        XmppJid* jid,
                                                        const gchar* completion,
                                                        gint start_index,
                                                        gint end_index);
DinoEntitiesAccount* dino_search_suggestion_get_account (DinoSearchSuggestion* self);
XmppJid* dino_search_suggestion_get_jid (DinoSearchSuggestion* self);
const gchar* dino_search_suggestion_get_completion (DinoSearchSuggestion* self);
gint dino_search_suggestion_get_start_index (DinoSearchSuggestion* self);
gint dino_search_suggestion_get_end_index (DinoSearchSuggestion* self);
glong dino_search_suggestion_get_order (DinoSearchSuggestion* self);
void dino_search_suggestion_set_order (DinoSearchSuggestion* self,
                                       glong value);
DinoStreamInteractor* dino_stream_interactor_new (DinoDatabase* db);
DinoStreamInteractor* dino_stream_interactor_construct (GType object_type,
                                                        DinoDatabase* db);
void dino_stream_interactor_connect_account (DinoStreamInteractor* self,
                                             DinoEntitiesAccount* account);
void dino_stream_interactor_disconnect_account (DinoStreamInteractor* self,
                                                DinoEntitiesAccount* account);
GeeArrayList* dino_stream_interactor_get_accounts (DinoStreamInteractor* self);
XmppXmppStream* dino_stream_interactor_get_stream (DinoStreamInteractor* self,
                                                   DinoEntitiesAccount* account);
void dino_stream_interactor_add_module (DinoStreamInteractor* self,
                                        DinoStreamInteractionModule* module);
gpointer dino_stream_interactor_get_module (DinoStreamInteractor* self,
                                            GType t_type,
                                            GBoxedCopyFunc t_dup_func,
                                            GDestroyNotify t_destroy_func,
                                            DinoModuleIdentity* identity);
DinoModuleIdentity* dino_module_identity_new (GType t_type,
                                              GBoxedCopyFunc t_dup_func,
                                              GDestroyNotify t_destroy_func,
                                              const gchar* id);
DinoModuleIdentity* dino_module_identity_construct (GType object_type,
                                                    GType t_type,
                                                    GBoxedCopyFunc t_dup_func,
                                                    GDestroyNotify t_destroy_func,
                                                    const gchar* id);
gpointer dino_module_identity_cast (DinoModuleIdentity* self,
                                    DinoStreamInteractionModule* module);
gboolean dino_module_identity_matches (DinoModuleIdentity* self,
                                       DinoStreamInteractionModule* module);
const gchar* dino_module_identity_get_id (DinoModuleIdentity* self);
const gchar* dino_stream_interaction_module_get_id (DinoStreamInteractionModule* self);
gpointer dino_util_ref (gpointer instance);
void dino_util_unref (gpointer instance);
GParamSpec* dino_param_spec_util (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags);
void dino_value_set_util (GValue* value,
                          gpointer v_object);
void dino_value_take_util (GValue* value,
                           gpointer v_object);
gpointer dino_value_get_util (const GValue* value);
GType dino_util_get_type (void) G_GNUC_CONST;
DinoEntitiesMessageType dino_util_get_message_type_for_conversation (DinoEntitiesConversation* conversation);
DinoUtil* dino_util_new (void);
DinoUtil* dino_util_construct (GType object_type);
DinoSearchPathGenerator* dino_search_path_generator_new (const gchar* exec_path);
DinoSearchPathGenerator* dino_search_path_generator_construct (GType object_type,
                                                               const gchar* exec_path);
gchar* dino_search_path_generator_get_locale_path (DinoSearchPathGenerator* self,
                                                   const gchar* gettext_package,
                                                   const gchar* locale_install_dir);
gchar** dino_search_path_generator_get_plugin_paths (DinoSearchPathGenerator* self,
                                                     int* result_length1);
const gchar* dino_search_path_generator_get_exec_path (DinoSearchPathGenerator* self);
gchar* dino_get_storage_dir (void);
const gchar* dino_gettext (const gchar* s);
const gchar* dino_ngettext (const gchar* msgid,
                            const gchar* plural,
                            gulong number);
void dino_internationalize (const gchar* gettext_package,
                            const gchar* locales_dir);


G_END_DECLS

#endif
