/* glade-signal-class.h
*
* Copyright (C) 2011 Openismus GmbH
*
* Authors:
* Tristan Van Berkom <tristanvb@openismus.com>
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser 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 _GLADE_SIGNAL_CLASS_H_
#define _GLADE_SIGNAL_CLASS_H_
#include <glib-object.h>
#include <gladeui/glade-xml-utils.h>
G_BEGIN_DECLS
/**
* GSC_VERSION_CHECK:
* @klass: A #GladeSignalClass
* @major_version: The major version to check
* @minor_version: The minor version to check
*
* Evaluates to %TRUE if @klass is available in its owning library version-@major_verion.@minor_version.
*
*/
#define GSC_VERSION_CHECK(klass, major_version, minor_version) \
((glade_signal_class_since_major (GLADE_SIGNAL_CLASS (klass)) == major_version) ? \
(glade_signal_class_since_minor (GLADE_SIGNAL_CLASS (klass)) <= minor_version) : \
(glade_signal_class_since_major (GLADE_SIGNAL_CLASS (klass)) <= major_version))
#define GLADE_SIGNAL_CLASS(klass) ((GladeSignalClass *)(klass))
typedef struct _GladeSignalClass GladeSignalClass;
GladeSignalClass *glade_signal_class_new (GladeWidgetAdaptor *adaptor,
GType for_type,
guint signal_id);
void glade_signal_class_free (GladeSignalClass *signal_class);
void glade_signal_class_update_from_node (GladeSignalClass *signal_class,
GladeXmlNode *node,
const gchar *domain);
GladeWidgetAdaptor *glade_signal_class_get_adaptor (const GladeSignalClass *signal_class);
G_CONST_RETURN gchar *glade_signal_class_get_name (const GladeSignalClass *signal_class);
G_CONST_RETURN gchar *glade_signal_class_get_type (const GladeSignalClass *signal_class);
GSignalFlags glade_signal_class_get_flags (const GladeSignalClass *signal_class);
void glade_signal_class_set_since (GladeSignalClass *signal_class,
guint16 since_major,
guint16 since_minor);
guint16 glade_signal_class_since_major (GladeSignalClass *signal_class);
guint16 glade_signal_class_since_minor (GladeSignalClass *signal_class);
void glade_signal_class_set_deprecated (GladeSignalClass *signal_class,
gboolean deprecated);
gboolean glade_signal_class_deprecated (GladeSignalClass *signal_class);
G_END_DECLS
#endif /* _GLADE_SIGNAL_CLASS_H_ */