1
// ***************************************************************** -*- C++ -*-
3
* Copyright (C) 2009 Brad Schick <schickb@gmail.com>
5
* This file is part of the organize tool.
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public License
9
* as published by the Free Software Foundation; either version 2
10
* of the License, or (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
24
Author(s): Brad Schick (brad) <schickb@gmail.com>
25
History: 19-Jan-09, brad: created
27
// *****************************************************************************
33
#include <boost/filesystem.hpp>
35
#define BOOST_FILESYSTEM_NO_DEPRECATED
36
namespace fs = boost::filesystem;
39
typedef std::string (*pfunc)(const Exiv2::Image *image, const fs::path &path);
41
// This would be a lot smaller if Exiv2 had support
42
// for unified metadata
44
std::string exif_date(const Exiv2::Image *image, const fs::path &path);
45
std::string exif_year(const Exiv2::Image *image, const fs::path &path);
46
std::string exif_month(const Exiv2::Image *image, const fs::path &path);
47
std::string exif_day(const Exiv2::Image *image, const fs::path &path);
48
std::string iptc_date(const Exiv2::Image *image, const fs::path &path);
49
std::string iptc_year(const Exiv2::Image *image, const fs::path &path);
50
std::string iptc_month(const Exiv2::Image *image, const fs::path &path);
51
std::string iptc_day(const Exiv2::Image *image, const fs::path &path);
52
std::string file_date(const Exiv2::Image *image, const fs::path &path);
53
std::string file_year(const Exiv2::Image *image, const fs::path &path);
54
std::string file_month(const Exiv2::Image *image, const fs::path &path);
55
std::string file_day(const Exiv2::Image *image, const fs::path &path);
56
/*std::string xmp_date(const Exiv2::Image *image, const fs::path &path);
57
std::string xmp_year(const Exiv2::Image *image, const fs::path &path);
58
std::string xmp_month(const Exiv2::Image *image, const fs::path &path);
59
std::string xmp_day(const Exiv2::Image *image, const fs::path &path);*/
60
std::string exif_time(const Exiv2::Image *image, const fs::path &path);
61
std::string exif_hour(const Exiv2::Image *image, const fs::path &path);
62
std::string exif_minute(const Exiv2::Image *image, const fs::path &path);
63
std::string exif_second(const Exiv2::Image *image, const fs::path &path);
64
std::string iptc_time(const Exiv2::Image *image, const fs::path &path);
65
std::string iptc_hour(const Exiv2::Image *image, const fs::path &path);
66
std::string iptc_minute(const Exiv2::Image *image, const fs::path &path);
67
std::string iptc_second(const Exiv2::Image *image, const fs::path &path);
68
std::string file_time(const Exiv2::Image *image, const fs::path &path);
69
std::string file_hour(const Exiv2::Image *image, const fs::path &path);
70
std::string file_minute(const Exiv2::Image *image, const fs::path &path);
71
std::string file_second(const Exiv2::Image *image, const fs::path &path);
72
/*std::string xmp_time(const Exiv2::Image *image, const fs::path &path);
73
std::string xmp_hour(const Exiv2::Image *image, const fs::path &path);
74
std::string xmp_minute(const Exiv2::Image *image, const fs::path &path);
75
std::string xmp_second(const Exiv2::Image *image, const fs::path &path);*/
76
std::string exif_dimension(const Exiv2::Image *image, const fs::path &path);
77
std::string exif_width(const Exiv2::Image *image, const fs::path &path);
78
std::string exif_height(const Exiv2::Image *image, const fs::path &path);
79
std::string file_dimension(const Exiv2::Image *image, const fs::path &path);
80
std::string file_width(const Exiv2::Image *image, const fs::path &path);
81
std::string file_height(const Exiv2::Image *image, const fs::path &path);
82
/*std::string xmp_dimension(const Exiv2::Image *image, const fs::path &path);
83
std::string xmp_width(const Exiv2::Image *image, const fs::path &path);
84
std::string xmp_height(const Exiv2::Image *image, const fs::path &path);*/
85
std::string exif_model(const Exiv2::Image *image, const fs::path &path);
86
std::string exif_make(const Exiv2::Image *image, const fs::path &path);
87
/*std::string xmp_model(const Exiv2::Image *image, const fs::path &path);
88
std::string xmp_make(const Exiv2::Image *image, const fs::path &path);*/
89
std::string exif_speed(const Exiv2::Image *image, const fs::path &path);
90
//std::string xmp_speed(const Exiv2::Image *image, const fs::path &path);
91
std::string exif_aperture(const Exiv2::Image *image, const fs::path &path);
92
//std::string xmp_aperture(const Exiv2::Image *image, const fs::path &path);
93
std::string exif_focal(const Exiv2::Image *image, const fs::path &path);
94
//std::string xmp_focal(const Exiv2::Image *image, const fs::path &path);
95
std::string exif_distance(const Exiv2::Image *image, const fs::path &path);
96
//std::string xmp_distance(const Exiv2::Image *image, const fs::path &path);
97
std::string exif_meter(const Exiv2::Image *image, const fs::path &path);
98
//std::string xmp_meter(const Exiv2::Image *image, const fs::path &path);
99
std::string exif_macro(const Exiv2::Image *image, const fs::path &path);
100
std::string exif_orientation(const Exiv2::Image *image, const fs::path &path);
101
std::string exif_lens(const Exiv2::Image *image, const fs::path &path);
102
std::string exif_keyword(const Exiv2::Image *image, const fs::path &path);
103
std::string iptc_keyword(const Exiv2::Image *image, const fs::path &path);
104
//std::string xmp_keyword(const Exiv2::Image *image, const fs::path &path);
105
std::string exif_iso(const Exiv2::Image *image, const fs::path &path);
107
#endif //HELPERS_HPP_