用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB

5 months ago
#pragma once
#include <interface/SResProvider-i.h>
#include <unknown/obj-ref-impl.hpp>
#include <string/tstring.h>
#include <string/strcpcvt.h>
#include <souicoll.h>
#define _COLL_NS SOUI
#include <helper/SResID.h>
#include <interface/SRender-i.h>
#include "ZipArchive.h"
#include "zipresprovider-param.h"
namespace SOUI{
class SResProviderZip : public TObjRefImpl<IResProvider>
{
public:
SResProviderZip();
~SResProviderZip(void);
virtual BOOL Init(WPARAM wParam,LPARAM lParam);
virtual BOOL HasResource(LPCTSTR strType,LPCTSTR pszResName);
virtual HICON LoadIcon(LPCTSTR pszResName,int cx,int cy);
virtual HBITMAP LoadBitmap(LPCTSTR pszResName);
virtual HCURSOR LoadCursor(LPCTSTR pszResName);
virtual IBitmap * LoadImage(LPCTSTR strType,LPCTSTR pszResName);
virtual IImgX * LoadImgX(LPCTSTR strType,LPCTSTR pszResName);
virtual size_t GetRawBufferSize(LPCTSTR strType,LPCTSTR pszResName);
virtual BOOL GetRawBuffer(LPCTSTR strType,LPCTSTR pszResName,LPVOID pBuf,size_t size);
protected:
BOOL _Init(LPCTSTR pszZipFile ,LPCSTR pszPsw);
BOOL _Init(LPBYTE pBytes, DWORD dwByteCounts, LPCSTR pszPsw);
BOOL _Init(HINSTANCE hInst,LPCTSTR pszResName,LPCTSTR pszType ,LPCSTR pszPsw);
BOOL _LoadSkin();
SStringT _GetFilePath(LPCTSTR pszResName,LPCTSTR pszType);
SMap<SResID,SStringT> m_mapFiles;
SAutoRefPtr<IRenderFactory> m_renderFactory;
CZipArchive m_zipFile;
SStringT m_childDir;
};
namespace RESPROVIDER_ZIP
{
SOUI_COM_C BOOL SOUI_COM_API SCreateInstance(IObjRef ** ppObj);
}
}//namespace SOUI