~ubuntu-branches/ubuntu/precise/exiv2/precise

« back to all changes in this revision

Viewing changes to doc/html/classExiv2_1_1MakerNoteFactory.html

  • Committer: Bazaar Package Importer
  • Author(s): Anthony Mercatante
  • Date: 2006-12-07 18:40:10 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20061207184010-0ouu8v0dr8nznob9
Tags: 0.12-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
6
</head><body>
7
 
<!-- Generated by Doxygen 1.4.6 -->
 
7
<!-- Generated by Doxygen 1.5.1 -->
8
8
<div class="tabs">
9
9
  <ul>
10
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
12
    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
13
13
    <li><a href="files.html"><span>Files</span></a></li>
14
14
    <li><a href="examples.html"><span>Examples</span></a></li>
 
15
    <li>
 
16
      <form action="search.php" method="get">
 
17
        <table cellspacing="0" cellpadding="0" border="0">
 
18
          <tr>
 
19
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
 
20
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
 
21
          </tr>
 
22
        </table>
 
23
      </form>
 
24
    </li>
15
25
  </ul></div>
16
26
<div class="tabs">
17
27
  <ul>
31
41
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classExiv2_1_1MakerNoteFactory-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
32
42
<tr><td></td></tr>
33
43
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
34
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c896b274b2bdf1d4d40cc9dbaec231f"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::cleanup" ref="1c896b274b2bdf1d4d40cc9dbaec231f" args="()" -->
35
 
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#1c896b274b2bdf1d4d40cc9dbaec231f">cleanup</a> ()</td></tr>
 
44
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8208f387a29a7895bfd90ba9a62b3821"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::cleanup" ref="8208f387a29a7895bfd90ba9a62b3821" args="()" -->
 
45
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#8208f387a29a7895bfd90ba9a62b3821">cleanup</a> ()</td></tr>
36
46
 
37
47
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
38
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#7bbd37a91827199e03bbfaa0c564da95">registerMakerNote</a> (const std::string &amp;make, const std::string &amp;model, <a class="el" href="namespaceExiv2.html#c75cc09b2587146f5b0689dca9ec5b88">CreateFct</a> createMakerNote)</td></tr>
 
48
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#9a9db5e13dd0caa6cfaa814632dbb634">registerMakerNote</a> (const std::string &amp;make, const std::string &amp;model, <a class="el" href="namespaceExiv2.html#80b615696a7d243ee60fec2fd2bf24c6">CreateFct</a> createMakerNote)</td></tr>
39
49
 
40
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a MakerNote create function for a camera make and model.  <a href="#7bbd37a91827199e03bbfaa0c564da95"></a><br></td></tr>
41
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b860d2624b27a69942e0c57c7e15495"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::registerMakerNote" ref="5b860d2624b27a69942e0c57c7e15495" args="(IfdId ifdId, MakerNote::AutoPtr makerNote)" -->
42
 
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#5b860d2624b27a69942e0c57c7e15495">registerMakerNote</a> (<a class="el" href="namespaceExiv2.html#1615152767a506a955c9d13443b56b62">IfdId</a> ifdId, <a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a> makerNote)</td></tr>
 
50
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a MakerNote create function for a camera make and model.  <a href="#9a9db5e13dd0caa6cfaa814632dbb634"></a><br></td></tr>
 
51
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7144ee863fc65e5dcbb586676830becb"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::registerMakerNote" ref="7144ee863fc65e5dcbb586676830becb" args="(IfdId ifdId, MakerNote::AutoPtr makerNote)" -->
 
52
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#7144ee863fc65e5dcbb586676830becb">registerMakerNote</a> (<a class="el" href="namespaceExiv2.html#1615152767a506a955c9d13443b56b62">IfdId</a> ifdId, <a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a> makerNote)</td></tr>
43
53
 
44
54
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a MakerNote prototype in the IFD id registry. <br></td></tr>
45
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#c4ee184d581ecdbd241815b0b401ac34">create</a> (const std::string &amp;make, const std::string &amp;model, bool alloc, const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, long offset)</td></tr>
 
