Bug #936
Video headers include internal include files and need to be added to exiv2.hpp
100%
Description
The *_int.hpp
header files are internal files which are not published. They contain interfaces which are not part of the exiv2 public API and must only be included from *.cpp files, not from published headers.
Currently, all video header files include tags_int.hpp
. That must be removed.
andreas@lenovo:~/src/exiv2/git/src$ grep include.*_int *video*hpp asfvideo.hpp:#include "tags_int.hpp" matroskavideo.hpp:#include "tags_int.hpp" quicktimevideo.hpp:#include "tags_int.hpp" riffvideo.hpp:#include "tags_int.hpp"
(Note to self: One reason why samples need to be built against the installed version of the library!)
Once this is fixed, the video headers should also be added to the exiv2.hpp header file.
Related issues
History
Updated by Robin Mills over 6 years ago
- Status changed from Assigned to Resolved
- Assignee changed from Abhinav Badola to Robin Mills
- Priority changed from High to Normal
- Target version set to 0.25
I believe this has been done. I added a new tree <exiv2dir>/include/exiv2 to hold the public header files. The *int.hpp remain in src directory and are never published. Thomas and I worked on the header files while I was in Tenerife on vacation at New Year #1012
Here is my review of the samples. Only the following reference non public files:
614 rmills@rmillsmbp:~/gnu/exiv2/trunk/samples $ grep include *.cpp | grep '"' metacopy.cpp:#include "utils.hpp" metacopy.cpp:#include "metacopy.hpp" path-test.cpp:#include "utils.hpp" tiffaddpath-test.cpp:#include "tiffcomposite_int.hpp" tiffaddpath-test.cpp:#include "makernote2_int.hpp" tiffaddpath-test.cpp:#include "tiffimage_int.hpp"At some time, I we could create a distinct directory for testprogs such as path-test.cpp and the like. And perhaps metacopy.cpp should become metacopy-test.cpp as I believe the same capability is provided by exiv2 -e. The following are candidates for testprogs:
623 rmills@rmillsmbp:~/gnu/exiv2/trunk/samples $ ls *.cpp | grep -e test -e metacopy | sort conntest.cpp convert-test.cpp easyaccess-test.cpp exifdata-test.cpp httptest.cpp iotest.cpp iptctest.cpp key-test.cpp largeiptc-test.cpp metacopy.cpp mmap-test.cpp path-test.cpp prevtest.cpp remotetest.cpp stringto-test.cpp tiff-test.cpp tiffaddpath-test.cpp werror-test.cpp write-test.cpp write2-test.cpp xmpparser-test.cppThe samples would be reduced to:
$ ls *.cpp | grep -v -e test -v -e metacopy | sort addmoddel.cpp exifcomment.cpp exifdata.cpp exifprint.cpp exifvalue.cpp exiv2json.cpp geotag.cpp iptceasy.cpp iptcprint.cpp taglist.cpp xmpparse.cpp xmpsample.cpp
Undo previous commit that added new headerfiles, pending fix for #936.