Files
Work/image/SCTNHDRS.HPP
2024-08-07 09:16:27 -04:00

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