55
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#b6fd07ddd1285d35e6ecefca798d7e15">create</a> (const std::string &amp;make, const std::string &amp;model, bool alloc, const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, long offset)</td></tr>
46
56
 
47
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create the appropriate MakerNote based on camera make and model and possibly the contents of the makernote itself, return an auto-pointer to the newly created <a class="el" href="classExiv2_1_1MakerNote.html">MakerNote</a> instance. Return 0 if no MakerNote is defined for the camera model.  <a href="#c4ee184d581ecdbd241815b0b401ac34"></a><br></td></tr>
48
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="144fe2cc1d05b96340d1973e5a45d25d"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::create" ref="144fe2cc1d05b96340d1973e5a45d25d" args="(IfdId ifdId, bool alloc=true)" -->
49
 
static <a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#144fe2cc1d05b96340d1973e5a45d25d">create</a> (<a class="el" href="namespaceExiv2.html#1615152767a506a955c9d13443b56b62">IfdId</a> ifdId, bool alloc=true)</td></tr>
 
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create the appropriate MakerNote based on camera make and model and possibly the contents of the makernote itself, return an auto-pointer to the newly created <a class="el" href="classExiv2_1_1MakerNote.html">MakerNote</a> instance. Return 0 if no MakerNote is defined for the camera model.  <a href="#b6fd07ddd1285d35e6ecefca798d7e15"></a><br></td></tr>
 
58
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba93a8a296209b449c76185c3bf4a438"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::create" ref="ba93a8a296209b449c76185c3bf4a438" args="(IfdId ifdId, bool alloc=true)" -->
 
59
static <a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#ba93a8a296209b449c76185c3bf4a438">create</a> (<a class="el" href="namespaceExiv2.html#1615152767a506a955c9d13443b56b62">IfdId</a> ifdId, bool alloc=true)</td></tr>
50
60
 
51
61
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a MakerNote for an IFD id. <br></td></tr>
52
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#9a924f4df202193ce3de1072c6bd88e0">match</a> (const std::string &amp;regEntry, const std::string &amp;key)</td></tr>
 
62
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory.html#e7e141c71fdb80a25a99200cc7d52ad6">match</a> (const std::string &amp;regEntry, const std::string &amp;key)</td></tr>
53
63
 
54
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Match a registry entry with a key (used for make and model).  <a href="#9a924f4df202193ce3de1072c6bd88e0"></a><br></td></tr>
 
64
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Match a registry entry with a key (used for make and model).  <a href="#e7e141c71fdb80a25a99200cc7d52ad6"></a><br></td></tr>
55
65
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
56
66
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1MakerNoteFactory_1_1Init.html">Init</a></td></tr>
57
67
 
63
73
Maintains an associative list (tree) of camera makes/models and corresponding MakerNote create functions. Creates an instance of the MakerNote for one camera make/model. The factory is implemented as a static class. 
64
74
<p>
65
75
<hr><h2>Member Function Documentation</h2>
66
 
<a class="anchor" name="c4ee184d581ecdbd241815b0b401ac34"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::create" ref="c4ee184d581ecdbd241815b0b401ac34" args="(const std::string &amp;make, const std::string &amp;model, bool alloc, const byte *buf, long len, ByteOrder byteOrder, long offset)" --><p>
67
 
<table class="mdTable" cellpadding="2" cellspacing="0">
68
 
  <tr>
69
 
    <td class="mdRow">
70
 
      <table cellpadding="0" cellspacing="0" border="0">
71
 
        <tr>
72
 
          <td class="md" nowrap valign="top"><a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a> Exiv2::MakerNoteFactory::create           </td>
