68 lines
1.7 KiB
C++
68 lines
1.7 KiB
C++
#ifndef _IMAGE_IMAGESECTIONHEADERS_HPP_
|
|
#define _IMAGE_IMAGESECTIONHEADERS_HPP_
|
|
#ifndef _COMMON_ARRAY_HPP_
|
|
#include <common/array.hpp>
|
|
#endif
|
|
#ifndef _IMAGE_IMAGESECTIONHEADER_HPP_
|
|
#include <image/sctnhdr.hpp>
|
|
#endif
|
|
|
|
class ImageSectionHeaders : public Array<ImageSectionHeader>
|
|
{
|
|
public:
|
|
ImageSectionHeaders(void);
|
|
ImageSectionHeaders(const ImageSectionHeaders &someImageSectionHeaders);
|
|
virtual ~ImageSectionHeaders();
|
|
ImageSectionHeaders &operator=(const ImageSectionHeaders &someImageSectionHeaders);
|
|
WORD operator==(const ImageSectionHeaders &someImageSectionHeaders)const;
|
|
WORD enclosingSectionHeader(DWORD virtualAddress,ImageSectionHeader &someImageSectionHeader,DWORD &deltaOffset);
|
|
WORD isMemImage(void)const;
|
|
void isMemImage(WORD isMemImage);
|
|
private:
|
|
WORD mIsMemImage;
|
|
};
|
|
|
|
inline
|
|
ImageSectionHeaders::ImageSectionHeaders(void)
|
|
: mIsMemImage(FALSE)
|
|
{
|
|
}
|
|
|
|
inline
|
|
ImageSectionHeaders::ImageSectionHeaders(const ImageSectionHeaders &someImageSectionHeaders)
|
|
{
|
|
*this=someImageSectionHeaders;
|
|
}
|
|
|
|
inline
|
|
ImageSectionHeaders::~ImageSectionHeaders()
|
|
{
|
|
}
|
|
|
|
inline
|
|
ImageSectionHeaders &ImageSectionHeaders::operator=(const ImageSectionHeaders &someImageSectionHeaders)
|
|
{
|
|
(Array<ImageSectionHeader>&)*this=(Array<ImageSectionHeader>&)someImageSectionHeaders;
|
|
isMemImage(someImageSectionHeaders.isMemImage());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
WORD ImageSectionHeaders::operator==(const ImageSectionHeaders &someImageSectionHeaders)const
|
|
{
|
|
return (Array<ImageSectionHeader>&)*this==(Array<ImageSectionHeader>&)someImageSectionHeaders;
|
|
}
|
|
|
|
inline
|
|
WORD ImageSectionHeaders::isMemImage(void)const
|
|
{
|
|
return mIsMemImage;
|
|
}
|
|
|
|
inline
|
|
void ImageSectionHeaders::isMemImage(WORD isMemImage)
|
|
{
|
|
mIsMemImage=isMemImage;
|
|
}
|
|
#endif
|