#include "unique-perl.h" #define _FIXED_UNIQUE_CHECK_VERSION(major,minor,micro) \ ((UNIQUE_MAJOR_VERSION > (major)) || \ (UNIQUE_MAJOR_VERSION == (major) && UNIQUE_MINOR_VERSION > (minor)) || \ (UNIQUE_MAJOR_VERSION == (major) && UNIQUE_MINOR_VERSION == (minor) && UNIQUE_MICRO_VERSION > (micro))) MODULE = Gtk2::Unique PACKAGE = Gtk2::Unique PREFIX = unique_ =for object Gtk2::Unique Use single instance applications =cut PROTOTYPES: DISABLE BOOT: #include "register.xsh" #include "boot.xsh" guint MAJOR_VERSION () CODE: RETVAL = UNIQUE_MAJOR_VERSION; OUTPUT: RETVAL guint MINOR_VERSION () CODE: RETVAL = UNIQUE_MINOR_VERSION; OUTPUT: RETVAL guint MICRO_VERSION () CODE: RETVAL = UNIQUE_MICRO_VERSION; OUTPUT: RETVAL void GET_VERSION_INFO (class) PPCODE: EXTEND (SP, 3); PUSHs (sv_2mortal (newSViv (UNIQUE_MAJOR_VERSION))); PUSHs (sv_2mortal (newSViv (UNIQUE_MINOR_VERSION))); PUSHs (sv_2mortal (newSViv (UNIQUE_MICRO_VERSION))); PERL_UNUSED_VAR (ax); gboolean CHECK_VERSION (class, guint major, guint minor, guint micro) CODE: /* * So check version is broken as it has a typo and won't compile. But we need * check version to see if libunique has fixed this! * * For now we define our own check version and use that one instead. */ #if ! _FIXED_UNIQUE_CHECK_VERSION(1, 1, 0) RETVAL = _FIXED_UNIQUE_CHECK_VERSION(major, minor, micro); #else RETVAL = UNIQUE_CHECK_VERSION(major, minor, micro); #endif OUTPUT: RETVAL const gchar* VERSION () CODE: RETVAL = UNIQUE_VERSION_S; OUTPUT: RETVAL guint VERSION_HEX () CODE: RETVAL = UNIQUE_VERSION_HEX; OUTPUT: RETVAL const gchar* API_VERSION () CODE: RETVAL = UNIQUE_API_VERSION_S; OUTPUT: RETVAL const gchar* PROTOCOL_VERSION () CODE: RETVAL = UNIQUE_PROTOCOL_VERSION_S; OUTPUT: RETVAL const gchar* DEFAULT_BACKEND () CODE: RETVAL = UNIQUE_DEFAULT_BACKEND_S; OUTPUT: RETVAL