73
 
          <td class="md" valign="top">(&nbsp;</td>
74
 
          <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
75
 
          <td class="mdname" nowrap> <em>make</em>, </td>
76
 
        </tr>
77
 
        <tr>
78
 
          <td class="md" nowrap align="right"></td>
79
 
          <td class="md"></td>
80
 
          <td class="md" nowrap>const std::string &amp;&nbsp;</td>
81
 
          <td class="mdname" nowrap> <em>model</em>, </td>
82
 
        </tr>
83
 
        <tr>
84
 
          <td class="md" nowrap align="right"></td>
85
 
          <td class="md"></td>
86
 
          <td class="md" nowrap>bool&nbsp;</td>
87
 
          <td class="mdname" nowrap> <em>alloc</em>, </td>
88
 
        </tr>
89
 
        <tr>
90
 
          <td class="md" nowrap align="right"></td>
91
 
          <td class="md"></td>
92
 
          <td class="md" nowrap>const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
93
 
          <td class="mdname" nowrap> <em>buf</em>, </td>
94
 
        </tr>
95
 
        <tr>
96
 
          <td class="md" nowrap align="right"></td>
97
 
          <td class="md"></td>
98
 
          <td class="md" nowrap>long&nbsp;</td>
99
 
          <td class="mdname" nowrap> <em>len</em>, </td>
100
 
        </tr>
101
 
        <tr>
102
 
          <td class="md" nowrap align="right"></td>
103
 
          <td class="md"></td>
104
 
          <td class="md" nowrap><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&nbsp;</td>
105
 
          <td class="mdname" nowrap> <em>byteOrder</em>, </td>
106
 
        </tr>
107
 
        <tr>
108
 
          <td class="md" nowrap align="right"></td>
109
 
          <td class="md"></td>
110
 
          <td class="md" nowrap>long&nbsp;</td>
111
 
          <td class="mdname" nowrap> <em>offset</em></td>
112
 
        </tr>
113
 
        <tr>
114
 
          <td class="md"></td>
115
 
          <td class="md">)&nbsp;</td>
116
 
          <td class="md" colspan="2"><code> [static]</code></td>
117
 
        </tr>
118
 
      </table>
119
 
    </td>
120
 
  </tr>
121
 
</table>
122
 
<table cellspacing="5" cellpadding="0" border="0">
123
 
  <tr>
124
 
    <td>
125
 
      &nbsp;
126
 
    </td>
127
 
    <td>
 
76
<a class="anchor" name="9a9db5e13dd0caa6cfaa814632dbb634"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::registerMakerNote" ref="9a9db5e13dd0caa6cfaa814632dbb634" args="(const std::string &amp;make, const std::string &amp;model, CreateFct createMakerNote)" -->
 
77
<div class="memitem">
 
78
<div class="memproto">
 
79
      <table class="memname">
 
80
        <tr>
 
81
          <td class="memname">static void Exiv2::MakerNoteFactory::registerMakerNote           </td>
 
82
          <td>(</td>
 
83
          <td class="paramtype">const std::string &amp;&nbsp;</td>
 
84
          <td class="paramname"> <em>make</em>, </td>
 
85
        </tr>
 
86
        <tr>
 
87
          <td class="paramkey"></td>
 
88
          <td></td>
 
89
          <td class="paramtype">const std::string &amp;&nbsp;</td>
 
90
          <td class="paramname"> <em>model</em>, </td>
 
91
        </tr>
 
92
        <tr>
 
93
          <td class="paramkey"></td>
 
94
          <td></td>
 
95
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#80b615696a7d243ee60fec2fd2bf24c6">CreateFct</a>&nbsp;</td>
 
96
          <td class="paramname"> <em>createMakerNote</em></td><td>&nbsp;</td>
 
97
        </tr>
 
98
        <tr>
 
99
          <td></td>
 
100
          <td>)</td>
 
101
          <td></td><td></td><td width="100%"><code> [static]</code></td>
 
102
        </tr>
 
103
      </table>
 
104
</div>
 
105
<div class="memdoc">
 
106
 
 
107
<p>
 
108
Register a MakerNote create function for a camera make and model. 
 
109
<p>
 
110
Registers a create function for a MakerNote for a given make and model combination with the factory. Both the make and model strings may contain wildcards ('*', e.g., "Canon*"). If the make already exists in the registry, then a new branch for the model is added. If the model also already exists, then the new create function replaces the old one.<p>
 
