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
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Exiv2: exiv2_version.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="classes.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul></div>
<h1>exiv2_version.h File Reference</h1>Define to check the Exiv2 version. The Exiv2 library itself does not use the defines in this file, they are meant for use by applications. References: Similar versioning defines are used in KDE, GTK and other libraries. See <a href="http://apr.apache.org/versioning.html">http://apr.apache.org/versioning.html</a> for accompanying guidelines. <a href="#_details">More...</a>
<p>
<p>
This graph shows which files directly or indirectly include this file:<p><center><img src="exiv2__version_8h__dep__incl.png" border="0" usemap="#exiv2_version.hdep_map" alt=""></center>
<map name="exiv2_version.hdep_map">
<area href="types_8hpp.html" shape="rect" coords="168,6,248,30" alt="">
</map>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d7ce36e8573ce08d0d653f6608f5e2f"></a><!-- doxytag: member="exiv2_version.h::EXIV2_MAJOR_VERSION" ref="9d7ce36e8573ce08d0d653f6608f5e2f" args="" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#9d7ce36e8573ce08d0d653f6608f5e2f">EXIV2_MAJOR_VERSION</a> (0)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exiv2 MAJOR version number. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c09c19387473b4cf4139bdab514df45"></a><!-- doxytag: member="exiv2_version.h::EXIV2_MINOR_VERSION" ref="0c09c19387473b4cf4139bdab514df45" args="" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#0c09c19387473b4cf4139bdab514df45">EXIV2_MINOR_VERSION</a> (10)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exiv2 MINOR version number. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4be9dc2030a5a50ecc1461bfb24fa45"></a><!-- doxytag: member="exiv2_version.h::EXIV2_PATCH_VERSION" ref="a4be9dc2030a5a50ecc1461bfb24fa45" args="" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#a4be9dc2030a5a50ecc1461bfb24fa45">EXIV2_PATCH_VERSION</a> (0)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exiv2 PATCH version number. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d75ce8591ccba90183669df83a9b436"></a><!-- doxytag: member="exiv2_version.h::EXIV2_MAKE_VERSION" ref="5d75ce8591ccba90183669df83a9b436" args="(major, minor, patch)" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#5d75ce8591ccba90183669df83a9b436">EXIV2_MAKE_VERSION</a>(major, minor, patch) (((major) << 16) | ((minor) << 8) | (patch))</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Make an integer version number for comparison from a major, minor and a patch version number. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc8ab8239dc3f8fc5e938fe54f48e5b5"></a><!-- doxytag: member="exiv2_version.h::EXIV2_VERSION" ref="fc8ab8239dc3f8fc5e938fe54f48e5b5" args="" -->
#define </td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#fc8ab8239dc3f8fc5e938fe54f48e5b5">EXIV2_VERSION</a> EXIV2_MAKE_VERSION(EXIV2_MAJOR_VERSION,EXIV2_MINOR_VERSION,EXIV2_PATCH_VERSION)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The Exiv2 version number as an integer number for easy comparison. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#d0ca585932ba389302880cc482ea7d2e">EXIV2_CHECK_VERSION</a>(major, minor, patch) ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check the version of the Exiv2 library. Return TRUE if the version of Exiv2 is the same as or newer than the passed-in version. <a href="#d0ca585932ba389302880cc482ea7d2e"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Define to check the Exiv2 version. The Exiv2 library itself does not use the defines in this file, they are meant for use by applications. References: Similar versioning defines are used in KDE, GTK and other libraries. See <a href="http://apr.apache.org/versioning.html">http://apr.apache.org/versioning.html</a> for accompanying guidelines.
<p>
<dl compact><dt><b>Version:</b></dt><dd>$Rev$ </dd></dl>
<dl compact><dt><b>Author:</b></dt><dd>Andreas Huggel (ahu) <a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a> </dd></dl>
<dl compact><dt><b>Date:</b></dt><dd>31-May-06, ahu: created </dd></dl>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="d0ca585932ba389302880cc482ea7d2e"></a><!-- doxytag: member="exiv2_version.h::EXIV2_CHECK_VERSION" ref="d0ca585932ba389302880cc482ea7d2e" args="(major, minor, patch)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top">#define EXIV2_CHECK_VERSION </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">major, <tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>minor, <tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>patch </td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top"> ) </td>
<td class="md" nowrap> ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) )</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
</td>
<td>
<p>
Check the version of the Exiv2 library. Return TRUE if the version of Exiv2 is the same as or newer than the passed-in version.
<p>
Versions are denoted using a standard triplet of integers: MAJOR.MINOR.PATCH. The basic intent is that MAJOR versions are incompatible, large-scale upgrades of the API. MINOR versions retain source and binary compatibility with older minor versions, and changes in the PATCH level are perfectly compatible, forwards and backwards.<p>
Details of these guidelines are described in <a href="http://apr.apache.org/versioning.html">http://apr.apache.org/versioning.html</a><p>
It is important to note that as long as the library has not reached 1.0.0 it is not subject to the guidelines described in the document above. Before a 1.0 release (version 0.x.y), the API can and will be changing freely, without regard to the restrictions detailed in the above document.<p>
<div class="fragment"><pre class="fragment"> <span class="comment">// Don't include the exiv2_version.h file, it is included by types.hpp</span>
<span class="comment">// Exiv2 versions before 0.10 didn't have this file and the macros</span>
<span class="preprocessor"> #ifndef EXIV2_CHECK_VERSION</span>
<span class="preprocessor"></span><span class="preprocessor"> # define EXIV2_CHECK_VERSION(a,b,c) (false)</span>
<span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<span class="preprocessor"></span>
<span class="comment">// ...</span>
<span class="comment">// Check the Exiv2 version available at runtime</span>
<span class="keywordflow">if</span> (<a class="code" href="exiv2__version_8h.html#d0ca585932ba389302880cc482ea7d2e">EXIV2_CHECK_VERSION</a>(0,10,0)) {
<span class="comment">// Available Exiv2 version is equal to or greater than requested</span>
}
<span class="keywordflow">else</span> {
<span class="comment">// Installed Exiv2 version is less than requested</span>
}
</pre></div> </td>
</tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 2 23:54:16 2006 for Exiv2 by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
</body>
</html>
|