From bb3b0c0a009cbf5f699a37c656b43bdc5a12b7b0 Mon Sep 17 00:00:00 2001 From: Felix Riemann Date: Sun, 12 Aug 2012 15:53:18 +0200 Subject: Add new plugin hook for per-application plugins These will be loaded on application initialization and disabled once the application is disposed. origin commit: https://gitlab.gnome.org/GNOME/eog/commit/cdfe77e --- src/eom-application-activatable.h | 70 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/eom-application-activatable.h (limited to 'src/eom-application-activatable.h') diff --git a/src/eom-application-activatable.h b/src/eom-application-activatable.h new file mode 100644 index 0000000..5ab09dc --- /dev/null +++ b/src/eom-application-activatable.h @@ -0,0 +1,70 @@ +/* + * eom-application-activatable.h + * This file is part of eom + * + * Author: Felix Riemann + * + * Copyright (C) 2012 Felix Riemann + * + * Base on code by: + * - Steve Frécinaux + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __EOM_APPLICATION_ACTIVATABLE_H__ +#define __EOM_APPLICATION_ACTIVATABLE_H__ + +#include + +G_BEGIN_DECLS + +#define EOM_TYPE_APPLICATION_ACTIVATABLE (eom_application_activatable_get_type ()) +#define EOM_APPLICATION_ACTIVATABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ + EOM_TYPE_APPLICATION_ACTIVATABLE, \ + EomApplicationActivatable)) +#define EOM_APPLICATION_ACTIVATABLE_IFACE(obj) \ + (G_TYPE_CHECK_CLASS_CAST ((obj), \ + EOM_TYPE_APPLICATION_ACTIVATABLE, \ + EomApplicationActivatableInterface)) +#define EOM_IS_APPLICATION_ACTIVATABLE(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ + EOM_TYPE_APPLICATION_ACTIVATABLE)) +#define EOM_APPLICATION_ACTIVATABLE_GET_IFACE(obj) \ + (G_TYPE_INSTANCE_GET_INTERFACE ((obj), \ + EOM_TYPE_APPLICATION_ACTIVATABLE, \ + EomApplicationActivatableInterface)) + +typedef struct _EomApplicationActivatable EomApplicationActivatable; +typedef struct _EomApplicationActivatableInterface EomApplicationActivatableInterface; + +struct _EomApplicationActivatableInterface +{ + GTypeInterface g_iface; + + /* vfuncs */ + + void (*activate) (EomApplicationActivatable *activatable); + void (*deactivate) (EomApplicationActivatable *activatable); +}; + +GType eom_application_activatable_get_type (void) G_GNUC_CONST; + +void eom_application_activatable_activate (EomApplicationActivatable *activatable); +void eom_application_activatable_deactivate (EomApplicationActivatable *activatable); + +G_END_DECLS +#endif /* __EOM_APPLICATION_ACTIVATABLE_H__ */ + -- cgit v1.2.1