Coverage Report

Created: 2026-01-25 07:18

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/exiv2/src/casiomn_int.hpp
Line
Count
Source
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
3
/*!
4
  @file    casiomn_int.hpp
5
  @brief   Casio MakerNote implemented using the following references:
6
           <a href="http://gvsoft.homedns.org/exif/makernote-casio-type1.html">Casio MakerNote Information</a> by
7
  GVsoft, Casio.pm of <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/">ExifTool</a> by Phil Harvey, <a
8
  href="http://www.ozhiker.com/electronics/pjmt/jpeg_info/casio_mn.html#Casio_Type_1_Tags">Casio Makernote Format
9
  Specification</a> by Evan Hunter.
10
  @date    30-Oct-13, ahu: created
11
 */
12
#ifndef EXIV2_CASIOMN_INT_HPP
13
#define EXIV2_CASIOMN_INT_HPP
14
15
// *****************************************************************************
16
// included header files
17
#include <iosfwd>
18
19
// *****************************************************************************
20
// namespace extensions
21
namespace Exiv2 {
22
class ExifData;
23
class Value;
24
struct TagInfo;
25
26
namespace Internal {
27
// *****************************************************************************
28
// class definitions
29
30
//! MakerNote for Casio cameras
31
class CasioMakerNote {
32
 public:
33
  //! Return read-only list of built-in Casio tags
34
0
  static constexpr auto tagList() {
35
0
    return tagInfo_;
36
0
  }
37
  //! Print ObjectDistance
38
  static std::ostream& print0x0006(std::ostream& os, const Value& value, const ExifData*);
39
  //! Print FirmwareDate
40
  static std::ostream& print0x0015(std::ostream& os, const Value& value, const ExifData*);
41
42
 private:
43
  //! Makernote tag list
44
  static const TagInfo tagInfo_[];
45
46
};  // class CasioMakerNote
47
48
//! MakerNote for Casio2 cameras
49
class Casio2MakerNote {
50
 public:
51
  //! Return read-only list of built-in Casio2 tags
52
302
  static constexpr auto tagList() {
53
302
    return tagInfo_;
54
302
  }
55
  //! Print FirmwareDate
56
  static std::ostream& print0x2001(std::ostream& os, const Value& value, const ExifData*);
57
  //! Print ObjectDistance
58
  static std::ostream& print0x2022(std::ostream& os, const Value& value, const ExifData*);
59
60
 private:
61
  //! Makernote tag list
62
  static const TagInfo tagInfo_[];
63
64
};  // class Casio2MakerNote
65
66
}  // namespace Internal
67
}  // namespace Exiv2
68
69
#endif  // EXIV2_CASIOMN_INT_HPP