Initial
This commit is contained in:
188
image/IMRESDIR.HPP
Normal file
188
image/IMRESDIR.HPP
Normal file
@@ -0,0 +1,188 @@
|
||||
#ifndef _IMAGE_IMAGERESOURCEDIRECTORY_HPP_
|
||||
#define _IMAGE_IMAGERESOURCEDIRECTORY_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_BLOCK_HPP_
|
||||
#include <common/block.hpp>
|
||||
#endif
|
||||
|
||||
class ImageResourceDirectory;
|
||||
class ImageResourceDirectoryEntry;
|
||||
class PureViewOfFile;
|
||||
|
||||
class ImageResourceDirectory : private IMAGE_RESOURCE_DIRECTORY
|
||||
{
|
||||
public:
|
||||
typedef Block<ImageResourceDirectoryEntry> ImageResourceDirectoryEntries;
|
||||
ImageResourceDirectory(void);
|
||||
ImageResourceDirectory(const ImageResourceDirectory &someImageResourceDirectory);
|
||||
virtual ~ImageResourceDirectory();
|
||||
ImageResourceDirectory &operator=(const ImageResourceDirectory &someImageResourceDirectory);
|
||||
ImageResourceDirectoryEntry &operator[](UINT itemIndex);
|
||||
WORD operator==(const ImageResourceDirectory &someImageResourceDirectory)const;
|
||||
operator IMAGE_RESOURCE_DIRECTORY &(void);
|
||||
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);
|
||||
WORD entriesByName(void)const;
|
||||
void entriesByName(WORD entriesByName);
|
||||
WORD entriesByID(void)const;
|
||||
void entriesByID(WORD entriesByID);
|
||||
WORD entries(void)const;
|
||||
void read(DWORD resBase,DWORD deltaOffset,PureViewOfFile &pureView);
|
||||
void clear(void);
|
||||
private:
|
||||
void zeroInit(void);
|
||||
ImageResourceDirectoryEntries mImageResourceDirectoryEntries;
|
||||
};
|
||||
|
||||
inline
|
||||
ImageResourceDirectory::ImageResourceDirectory(void)
|
||||
{
|
||||
zeroInit();
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirectory::ImageResourceDirectory(const ImageResourceDirectory &someImageResourceDirectory)
|
||||
{
|
||||
*this=someImageResourceDirectory;
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirectory::~ImageResourceDirectory()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirectory &ImageResourceDirectory::operator=(const ImageResourceDirectory &someImageResourceDirectory)
|
||||
{
|
||||
characteristics(someImageResourceDirectory.characteristics());
|
||||
timeDate(someImageResourceDirectory.timeDate());
|
||||
majorVersion(someImageResourceDirectory.majorVersion());
|
||||
minorVersion(someImageResourceDirectory.minorVersion());
|
||||
entriesByName(someImageResourceDirectory.entriesByName());
|
||||
entriesByID(someImageResourceDirectory.entriesByID());
|
||||
mImageResourceDirectoryEntries=someImageResourceDirectory.mImageResourceDirectoryEntries;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageResourceDirectory::operator==(const ImageResourceDirectory &someImageResourceDirectory)const
|
||||
{
|
||||
return (characteristics()==someImageResourceDirectory.characteristics()&&
|
||||
timeDate()==someImageResourceDirectory.timeDate()&&
|
||||
majorVersion()==someImageResourceDirectory.majorVersion()&&
|
||||
minorVersion()==someImageResourceDirectory.minorVersion()&&
|
||||
entriesByName()==someImageResourceDirectory.entriesByName()&&
|
||||
entriesByID()==someImageResourceDirectory.entriesByID()&&
|
||||
mImageResourceDirectoryEntries==someImageResourceDirectory.mImageResourceDirectoryEntries);
|
||||
}
|
||||
|
||||
inline
|
||||
ImageResourceDirectory::operator IMAGE_RESOURCE_DIRECTORY &(void)
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ImageResourceDirectory::characteristics(void)const
|
||||
{
|
||||
return IMAGE_RESOURCE_DIRECTORY::Characteristics;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::characteristics(DWORD characteristics)
|
||||
{
|
||||
IMAGE_RESOURCE_DIRECTORY::Characteristics=characteristics;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ImageResourceDirectory::timeDate(void)const
|
||||
{
|
||||
return IMAGE_RESOURCE_DIRECTORY::TimeDateStamp;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::timeDate(DWORD timeDate)
|
||||
{
|
||||
IMAGE_RESOURCE_DIRECTORY::TimeDateStamp=timeDate;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageResourceDirectory::majorVersion(void)const
|
||||
{
|
||||
return IMAGE_RESOURCE_DIRECTORY::MajorVersion;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::majorVersion(WORD majorVersion)
|
||||
{
|
||||
IMAGE_RESOURCE_DIRECTORY::MajorVersion=majorVersion;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageResourceDirectory::minorVersion(void)const
|
||||
{
|
||||
return IMAGE_RESOURCE_DIRECTORY::MinorVersion;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::minorVersion(WORD minorVersion)
|
||||
{
|
||||
IMAGE_RESOURCE_DIRECTORY::MinorVersion=minorVersion;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageResourceDirectory::entries(void)const
|
||||
{
|
||||
return entriesByName()+entriesByID();
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageResourceDirectory::entriesByName(void)const
|
||||
{
|
||||
return IMAGE_RESOURCE_DIRECTORY::NumberOfNamedEntries;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::entriesByName(WORD entriesByName)
|
||||
{
|
||||
IMAGE_RESOURCE_DIRECTORY::NumberOfNamedEntries=entriesByName;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageResourceDirectory::entriesByID(void)const
|
||||
{
|
||||
return IMAGE_RESOURCE_DIRECTORY::NumberOfIdEntries;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::entriesByID(WORD entriesByID)
|
||||
{
|
||||
IMAGE_RESOURCE_DIRECTORY::NumberOfIdEntries=entriesByID;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::zeroInit(void)
|
||||
{
|
||||
IMAGE_RESOURCE_DIRECTORY::Characteristics=0;
|
||||
IMAGE_RESOURCE_DIRECTORY::TimeDateStamp=0;
|
||||
IMAGE_RESOURCE_DIRECTORY::MajorVersion=0;
|
||||
IMAGE_RESOURCE_DIRECTORY::MinorVersion=0;
|
||||
IMAGE_RESOURCE_DIRECTORY::NumberOfNamedEntries=0;
|
||||
IMAGE_RESOURCE_DIRECTORY::NumberOfIdEntries=0;
|
||||
}
|
||||
|
||||
inline
|
||||
void ImageResourceDirectory::clear(void)
|
||||
{
|
||||
zeroInit();
|
||||
mImageResourceDirectoryEntries.remove();
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user