111
<dl compact><dt><b>Parameters:</b></dt><dd>
 
112
  <table border="0" cellspacing="2" cellpadding="0">
 
113
    <tr><td valign="top"></td><td valign="top"><em>make</em>&nbsp;</td><td>Camera manufacturer. (Typically the string from the Exif make tag.) </td></tr>
 
114
    <tr><td valign="top"></td><td valign="top"><em>model</em>&nbsp;</td><td>Camera model. (Typically the string from the Exif model tag.) </td></tr>
 
115
    <tr><td valign="top"></td><td valign="top"><em>createMakerNote</em>&nbsp;</td><td>Pointer to a function to create a new MakerNote of a particular type. </td></tr>
 
116
  </table>
 
117
</dl>
 
118
 
 
119
</div>
 
120
</div><p>
 
121
<a class="anchor" name="b6fd07ddd1285d35e6ecefca798d7e15"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::create" ref="b6fd07ddd1285d35e6ecefca798d7e15" args="(const std::string &amp;make, const std::string &amp;model, bool alloc, const byte *buf, long len, ByteOrder byteOrder, long offset)" -->
 
122
<div class="memitem">
 
123
<div class="memproto">
 
124
      <table class="memname">
 
125
        <tr>
 
126
          <td class="memname">static <a class="el" href="classExiv2_1_1MakerNote.html#75c707e4233b5c8cea97e9ff3a32a4df">MakerNote::AutoPtr</a> Exiv2::MakerNoteFactory::create           </td>
 
127
          <td>(</td>
 
128
          <td class="paramtype">const std::string &amp;&nbsp;</td>
 
129
          <td class="paramname"> <em>make</em>, </td>
 
130
        </tr>
 
131
        <tr>
 
132
          <td class="paramkey"></td>
 
133
          <td></td>
 
134
          <td class="paramtype">const std::string &amp;&nbsp;</td>
 
135
          <td class="paramname"> <em>model</em>, </td>
 
136
        </tr>
 
137
        <tr>
 
138
          <td class="paramkey"></td>
 
139
          <td></td>
 
140
          <td class="paramtype">bool&nbsp;</td>
 
141
          <td class="paramname"> <em>alloc</em>, </td>
 
142
        </tr>
 
143
        <tr>
 
144
          <td class="paramkey"></td>
 
145
          <td></td>
 
146
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
 
147
          <td class="paramname"> <em>buf</em>, </td>
 
148
        </tr>
 
149
        <tr>
 
150
          <td class="paramkey"></td>
 
151
          <td></td>
 
152
          <td class="paramtype">long&nbsp;</td>
 
153
          <td class="paramname"> <em>len</em>, </td>
 
154
        </tr>
 
155
        <tr>
 
156
          <td class="paramkey"></td>
 
157
          <td></td>
 
158
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&nbsp;</td>
 
159
          <td class="paramname"> <em>byteOrder</em>, </td>
 
160
        </tr>
 
161
        <tr>
 
162
          <td class="paramkey"></td>
 
163
          <td></td>
 
164
          <td class="paramtype">long&nbsp;</td>
 
165
          <td class="paramname"> <em>offset</em></td><td>&nbsp;</td>
 
166
        </tr>
 
167
        <tr>
 
168
          <td></td>
 
169
          <td>)</td>
 
170
          <td></td><td></td><td width="100%"><code> [static]</code></td>
 
171
        </tr>
 
172
      </table>
 
173
</div>
 
174
<div class="memdoc">
128
175
 
129
176
<p>
130
177
Create the appropriate MakerNote based on camera make and model and possibly the contents of the makernote itself, return an auto-pointer to the newly created <a class="el" href="classExiv2_1_1MakerNote.html">MakerNote</a> instance. Return 0 if no MakerNote is defined for the camera model. 
141
188
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>Offset from the start of the TIFF header of the makernote buffer.</td></tr>
142
189
  </table>
143
190
</dl>
144
 
