diff --git a/src/Makefile b/src/Makefile index 206cf0bb..620bb1d5 100644 --- a/src/Makefile +++ b/src/Makefile @@ -62,7 +62,6 @@ include $(top_srcdir)/config/config.mk CCHDR = exiv2.hpp \ exv_conf.h \ exv_msvc.h \ - mn.hpp \ version.hpp # Add library C++ source files to this list diff --git a/src/exiv2.hpp b/src/exiv2.hpp index fb8de975..be161cbd 100644 --- a/src/exiv2.hpp +++ b/src/exiv2.hpp @@ -33,7 +33,6 @@ // included header files #include "basicio.hpp" #include "bmpimage.hpp" -#include "canonmn.hpp" #include "convert.hpp" #include "cr2image.hpp" #include "crwimage.hpp" @@ -42,7 +41,6 @@ #include "error.hpp" #include "exif.hpp" #include "exiv2.hpp" -#include "fujimn.hpp" #include "futils.hpp" #include "gifimage.hpp" #include "image.hpp" @@ -50,14 +48,8 @@ #include "jp2image.hpp" #include "jpgimage.hpp" #include "metadatum.hpp" -#include "minoltamn.hpp" -#include "mn.hpp" #include "mrwimage.hpp" -#include "nikonmn.hpp" -#include "olympusmn.hpp" #include "orfimage.hpp" -#include "panasonicmn.hpp" -#include "pentaxmn.hpp" #include "pgfimage.hpp" #include "pngimage.hpp" #include "preview.hpp" @@ -65,8 +57,6 @@ #include "psdimage.hpp" #include "rafimage.hpp" #include "rw2image.hpp" -#include "sigmamn.hpp" -#include "sonymn.hpp" #include "tags.hpp" #include "tgaimage.hpp" #include "tiffimage.hpp" diff --git a/src/mn.hpp b/src/mn.hpp deleted file mode 100644 index 95f4aca0..00000000 --- a/src/mn.hpp +++ /dev/null @@ -1,45 +0,0 @@ -// ***************************************************************** -*- C++ -*- -/* - * Copyright (C) 2004-2010 Andreas Huggel - * - * This program is part of the Exiv2 distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. - */ -/*! - @file mn.hpp - @brief Include all makernote header files. Makes sure that the static - variable used to register makernotes is instantiated. - @version $Rev$ - @author Andreas Huggel (ahu) - ahuggel@gmx.net - @date 28-May-05, ahu: created - */ -#ifndef MN_HPP_ -#define MN_HPP_ - -// ***************************************************************************** -// included header files -#include "canonmn.hpp" -#include "fujimn.hpp" -#include "minoltamn.hpp" -#include "nikonmn.hpp" -#include "olympusmn.hpp" -#include "panasonicmn.hpp" -#include "pentaxmn.hpp" -#include "sigmamn.hpp" -#include "sonymn.hpp" - -#endif // #ifndef MN_HPP_ diff --git a/src/nikonmn.cpp b/src/nikonmn.cpp index 67dde2e6..7e0200aa 100644 --- a/src/nikonmn.cpp +++ b/src/nikonmn.cpp @@ -37,7 +37,7 @@ EXIV2_RCSID("@(#) $Id$") // ***************************************************************************** // included header files #include "types.hpp" -#include "nikonmn.hpp" +#include "nikonmn_int.hpp" #include "value.hpp" #include "image.hpp" #include "tags.hpp" @@ -55,6 +55,7 @@ EXIV2_RCSID("@(#) $Id$") // ***************************************************************************** // class member definitions namespace Exiv2 { + namespace Internal { //! OffOn, multiple tags extern const TagDetails nikonOffOn[] = { @@ -2506,4 +2507,5 @@ fmountlens[] = { } return os << s; } -} // namespace Exiv2 + +}} // namespace Internal, Exiv2 diff --git a/src/nikonmn.hpp b/src/nikonmn_int.hpp similarity index 97% rename from src/nikonmn.hpp rename to src/nikonmn_int.hpp index 0cee4fc7..b05e51b6 100644 --- a/src/nikonmn.hpp +++ b/src/nikonmn_int.hpp @@ -19,7 +19,7 @@ * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! - @file nikonmn.hpp + @file nikonmn_int.hpp @brief Nikon makernote tags.
References:
[1] MakerNote EXIF Tag of the Nikon 990 by Max Lyons
[2] Exif file format by TsuruZoh Tachibanaya
@@ -40,8 +40,8 @@ @date 17-May-04, ahu: created
25-May-04, ahu: combined all Nikon formats in one component */ -#ifndef NIKONMN_HPP_ -#define NIKONMN_HPP_ +#ifndef NIKONMN_INT_HPP_ +#define NIKONMN_INT_HPP_ // ***************************************************************************** // included header files @@ -56,12 +56,13 @@ // ***************************************************************************** // namespace extensions namespace Exiv2 { + namespace Internal { // ***************************************************************************** // class definitions //! A MakerNote format used by Nikon cameras, such as the E990 and D1. - class EXIV2API Nikon1MakerNote { + class Nikon1MakerNote { public: //! Return read-only list of built-in Nikon1 tags static const TagInfo* tagList(); @@ -90,7 +91,7 @@ namespace Exiv2 { @brief A second MakerNote format used by Nikon cameras, including the E700, E800, E900, E900S, E910, E950 */ - class EXIV2API Nikon2MakerNote { + class Nikon2MakerNote { public: //! Return read-only list of built-in Nikon2 tags static const TagInfo* tagList(); @@ -108,7 +109,7 @@ namespace Exiv2 { }; // class Nikon2MakerNote //! A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70 - class EXIV2API Nikon3MakerNote { + class Nikon3MakerNote { public: //! Return read-only list of built-in Nikon3 tags static const TagInfo* tagList(); @@ -274,6 +275,6 @@ namespace Exiv2 { }; // class Nikon3MakerNote -} // namespace Exiv2 +}} // namespace Internal, Exiv2 -#endif // #ifndef NIKONMN_HPP_ +#endif // #ifndef NIKONMN_INT_HPP_ diff --git a/src/tags.cpp b/src/tags.cpp index 87b749a6..37850aa1 100644 --- a/src/tags.cpp +++ b/src/tags.cpp @@ -37,7 +37,15 @@ EXIV2_RCSID("@(#) $Id$") #include "error.hpp" #include "futils.hpp" #include "value.hpp" -#include "mn.hpp" // To ensure that all makernotes are registered +#include "canonmn.hpp" +#include "fujimn.hpp" +#include "minoltamn.hpp" +#include "nikonmn_int.hpp" +#include "olympusmn.hpp" +#include "panasonicmn.hpp" +#include "pentaxmn.hpp" +#include "sigmamn.hpp" +#include "sonymn.hpp" #include "i18n.h" // NLS support. #include @@ -68,6 +76,9 @@ namespace { // class member definitions namespace Exiv2 { + // Todo: Remove: temporary fix used during migration of makernote classes to namespace Internal + using namespace Internal; + bool TagVocabulary::operator==(const std::string& key) const { if (strlen(voc_) > key.size()) return false;