Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

ExifFile.hpp

Go to the documentation of this file.
00001 /*
00002     libglim: a C++ Free library render images using OpenGL
00003     Copyright (C) 2002 Nestal Wan
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU General Public License
00007     as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public
00016     License along with this library; if not, write to the Free Software
00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 */
00026 #ifndef __PICINFO_EXIF_FILE_HEADER_INCLUDED__
00027 #define __PICINFO_EXIF_FILE_HEADER_INCLUDED__
00028 
00029 #ifndef __PICINFO_IEXIF_FILE_HEADER_INCLUDED__
00030 #include "IExifFile.hpp"
00031 #endif
00032 
00033 #ifndef __PICINFO_STDIO_FILE_HEADER_INCLUDED__
00034 #include "StdioFile.hpp"
00035 #endif
00036 
00037 #include <memory>
00038 #include <string>
00039 
00040 namespace picinfo {
00041 
00048 class CExifFile : public IExifFile
00049 {
00050 private :
00052     CStdioFile                  m_file ;
00053     
00055     std::auto_ptr<IExifFile>    m_real ;
00056 
00057 public :
00058     CExifFile( const std::string& filename ) ;
00059     ~CExifFile( ) ;
00060 
00061     iterator find( uint16_t tag,
00062                    const TagSpace& tspace = exif_tspace ) const ;
00063 
00064     iterator begin( ) const ;
00065     iterator end( ) const ;
00066 
00067 private :
00068     void SkipApp0( unsigned char *head ) ;
00069     void CheckApp1( ) ;
00070 } ;
00071 
00072 } // end of namespace
00073 
00074 #endif

Generated on Fri Jan 13 23:38:12 2006 for picinfo by  doxygen 1.4.4