Coverage Report

Created: 2026-04-29 07:00

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/exiv2/src/panasonicmn_int.hpp
Line
Count
Source
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
3
#ifndef PANASONICMN_INT_HPP_
4
#define PANASONICMN_INT_HPP_
5
6
// *****************************************************************************
7
// included header files
8
#include <iosfwd>
9
10
// *****************************************************************************
11
// namespace extensions
12
namespace Exiv2 {
13
class ExifData;
14
class Value;
15
struct TagInfo;
16
17
namespace Internal {
18
// *****************************************************************************
19
// class definitions
20
21
//! MakerNote for Panasonic cameras
22
class PanasonicMakerNote {
23
 public:
24
  //! Return read-only list of built-in Panasonic tags
25
1.00k
  static constexpr auto tagList() {
26
1.00k
    return tagInfo_;
27
1.00k
  }
28
  //! Return read-only list of built-in Panasonic RAW image tags (IFD0)
29
2.13k
  static constexpr auto tagListRaw() {
30
2.13k
    return tagInfoRaw_;
31
2.13k
  }
32
33
  //! @name Print functions for Panasonic %MakerNote tags
34
  //@{
35
  //! Print SpotMode
36
  static std::ostream& print0x000f(std::ostream& os, const Value& value, const ExifData*);
37
  //! Print WhiteBalanceBias
38
  static std::ostream& print0x0023(std::ostream& os, const Value& value, const ExifData*);
39
  //! Print TimeSincePowerOn
40
  static std::ostream& print0x0029(std::ostream& os, const Value& value, const ExifData*);
41
  //! Print Baby age
42
  static std::ostream& print0x0033(std::ostream& os, const Value& value, const ExifData*);
43
  //! Print Travel days
44
  static std::ostream& print0x0036(std::ostream& os, const Value& value, const ExifData*);
45
  //! Print ISO
46
  static std::ostream& print0x003c(std::ostream& os, const Value& value, const ExifData*);
47
  //! Print Manometer Pressure
48
  static std::ostream& printPressure(std::ostream& os, const Value& value, const ExifData*);
49
  //! Print special text values: title, landmark, county and so on
50
  static std::ostream& printPanasonicText(std::ostream& os, const Value& value, const ExifData*);
51
  //! Print accelerometer readings
52
  static std::ostream& printAccelerometer(std::ostream& os, const Value& value, const ExifData*);
53
  //! Print roll angle
54
  static std::ostream& printRollAngle(std::ostream& os, const Value& value, const ExifData*);
55
  //! Print pitch angle
56
  static std::ostream& printPitchAngle(std::ostream& os, const Value& value, const ExifData*);
57
  //@}
58
59
 private:
60
  //! Makernote tag list
61
  static const TagInfo tagInfo_[];
62
  //! Taglist for IFD0 of Panasonic RAW images
63
  static const TagInfo tagInfoRaw_[];
64
65
};  // class PanasonicMakerNote
66
}  // namespace Internal
67
}  // namespace Exiv2
68
69
#endif  // #ifndef PANASONICMN_INT_HPP_