<dl compact><dt><b>Returns:</b></dt><dd>An auto-pointer that owns a MakerNote for the camera model. If the camera is not supported, the pointer is 0. </dd></dl>
145
 
    </td>
146
 
  </tr>
147
 
</table>
148
 
<a class="anchor" name="9a924f4df202193ce3de1072c6bd88e0"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::match" ref="9a924f4df202193ce3de1072c6bd88e0" args="(const std::string &amp;regEntry, const std::string &amp;key)" --><p>
149
 
<table class="mdTable" cellpadding="2" cellspacing="0">
150
 
  <tr>
151
 
    <td class="mdRow">
152
 
      <table cellpadding="0" cellspacing="0" border="0">
153
 
        <tr>
154
 
          <td class="md" nowrap valign="top">int Exiv2::MakerNoteFactory::match           </td>
155
 
          <td class="md" valign="top">(&nbsp;</td>
156
 
          <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
157
 
          <td class="mdname" nowrap> <em>regEntry</em>, </td>
158
 
        </tr>
159
 
        <tr>
160
 
          <td class="md" nowrap align="right"></td>
161
 
          <td class="md"></td>
162
 
          <td class="md" nowrap>const std::string &amp;&nbsp;</td>
163
 
          <td class="mdname" nowrap> <em>key</em></td>
164
 
        </tr>
165
 
        <tr>
166
 
          <td class="md"></td>
167
 
          <td class="md">)&nbsp;</td>
168
 
          <td class="md" colspan="2"><code> [static]</code></td>
 
191
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An auto-pointer that owns a MakerNote for the camera model. If the camera is not supported, the pointer is 0. </dd></dl>
 
192
 
 
193
</div>
 
194
</div><p>
 
195
<a class="anchor" name="e7e141c71fdb80a25a99200cc7d52ad6"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::match" ref="e7e141c71fdb80a25a99200cc7d52ad6" args="(const std::string &amp;regEntry, const std::string &amp;key)" -->
 
196
<div class="memitem">
 
197
<div class="memproto">
 
198
      <table class="memname">
 
199
        <tr>
 
200
          <td class="memname">static int Exiv2::MakerNoteFactory::match           </td>
 
201
          <td>(</td>
 
202
          <td class="paramtype">const std::string &amp;&nbsp;</td>
 
203
          <td class="paramname"> <em>regEntry</em>, </td>
 
204
        </tr>
 
205
        <tr>
 
206
          <td class="paramkey"></td>
 
207
          <td></td>
 
208
          <td class="paramtype">const std::string &amp;&nbsp;</td>
 
209
          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
 
210
        </tr>
 
211
        <tr>
 
212
          <td></td>
 
213
          <td>)</td>
 
214
          <td></td><td></td><td width="100%"><code> [static]</code></td>
169
215
        </tr>
170
216
      </table>
171
 
    </td>
172
 
  </tr>
173
 
</table>
174
 
<table cellspacing="5" cellpadding="0" border="0">
175
 
  <tr>
176
 
    <td>
177
 
      &nbsp;
178
 
    </td>
179
 
    <td>
 
217
</div>
 
218
<div class="memdoc">
180
219
 
181
220
<p>
182
221
Match a registry entry with a key (used for make and model). 
183
222
<p>
184
223
The matching algorithm is case insensitive and wildcards ('*') in the registry entry are supported. The best match is an exact match, then a match is rated according to the number of matching characters.<p>
185
 
<dl compact><dt><b>Returns:</b></dt><dd>A score value indicating how good the key and registry entry match. 0 means no match, values greater than 0 indicate a match, larger values are better matches:<br>
 
224
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A score value indicating how good the key and registry entry match. 0 means no match, values greater than 0 indicate a match, larger values are better matches:<br>
186
225
 0: key and registry entry do not match<br>
187
226
 1: a pure wildcard match, i.e., the registry entry is just a wildcard.<br>
188
227
 Score values greater than 1 are computed by adding 1 to the number of matching characters, except for an exact match, which scores 2 plus the number of matching characters. </dd></dl>
189
 
    </td>
190
 
  </tr>
