1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/* vi:set et ai sw=2 sts=2 ts=2: */
/*-
* Copyright (c) 2005 Benedikt Meurer <benny@xfce.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <thunarx/thunarx-config.h>
/**
* thunarx_major_version:
*
* The major version number of the
* <systemitem class="library">thunarx</systemitem> library (e.g. in
* version 0.5.1 this is 0).
*
* This variable is in the library, so represents the
* <systemitem class="library">thunarx</systemitem> library you have
* linked against. Contrast with the #THUNARX_MAJOR_VERSION macro, which
* represents the major version of the
* <systemitem class="library">thunarx</systemitem> headers you have
* included.
**/
const guint thunarx_major_version = THUNARX_MAJOR_VERSION;
/**
* thunarx_minor_version:
*
* The minor version number of the
* <systemitem class="library">thunarx</systemitem> library (e.g. in
* version 0.5.1 this is 5).
*
* This variable is in the library, so represents the
* <systemitem class="library">thunarx</systemitem> library you have
* linked against. Contrast with the #THUNARX_MINOR_VERSION macro, which
* represents the minor version of the
* <systemitem class="library">thunarx</systemitem> headers you have
* included.
**/
const guint thunarx_minor_version = THUNARX_MINOR_VERSION;
/**
* thunarx_micro_version:
*
* The micro version number of the
* <systemitem class="library">thunarx</systemitem> library (e.g. in
* version 0.5.1 this is 1).
*
* This variable is in the library, so represents the
* <systemitem class="library">thunarx</systemitem> library you have
* linked against. Contrast with the #THUNARX_MICRO_VERSION macro, which
* represents the micro version of the
* <systemitem class="library">thunarx</systemitem> headers you have
* included.
**/
const guint thunarx_micro_version = THUNARX_MICRO_VERSION;
/**
* thunarx_check_version:
* @required_major : the required major version.
* @required_minor : the required minor version.
* @required_micro : the required micro version.
*
* Checks that the <systemitem class="library">thunarx</systemitem> library
* in use is compatible with the given version. Generally you would pass in
* the constants #THUNARX_MAJOR_VERSION, #THUNARX_MINOR_VERSION and
* #THUNARX_VERSION_MICRO as the three arguments to this function; that produces
* a check that the library in use is compatible with the version of
* <systemitem class="library">thunarx</systemitem> the extension was
* compiled against.
*
* This function should be called by extensions in the
* thunar_extension_initialize() method to verify that the <systemitem
* class="library">thunarx</systemitem> library used by file manager is
* compatible with the version the extension was compiled with.
*
* <example>
* <title>Checking the runtime version of the Thunar Extension library</title>
* <programlisting>
* const gchar *mismatch;
* mismatch = thunarx_check_version (THUNARX_VERSION_MAJOR,
* THUNARX_VERSION_MINOR,
* THUNARX_VERSION_MICRO);
* if (G_UNLIKELY (mismatch != NULL))
* g_error ("Version mismatch: %<!---->s", mismatch);
* </programlisting>
* </example>
*
* Return value: %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.
**/
const gchar*
thunarx_check_version (guint required_major,
guint required_minor,
guint required_micro)
{
return NULL;
}
|