## Version Information

Version Information — Information about the panel version in use.

## Synopsis

    #include <libxfce4panel/libxfce4panel.h>

    extern const guint  libxfce4panel_major_version;
    extern const guint  libxfce4panel_minor_version;
    extern const guint  libxfce4panel_micro_version;
    const gchar *       libxfce4panel_check_version         (guint required_major,
                                                             guint required_minor,
                                                             guint required_micro);

    #define             LIBXFCE4PANEL_VERSION
    #define             LIBXFCE4PANEL_MAJOR_VERSION
    #define             LIBXFCE4PANEL_MINOR_VERSION
    #define             LIBXFCE4PANEL_MICRO_VERSION
    #define             LIBXFCE4PANEL_CHECK_VERSION         (major,
                                                             minor,
                                                             micro)

## Description

The panel library provides version information, which could be used by plugins to handle new API.

## Details

### libxfce4panel_major_version

    extern const guint libxfce4panel_major_version;

The major version number of the libxfce4panel library (e.g. in version 4.8.0 this is 4).

This variable is in the library, so represents the libxfce4panel library you have linked against. Contrast with the LIBXFCE4PANEL_MAJOR_VERSION macro, which represents the major version of the libxfce4panel headers you have included.

Since 4.8

### libxfce4panel_minor_version

    extern const guint libxfce4panel_minor_version;

The minor version number of the libxfce4panel library (e.g. in version 4.8.0 this is 8).

This variable is in the library, so represents the libxfce4panel library you have linked against. Contrast with the LIBXFCE4PANEL_MINOR_VERSION macro, which represents the minor version of the libxfce4panel headers you have included.

Since 4.8

### libxfce4panel_micro_version

    extern const guint libxfce4panel_micro_version;

The micro version number of the libxfce4panel library (e.g. in version 4.8.0 this is 0).

This variable is in the library, so represents the libxfce4panel library you have linked against. Contrast with the LIBXFCE4PANEL_MICRO_VERSION macro, which represents the micro version of the libxfce4panel headers you have included.

Since 4.8

### libxfce4panel_check_version ()

    const gchar *       libxfce4panel_check_version         (guint required_major,
                                                             guint required_minor,
                                                             guint required_micro);

Checks that the libxfce4panel library in use is compatible with the given version. Generally you would pass in the constants LIBXFCE4PANEL_MAJOR_VERSION, LIBXFCE4PANEL_MINOR_VERSION and LIBXFCE4PANEL_MICRO_VERSION as the three arguments to this function; that produces a check that the library in use is compatible with the version of libxfce4panel the extension was compiled against.

Example 1. Checking the runtime version of the Libxfce4panel library

    const gchar *mismatch;
    mismatch = libxfce4panel_check_version (LIBXFCE4PANEL_MAJOR_VERSION,
                                         LIBXFCE4PANEL_MINOR_VERSION,
                                         LIBXFCE4PANEL_MICRO_VERSION);
    if (G_UNLIKELY (mismatch != NULL))
      g_error ("Version mismatch: %s", mismatch);

`required_major` : | the required major version.
`required_minor` : | the required minor version.
`required_micro` : | the required micro version.
Returns : | `NULL` if the library is compatible with the given version, or a string describing the version mismatch. The returned string is owned by the library and must not be freed or modified by the caller.

Since 4.8

### LIBXFCE4PANEL_VERSION

    #define LIBXFCE4PANEL_VERSION ("4.10.0")

String with the full version of the panel.

Since 4.8

### LIBXFCE4PANEL_MAJOR_VERSION

    #define LIBXFCE4PANEL_MAJOR_VERSION (4)

The major version number of the libxfce4panel library. Like libxfce4panel_major_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

Since 4.8

### LIBXFCE4PANEL_MINOR_VERSION

    #define LIBXFCE4PANEL_MINOR_VERSION (10)

The minor version number of the libxfce4panel library. Like libxfce4panel_minor_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

Since 4.8

### LIBXFCE4PANEL_MICRO_VERSION

    #define LIBXFCE4PANEL_MICRO_VERSION (0)

The micro version number of the libxfce4panel library. Like libxfce4panel_micro_version, but from the headers used at application compile time, rather than from the library linked against at application run time

Since 4.8

### LIBXFCE4PANEL_CHECK_VERSION()

    #define             LIBXFCE4PANEL_CHECK_VERSION(major,minor,micro)

Checks the version of the libxfce4panel library.

`major` : | the major version number.
`minor` : | the minor version number.
`micro` : | the micro version number.
Returns : | `TRUE` if the version of the libxfce4panel header files is the same as or newer than the passed-in version.

Since 4.8