#ifndef _AVIFILE_MOVIEDATA_HPP_ #define _AVIFILE_MOVIEDATA_HPP_ #ifndef _COMMON_GLOBALDATA_HPP_ #include #endif class MovieData : public GlobalData { public: enum DataType{Audio,DIBCompressed,DIBUnCompressed,IV,Unknown}; MovieData(DataType dataType=Unknown); MovieData(const MovieData &someMovieData); virtual ~MovieData(); MovieData &operator=(const MovieData &someMovieData); WORD operator==(const MovieData &someMovieData)const; DataType dataType(void)const; void dataType(DataType dataType); WORD streamNumber(void)const; void streamNumber(WORD streamNumber); private: DataType mDataType; WORD mStreamNumber; }; inline MovieData::MovieData(DataType dataType) : mDataType(dataType) { } inline MovieData::MovieData(const MovieData &someMovieData) { *this=someMovieData; } inline MovieData::~MovieData() { } inline MovieData &MovieData::operator=(const MovieData &someMovieData) { dataType(someMovieData.dataType()); streamNumber(someMovieData.streamNumber()); (GlobalData&)*this=(GlobalData&)someMovieData; return *this; } inline WORD MovieData::operator==(const MovieData &someMovieData)const { if(!(dataType()==someMovieData.dataType()))return FALSE; if(!(streamNumber()==someMovieData.streamNumber()))return FALSE; return (GlobalData&)*this==(GlobalData&)someMovieData; } inline MovieData::DataType MovieData::dataType(void)const { return mDataType; } inline void MovieData::dataType(DataType dataType) { mDataType=dataType; } inline WORD MovieData::streamNumber(void)const { return mStreamNumber; } inline void MovieData::streamNumber(WORD streamNumber) { mStreamNumber=streamNumber; } #endif