#ifndef _IMAGE_IMAGERESOURCEDATAENTRY_HPP_ #define _IMAGE_IMAGERESOURCEDATAENTRY_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_GLOBALDATA_HPP_ #include #endif class PureViewOfFile; class ImageResourceDataEntry : private IMAGE_RESOURCE_DATA_ENTRY { public: ImageResourceDataEntry(void); ImageResourceDataEntry(const ImageResourceDataEntry &someImageResourceDataEntry); virtual ~ImageResourceDataEntry(); ImageResourceDataEntry &operator=(const ImageResourceDataEntry &someImageResourceDataEntry); WORD operator==(const ImageResourceDataEntry &someImageResourceDataEntry)const; operator IMAGE_RESOURCE_DATA_ENTRY &(void); DWORD offsetData(void)const; void offsetData(DWORD offsetData); DWORD size(void)const; void size(DWORD size); DWORD codePage(void)const; void codePage(DWORD codePage); DWORD reserved(void)const; void reserved(DWORD reserved); GlobalData &rawData(void); void read(DWORD deltaOffset,PureViewOfFile &pureView); private: void setZero(void); GlobalData mRawData; }; inline ImageResourceDataEntry::ImageResourceDataEntry(void) { setZero(); } inline ImageResourceDataEntry::ImageResourceDataEntry(const ImageResourceDataEntry &someImageResourceDataEntry) { *this=someImageResourceDataEntry; } inline ImageResourceDataEntry::~ImageResourceDataEntry() { } inline ImageResourceDataEntry &ImageResourceDataEntry::operator=(const ImageResourceDataEntry &someImageResourceDataEntry) { offsetData(someImageResourceDataEntry.offsetData()); size(someImageResourceDataEntry.size()); codePage(someImageResourceDataEntry.codePage()); reserved(someImageResourceDataEntry.reserved()); mRawData=someImageResourceDataEntry.mRawData; return *this; } inline WORD ImageResourceDataEntry::operator==(const ImageResourceDataEntry &someImageResourceDataEntry)const { return (offsetData()==someImageResourceDataEntry.offsetData()&& size()==someImageResourceDataEntry.size()&& codePage()==someImageResourceDataEntry.codePage()&& reserved()==someImageResourceDataEntry.reserved()&& mRawData==someImageResourceDataEntry.mRawData); } inline ImageResourceDataEntry::operator IMAGE_RESOURCE_DATA_ENTRY &(void) { return *this; } inline DWORD ImageResourceDataEntry::offsetData(void)const { return IMAGE_RESOURCE_DATA_ENTRY::OffsetToData; } inline void ImageResourceDataEntry::offsetData(DWORD offsetData) { IMAGE_RESOURCE_DATA_ENTRY::OffsetToData=offsetData; } inline DWORD ImageResourceDataEntry::size(void)const { return IMAGE_RESOURCE_DATA_ENTRY::Size; } inline void ImageResourceDataEntry::size(DWORD size) { IMAGE_RESOURCE_DATA_ENTRY::Size=size; } inline DWORD ImageResourceDataEntry::codePage(void)const { return IMAGE_RESOURCE_DATA_ENTRY::CodePage; } inline void ImageResourceDataEntry::codePage(DWORD codePage) { IMAGE_RESOURCE_DATA_ENTRY::CodePage=codePage; } inline DWORD ImageResourceDataEntry::reserved(void)const { return IMAGE_RESOURCE_DATA_ENTRY::Reserved; } inline void ImageResourceDataEntry::reserved(DWORD reserved) { IMAGE_RESOURCE_DATA_ENTRY::Reserved=reserved; } inline GlobalData &ImageResourceDataEntry::rawData(void) { return mRawData; } inline void ImageResourceDataEntry::setZero(void) { IMAGE_RESOURCE_DATA_ENTRY::OffsetToData=0; IMAGE_RESOURCE_DATA_ENTRY::Size=0; IMAGE_RESOURCE_DATA_ENTRY::CodePage=0; IMAGE_RESOURCE_DATA_ENTRY::Reserved=0; } #endif