123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #if !defined(MEDIAINFO_HPP)
- #define MEDIAINFO_HPP
- //______________________________________________________________________________
- //
- // MediaInfo.hpp
- //
- #include "FourCC.hpp"
- #include <string>
- #include <exception>
- #include <iosfwd>
- namespace on2vp
- {
- //--------------------------------------
- class MediaInfo
- {
- friend std::ostream& operator<<(std::ostream& os, const MediaInfo& mi);
- public:
- class Exception : public std::exception
- {
- public:
- Exception(const std::string& strText);
- ~Exception() throw();
- const char* what() const throw();
- private:
- std::string m_strText;
- };
- MediaInfo();
- MediaInfo(const MediaInfo& mi);
- ~MediaInfo();
- MediaInfo& operator=(const MediaInfo& mi);
- void parse(const std::string& strMediaInfo);
- const unsigned char* data() const;
- unsigned long dataSize() const;
- private:
- enum
- {
- DataSizeMax = 16384
- };
- void init_();
- void copy_(const MediaInfo& mi);
- void extract_(const std::string& strMediaInfo);
- void update_();
- unsigned long append_(FourCC fcc, const std::string& strData, char*& pData);
- std::string m_strArchivalLocation;
- std::string m_strArtist;
- std::string m_strCommissioned;
- std::string m_strComments;
- std::string m_strCopyright;
- std::string m_strCreationDate;
- std::string m_strCropped;
- std::string m_strDimensions;
- std::string m_strDotsPerInch;
- std::string m_strEngineer;
- std::string m_strGenre;
- std::string m_strKeywords;
- std::string m_strLightness;
- std::string m_strMedium;
- std::string m_strName;
- std::string m_strPaletteSetting;
- std::string m_strProduct;
- std::string m_strSubject;
- std::string m_strSoftware;
- std::string m_strSharpness;
- std::string m_strSource;
- std::string m_strSourceForm;
- std::string m_strTechnician;
- unsigned char* m_pData;
- unsigned long m_ulDataSize;
- };
- } // namespace on2vp
- #endif // MEDIAINFO_HPP
|