From 793d76056944679ac779c813dcd756158bc19aea Mon Sep 17 00:00:00 2001 From: HumanDynamo Date: Wed, 14 Apr 2010 10:29:02 +0000 Subject: [PATCH] re-organize common code to share between Minolta and Sony --- src/minoltamn.cpp | 2 +- src/minoltasonyvalues.cpp | 11 +++++++++-- src/minoltasonyvalues.hpp | 3 +++ src/sonymn.cpp | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index 31062b18..82a1eb2f 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -140,7 +140,7 @@ namespace Exiv2 { minoltaIfdId, makerTags, unsignedLong, printValue), TagInfo(0x010c, "LensID", N_("Lens ID"), N_("Lens identifier"), - minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaSonyLensID)), + minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyLensID), TagInfo(0x0114, "CameraSettings5D", N_("Camera Settings (5D)"), N_("Camera Settings (for Dynax 5D model)"), minoltaIfdId, makerTags, undefined, printValue), diff --git a/src/minoltasonyvalues.cpp b/src/minoltasonyvalues.cpp index 18a0d1c0..c2a1b57d 100644 --- a/src/minoltasonyvalues.cpp +++ b/src/minoltasonyvalues.cpp @@ -46,7 +46,7 @@ EXIV2_RCSID("@(#) $Id$") // member definitions namespace Exiv2 { - //! Lookup table to translate Minolta/Sony Lens id values to readable labels + //! Lookup table to translate Minolta/Sony Lens id values to readable labels /* NOTE: - duplicate tags value are: 0/25520, 4/25920, 13/25610, 19/25910, 22/26050/26070, @@ -54,7 +54,7 @@ namespace Exiv2 { 25720/25721, 25790/25791, 25960/25961, 25980/25981, 26150/26151 - No need to i18n these string. */ - extern TagDetails minoltaSonyLensID[] = { + extern TagDetails const minoltaSonyLensID[] = { { 0, "AF28-85mm F3.5-4.5" }, { 1, "AF80-200mm F2.8G" }, { 2, "AF28-70mm F2.8G" }, @@ -181,4 +181,11 @@ namespace Exiv2 { { 45741, "AF200mm F2.8G x2 | TOKINA 300mm F2.8 x2" } }; + std::ostream& printMinoltaSonyLensID(std::ostream& os, const Value& value, const ExifData* metadata) + { + return EXV_PRINT_TAG(minoltaSonyLensID)(os, value, metadata); + } + + // TODO: Added shared methods here. + } // namespace Exiv2 diff --git a/src/minoltasonyvalues.hpp b/src/minoltasonyvalues.hpp index 43eee66f..b24e5097 100644 --- a/src/minoltasonyvalues.hpp +++ b/src/minoltasonyvalues.hpp @@ -40,6 +40,9 @@ // namespace extensions namespace Exiv2 { + //! PrintMinolta/Sony Lens id values to readable labels + EXIV2API std::ostream& printMinoltaSonyLensID(std::ostream& os, const Value& value, const ExifData*); + // TODO: Added shared methods here. } // namespace Exiv2 diff --git a/src/sonymn.cpp b/src/sonymn.cpp index 4294f8ca..00d4440a 100644 --- a/src/sonymn.cpp +++ b/src/sonymn.cpp @@ -158,7 +158,7 @@ namespace Exiv2 { TagInfo(0xb027, "LensID", N_("Lens ID"), N_("Lens identifier"), - sonyIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaSonyLensID)), + sonyIfdId, makerTags, unsignedLong, printMinoltaSonyLensID), // --------------------------------------------------------------------------------