/* This file is automatically generated. Any changes made here will be lost. */

/* This header defines simple perlapi-ish macros for creating SV wrappers
 * and extracting the GPerl value from SV wrappers.  These macros are used
 * by the autogenerated typemaps, and are defined here so that you can use
 * the same logic anywhere in your code (e.g., if you handle the argument
 * stack by hand instead of using the typemap). */

#ifdef NOTIFY_TYPE_NOTIFICATION
  /* GObject derivative NotifyNotification */
# define SvNotifyNotification(sv)	((NotifyNotification*)gperl_get_object_check (sv, NOTIFY_TYPE_NOTIFICATION))
# define newSVNotifyNotification(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef NotifyNotification NotifyNotification_ornull;
# define SvNotifyNotification_ornull(sv)	(gperl_sv_is_defined (sv) ? SvNotifyNotification(sv) : NULL)
# define newSVNotifyNotification_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef NotifyNotification NotifyNotification_noinc;
#define newSVNotifyNotification_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef NotifyNotification NotifyNotification_noinc_ornull;
#define newSVNotifyNotification_noinc_ornull(val)	((val) ? newSVNotifyNotification_noinc(val) : &PL_sv_undef)
#endif /* NOTIFY_TYPE_NOTIFICATION */

#ifdef NOTIFY_TYPE_URGENCY
  /* GEnum NotifyUrgency */
# define SvNotifyUrgency(sv)	((NotifyUrgency)gperl_convert_enum (NOTIFY_TYPE_URGENCY, sv))
# define newSVNotifyUrgency(val)	(gperl_convert_back_enum (NOTIFY_TYPE_URGENCY, val))
#endif /* NOTIFY_TYPE_URGENCY */