191
 
</table>
192
 
<a class="anchor" name="7bbd37a91827199e03bbfaa0c564da95"></a><!-- doxytag: member="Exiv2::MakerNoteFactory::registerMakerNote" ref="7bbd37a91827199e03bbfaa0c564da95" args="(const std::string &amp;make, const std::string &amp;model, CreateFct createMakerNote)" --><p>
193
 
<table class="mdTable" cellpadding="2" cellspacing="0">
194
 
  <tr>
195
 
    <td class="mdRow">
196
 
      <table cellpadding="0" cellspacing="0" border="0">
197
 
        <tr>
198
 
          <td class="md" nowrap valign="top">void Exiv2::MakerNoteFactory::registerMakerNote           </td>
199
 
          <td class="md" valign="top">(&nbsp;</td>
200
 
          <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
201
 
          <td class="mdname" nowrap> <em>make</em>, </td>
202
 
        </tr>
203
 
        <tr>
204
 
          <td class="md" nowrap align="right"></td>
205
 
          <td class="md"></td>
206
 
          <td class="md" nowrap>const std::string &amp;&nbsp;</td>
207
 
          <td class="mdname" nowrap> <em>model</em>, </td>
208
 
        </tr>
209
 
        <tr>
210
 
          <td class="md" nowrap align="right"></td>
211
 
          <td class="md"></td>
212
 
          <td class="md" nowrap><a class="el" href="namespaceExiv2.html#c75cc09b2587146f5b0689dca9ec5b88">CreateFct</a>&nbsp;</td>
213
 
          <td class="mdname" nowrap> <em>createMakerNote</em></td>
214
 
        </tr>
215
 
        <tr>
216
 
          <td class="md"></td>
217
 
          <td class="md">)&nbsp;</td>
218
 
          <td class="md" colspan="2"><code> [static]</code></td>
219
 
        </tr>
220
 
      </table>
221
 
    </td>
222
 
  </tr>
223
 
</table>
224
 
<table cellspacing="5" cellpadding="0" border="0">
225
 
  <tr>
226
 
    <td>
227
 
      &nbsp;
228
 
    </td>
229
 
    <td>
230
228
 
231
 
<p>
232
 
Register a MakerNote create function for a camera make and model. 
233
 
<p>
234
 
Registers a create function for a MakerNote for a given make and model combination with the factory. Both the make and model strings may contain wildcards ('*', e.g., "Canon*"). If the make already exists in the registry, then a new branch for the model is added. If the model also already exists, then the new create function replaces the old one.<p>
235
 
<dl compact><dt><b>Parameters:</b></dt><dd>
236
 
  <table border="0" cellspacing="2" cellpadding="0">
237
 
    <tr><td valign="top"></td><td valign="top"><em>make</em>&nbsp;</td><td>Camera manufacturer. (Typically the string from the Exif make tag.) </td></tr>
238
 
    <tr><td valign="top"></td><td valign="top"><em>model</em>&nbsp;</td><td>Camera model. (Typically the string from the Exif model tag.) </td></tr>
239
 
    <tr><td valign="top"></td><td valign="top"><em>createMakerNote</em>&nbsp;</td><td>Pointer to a function to create a new MakerNote of a particular type. </td></tr>
240
 
  </table>
241
 
</dl>
242
 
    </td>
243
 
  </tr>
244
 
</table>
245
 
<hr>The documentation for this class was generated from the following files:<ul>
246
 
<li><a class="el" href="makernote_8hpp.html">makernote.hpp</a><li>makernote.cpp</ul>
247
 
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 2 23:55:05 2006 for Exiv2 by&nbsp;
 
229
</div>
 
230
</div><p>
 
231
<hr>The documentation for this class was generated from the following file:<ul>
 
232
<li><a class="el" href="makernote_8hpp.html">makernote.hpp</a></ul>
 
233
<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 27 20:16:29 2006 for Exiv2 by&nbsp;
248
234
<a href="http://www.doxygen.org/index.html">
249
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
 
235
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
250
236
</body>
251
237
</html>