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

192 lines
4.7 KiB
C++

#ifndef _IMAGE_IMAGEDEBUGDIRECTORY_HPP_
#define _IMAGE_IMAGEDEBUGDIRECTORY_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_PUREVIEWOFFILE_HPP_
#include <common/pview.hpp>
#endif
class ImageDebugDirectory : private IMAGE_DEBUG_DIRECTORY
{
public:
ImageDebugDirectory(void);
ImageDebugDirectory(const ImageDebugDirectory &someImageDebugDirectory);
virtual ~ImageDebugDirectory();
PureViewOfFile &operator<<(PureViewOfFile &pureViewOfFile);
ImageDebugDirectory &operator=(const ImageDebugDirectory &someImageDebugDirectory);
WORD operator==(const ImageDebugDirectory &someImageDebugDirectory)const;
DWORD characteristics(void)const;
void characteristics(DWORD characteristics);
DWORD timeDate(void)const;
void timeDate(DWORD timeDate);
WORD majorVersion(void)const;
void majorVersion(WORD majorVersion);
WORD minorVersion(void)const;
void minorVersion(WORD minorVersion);
DWORD type(void)const;
void type(DWORD type);
DWORD sizeofData(void)const;
void sizeofData(DWORD sizeofData);
DWORD addressOfRawData(void)const;
void addressOfRawData(DWORD addressOfRawData);
DWORD pointerToRawData(void)const;
void pointerToRawData(DWORD pointerToRawData);
private:
};
inline
ImageDebugDirectory::ImageDebugDirectory(void)
{
characteristics(0);
timeDate(0);
majorVersion(0);
minorVersion(0);
type(0);
sizeofData(0);
addressOfRawData(0);
pointerToRawData(0);
}
inline
ImageDebugDirectory::ImageDebugDirectory(const ImageDebugDirectory &someImageDebugDirectory)
{
*this=someImageDebugDirectory;
}
inline
ImageDebugDirectory::~ImageDebugDirectory()
{
}
inline
ImageDebugDirectory &ImageDebugDirectory::operator=(const ImageDebugDirectory &someImageDebugDirectory)
{
characteristics(someImageDebugDirectory.characteristics());
timeDate(someImageDebugDirectory.timeDate());
majorVersion(someImageDebugDirectory.majorVersion());
minorVersion(someImageDebugDirectory.minorVersion());
type(someImageDebugDirectory.type());
sizeofData(someImageDebugDirectory.sizeofData());
addressOfRawData(someImageDebugDirectory.addressOfRawData());
pointerToRawData(someImageDebugDirectory.pointerToRawData());
return *this;
}
inline
WORD ImageDebugDirectory::operator==(const ImageDebugDirectory &someImageDebugDirectory)const
{
return (characteristics()==someImageDebugDirectory.characteristics()&&
timeDate()==someImageDebugDirectory.timeDate()&&
majorVersion()==someImageDebugDirectory.majorVersion()&&
minorVersion()==someImageDebugDirectory.minorVersion()&&
type()==someImageDebugDirectory.type()&&
sizeofData()==someImageDebugDirectory.sizeofData()&&
addressOfRawData()==someImageDebugDirectory.addressOfRawData()&&
pointerToRawData()==someImageDebugDirectory.pointerToRawData());
}
inline
PureViewOfFile &ImageDebugDirectory::operator<<(PureViewOfFile &pureViewOfFile)
{
pureViewOfFile.read((char*)&((IMAGE_DEBUG_DIRECTORY&)*this),sizeof(IMAGE_DEBUG_DIRECTORY));
return pureViewOfFile;
}
inline
DWORD ImageDebugDirectory::characteristics(void)const
{
return IMAGE_DEBUG_DIRECTORY::Characteristics;
}
inline
void ImageDebugDirectory::characteristics(DWORD characteristics)
{
IMAGE_DEBUG_DIRECTORY::Characteristics=characteristics;
}
inline
DWORD ImageDebugDirectory::timeDate(void)const
{
return IMAGE_DEBUG_DIRECTORY::TimeDateStamp;
}
inline
void ImageDebugDirectory::timeDate(DWORD timeDate)
{
IMAGE_DEBUG_DIRECTORY::TimeDateStamp=timeDate;
}
inline
WORD ImageDebugDirectory::majorVersion(void)const
{
return IMAGE_DEBUG_DIRECTORY::MajorVersion;
}
inline
void ImageDebugDirectory::majorVersion(WORD majorVersion)
{
IMAGE_DEBUG_DIRECTORY::MajorVersion=majorVersion;
}
inline
WORD ImageDebugDirectory::minorVersion(void)const
{
return IMAGE_DEBUG_DIRECTORY::MinorVersion;
}
inline
void ImageDebugDirectory::minorVersion(WORD minorVersion)
{
IMAGE_DEBUG_DIRECTORY::MinorVersion=minorVersion;
}
inline
DWORD ImageDebugDirectory::type(void)const
{
return IMAGE_DEBUG_DIRECTORY::Type;
}
inline
void ImageDebugDirectory::type(DWORD type)
{
IMAGE_DEBUG_DIRECTORY::Type=type;
}
inline
DWORD ImageDebugDirectory::sizeofData(void)const
{
return IMAGE_DEBUG_DIRECTORY::SizeOfData;
}
inline
void ImageDebugDirectory::sizeofData(DWORD sizeofData)
{
IMAGE_DEBUG_DIRECTORY::SizeOfData=sizeofData;
}
inline
DWORD ImageDebugDirectory::addressOfRawData(void)const
{
return IMAGE_DEBUG_DIRECTORY::AddressOfRawData;
}
inline
void ImageDebugDirectory::addressOfRawData(DWORD addressOfRawData)
{
IMAGE_DEBUG_DIRECTORY::AddressOfRawData=addressOfRawData;
}
inline
DWORD ImageDebugDirectory::pointerToRawData(void)const
{
return IMAGE_DEBUG_DIRECTORY::PointerToRawData;
}
inline
void ImageDebugDirectory::pointerToRawData(DWORD pointerToRawData)
{
IMAGE_DEBUG_DIRECTORY::PointerToRawData;
}
#endif