Files
LayaNative2.0/Conch/source/common/downloadCache/JCFileSource.h
T
2020-11-11 16:17:13 +08:00

66 lines
1.7 KiB
C++

/**
@file JCFileSource.h
@brief
@author James
@version 1.0
@date 2016_5_11
*/
#ifndef __JCFileSource_H__
#define __JCFileSource_H__
namespace laya
{
class JCFileSource
{
public:
virtual ~JCFileSource() {};
virtual bool isFileExistInZipAPKExpansion(const char* sFileName) = 0;
/** @brief 直接判断包内是否存在这个文件
* @param[in] 文件名字
* @return 返回true或者false
*/
virtual bool isFileExist( const char* sFileName )=0;
/** @brief 获得fileSize
* @param[in] 文件名字
* @return 返回size
*/
virtual unsigned int getFileSize(const char* sFileName)=0;
/** @brief 分配一段空间,函数指针,为了分配内存使用的
* @param[in]
* @param[in]
* @return
*/
typedef unsigned char* (*ALLOCMEM)(int nBufferSize,void* pBuffer );
/** @brief 读取文件内容
* @param[in] 文件名字
* @param[in] alloc的函数指针,调用者自己决定分配策略
* @param[in] 获得的buffer
* @param[out] 返回的buffersize
* @return 是否成功
*/
virtual bool loadFileContent( const char* sFileName, ALLOCMEM pAllocFunc, void* pUserData, int& nBuffSize ) = 0;
/** @brief 读取文件内容
* @param[in] 文件名字
* @param[in] 获得的buffer
* @param[out] 返回的buffersize
* @return 是否成功
*/
virtual bool loadFileContent(const char* sFileName, char*& pBuffer, int& nBuffSize) = 0;
};
}
//------------------------------------------------------------------------------
#endif //__JCFileSource_H__
//-----------------------------END FILE--------------------------------