SetImageValid and SetImageInvalid with paths outside the archive

This commit is contained in:
Kulikova Svetlana
2021-05-11 17:28:30 +03:00
parent 6d6e217e64
commit 1524c0f1c8
2 changed files with 32 additions and 0 deletions

View File

@ -14,6 +14,8 @@ public:
void SetGuid (const std::wstring& guid);
void SetImageValid (const std::wstring& file);
void SetImageInvalid(const std::wstring& file);
void SetImageValid (unsigned char* data, unsigned long length);
void SetImageInvalid(unsigned char* data, unsigned long length);
int Sign(unsigned char*& pFiletoWrite, unsigned long& dwLenFiletoWrite);

View File

@ -152,6 +152,18 @@ public:
return sReturn;
}
std::wstring GetImageBase64(BYTE* data, DWORD length)
{
char* pDataC = NULL;
int nLen = 0;
NSFile::CBase64Converter::Encode(data, (int)length, pDataC, nLen, NSBase64::B64_BASE64_FLAG_NOCRLF);
std::wstring sReturn = NSFile::CUtf8Converter::GetUnicodeFromCharPtr(pDataC, (LONG)nLen, FALSE);
RELEASEARRAYOBJECTS(pDataC);
return sReturn;
}
std::wstring GetRelsReference(const std::wstring& file)
{
@ -485,10 +497,18 @@ public:
{
m_image_valid = GetImageBase64(file);
}
void SetImageValid(BYTE* data, DWORD length)
{
m_image_valid = GetImageBase64(data, length);
}
void SetImageInvalid(const std::wstring& file)
{
m_image_invalid = GetImageBase64(file);
}
void SetImageInvalid(BYTE* data, DWORD length)
{
m_image_invalid = GetImageBase64(data, length);
}
std::wstring GeneratePackageObject()
{
@ -732,11 +752,21 @@ void COOXMLSigner::SetImageValid(const std::wstring& file)
m_internal->SetImageValid(file);
}
void COOXMLSigner::SetImageValid(BYTE* data, DWORD length)
{
m_internal->SetImageValid(data, length);
}
void COOXMLSigner::SetImageInvalid(const std::wstring& file)
{
m_internal->SetImageInvalid(file);
}
void COOXMLSigner::SetImageInvalid(BYTE* data, DWORD length)
{
m_internal->SetImageInvalid(data, length);
}
int COOXMLSigner::Sign(BYTE*& pFiletoWrite, DWORD& dwLenFiletoWrite)
{
return m_internal->Sign(pFiletoWrite, dwLenFiletoWrite);