#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