File: exiv2__version_8h.html

package info (click to toggle)
exiv2 0.10-1.4
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 13,124 kB
  • ctags: 5,665
  • sloc: cpp: 20,697; xml: 15,118; sh: 10,526; ansic: 1,887; makefile: 367; awk: 64; python: 36
file content (122 lines) | stat: -rw-r--r-- 9,417 bytes parent folder | download | duplicates (2)
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&nbsp;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&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>File&nbsp;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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#9d7ce36e8573ce08d0d653f6608f5e2f">EXIV2_MAJOR_VERSION</a>&nbsp;&nbsp;&nbsp;(0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#0c09c19387473b4cf4139bdab514df45">EXIV2_MINOR_VERSION</a>&nbsp;&nbsp;&nbsp;(10)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#a4be9dc2030a5a50ecc1461bfb24fa45">EXIV2_PATCH_VERSION</a>&nbsp;&nbsp;&nbsp;(0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#5d75ce8591ccba90183669df83a9b436">EXIV2_MAKE_VERSION</a>(major, minor, patch)&nbsp;&nbsp;&nbsp;(((major) &lt;&lt; 16) | ((minor) &lt;&lt; 8) | (patch))</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#fc8ab8239dc3f8fc5e938fe54f48e5b5">EXIV2_VERSION</a>&nbsp;&nbsp;&nbsp;EXIV2_MAKE_VERSION(EXIV2_MAJOR_VERSION,EXIV2_MINOR_VERSION,EXIV2_PATCH_VERSION)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="exiv2__version_8h.html#d0ca585932ba389302880cc482ea7d2e">EXIV2_CHECK_VERSION</a>(major, minor, patch)&nbsp;&nbsp;&nbsp;( EXIV2_VERSION &gt;= EXIV2_MAKE_VERSION(major,minor,patch) )</td></tr>

<tr><td class="mdescLeft">&nbsp;</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">(&nbsp;</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&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;( EXIV2_VERSION &gt;= EXIV2_MAKE_VERSION(major,minor,patch) )</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </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&nbsp;
<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>