Skip to content

Commit

Permalink
降级 fs.open 返回类型为 SeekableStream
Browse files Browse the repository at this point in the history
  • Loading branch information
xicilion committed Nov 5, 2016
1 parent c8a3781 commit f32d777
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 30 deletions.
16 changes: 8 additions & 8 deletions fibjs/include/ifs/fs.h
Expand Up @@ -19,7 +19,7 @@ namespace fibjs

class Stat_base;
class List_base;
class File_base;
class SeekableStream_base;
class BufferedStream_base;
class Buffer_base;

Expand All @@ -46,8 +46,8 @@ class fs_base : public object_base
static result_t chmod(exlib::string path, int32_t mode, AsyncEvent* ac);
static result_t stat(exlib::string path, obj_ptr<Stat_base>& retVal, AsyncEvent* ac);
static result_t readdir(exlib::string path, obj_ptr<List_base>& retVal, AsyncEvent* ac);
static result_t open(exlib::string fname, exlib::string flags, obj_ptr<File_base>& retVal, AsyncEvent* ac);
static result_t tmpFile(obj_ptr<File_base>& retVal, AsyncEvent* ac);
static result_t open(exlib::string fname, exlib::string flags, obj_ptr<SeekableStream_base>& retVal, AsyncEvent* ac);
static result_t tmpFile(obj_ptr<SeekableStream_base>& retVal, AsyncEvent* ac);
static result_t openTextStream(exlib::string fname, exlib::string flags, obj_ptr<BufferedStream_base>& retVal, AsyncEvent* ac);
static result_t readTextFile(exlib::string fname, exlib::string& retVal, AsyncEvent* ac);
static result_t readFile(exlib::string fname, obj_ptr<Buffer_base>& retVal, AsyncEvent* ac);
Expand Down Expand Up @@ -100,8 +100,8 @@ class fs_base : public object_base
ASYNC_STATIC2(fs_base, chmod, exlib::string, int32_t);
ASYNC_STATICVALUE2(fs_base, stat, exlib::string, obj_ptr<Stat_base>);
ASYNC_STATICVALUE2(fs_base, readdir, exlib::string, obj_ptr<List_base>);
ASYNC_STATICVALUE3(fs_base, open, exlib::string, exlib::string, obj_ptr<File_base>);
ASYNC_STATICVALUE1(fs_base, tmpFile, obj_ptr<File_base>);
ASYNC_STATICVALUE3(fs_base, open, exlib::string, exlib::string, obj_ptr<SeekableStream_base>);
ASYNC_STATICVALUE1(fs_base, tmpFile, obj_ptr<SeekableStream_base>);
ASYNC_STATICVALUE3(fs_base, openTextStream, exlib::string, exlib::string, obj_ptr<BufferedStream_base>);
ASYNC_STATICVALUE2(fs_base, readTextFile, exlib::string, exlib::string);
ASYNC_STATICVALUE2(fs_base, readFile, exlib::string, obj_ptr<Buffer_base>);
Expand All @@ -113,7 +113,7 @@ class fs_base : public object_base

#include "Stat.h"
#include "List.h"
#include "File.h"
#include "SeekableStream.h"
#include "BufferedStream.h"
#include "Buffer.h"

Expand Down Expand Up @@ -346,7 +346,7 @@ namespace fibjs

inline void fs_base::s_open(const v8::FunctionCallbackInfo<v8::Value>& args)
{
obj_ptr<File_base> vr;
obj_ptr<SeekableStream_base> vr;

ASYNC_METHOD_ENTER(2, 1);

Expand All @@ -364,7 +364,7 @@ namespace fibjs

inline void fs_base::s_tmpFile(const v8::FunctionCallbackInfo<v8::Value>& args)
{
obj_ptr<File_base> vr;
obj_ptr<SeekableStream_base> vr;

ASYNC_METHOD_ENTER(0, 0);

Expand Down
4 changes: 2 additions & 2 deletions fibjs/include/ifs/fs.idl
Expand Up @@ -86,8 +86,8 @@ module fs
- 'a+' 读写添加方式,文件不存在则自动创建。
@return 返回打开的文件对象
*/
static File open(String fname, String flags = "r") async;
static File tmpFile() async;
static SeekableStream open(String fname, String flags = "r") async;
static SeekableStream tmpFile() async;

/*! @brief 打开文本文件,用于读取,写入,或者同时读写
@param fname 指定文件名
Expand Down
14 changes: 7 additions & 7 deletions fibjs/src/fs/fs.cpp
Expand Up @@ -42,7 +42,7 @@ void init_fs()
}

result_t fs_base::open(exlib::string fname, exlib::string flags,
obj_ptr<File_base> &retVal, AsyncEvent *ac)
obj_ptr<SeekableStream_base> &retVal, AsyncEvent *ac)
{
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);
Expand All @@ -59,7 +59,7 @@ result_t fs_base::open(exlib::string fname, exlib::string flags,
return 0;
}

result_t fs_base::tmpFile(obj_ptr<File_base> &retVal, AsyncEvent *ac)
result_t fs_base::tmpFile(obj_ptr<SeekableStream_base> &retVal, AsyncEvent *ac)
{
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);
Expand All @@ -75,7 +75,7 @@ result_t fs_base::openTextStream(exlib::string fname, exlib::string flags,
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);

obj_ptr<File_base> pFile;
obj_ptr<SeekableStream_base> pFile;
result_t hr = cc_open(fname, flags, pFile);
if (hr < 0)
return hr;
Expand All @@ -89,7 +89,7 @@ result_t fs_base::readTextFile(exlib::string fname, exlib::string &retVal,
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);

obj_ptr<File_base> f;
obj_ptr<SeekableStream_base> f;
obj_ptr<Buffer_base> buf;
result_t hr;

Expand All @@ -112,7 +112,7 @@ result_t fs_base::readFile(exlib::string fname, obj_ptr<Buffer_base> &retVal,
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);

obj_ptr<File_base> f;
obj_ptr<SeekableStream_base> f;
obj_ptr<Buffer_base> buf;
result_t hr;

Expand Down Expand Up @@ -150,7 +150,7 @@ result_t fs_base::writeTextFile(exlib::string fname, exlib::string txt,
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);

obj_ptr<File_base> f;
obj_ptr<SeekableStream_base> f;
result_t hr;

hr = cc_open(fname, "w", f);
Expand All @@ -170,7 +170,7 @@ result_t fs_base::writeFile(exlib::string fname, Buffer_base* data, AsyncEvent*
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);

obj_ptr<File_base> f;
obj_ptr<SeekableStream_base> f;
result_t hr;

hr = cc_open(fname, "w", f);
Expand Down
2 changes: 1 addition & 1 deletion fibjs/src/http/HttpFileHandler.cpp
Expand Up @@ -303,7 +303,7 @@ result_t HttpFileHandler::invoke(object_base *v, obj_ptr<Handler_base> &retVal,
obj_ptr<HttpFileHandler> m_pThis;
obj_ptr<HttpRequest_base> m_req;
obj_ptr<HttpResponse_base> m_rep;
obj_ptr<File_base> m_file;
obj_ptr<SeekableStream_base> m_file;
obj_ptr<Stat_base> m_stat;
exlib::string m_url;
exlib::string m_path;
Expand Down
4 changes: 2 additions & 2 deletions fibjs/src/other/Image.cpp
Expand Up @@ -164,7 +164,7 @@ result_t gd_base::load(exlib::string fname, obj_ptr<Image_base> &retVal,

private:
exlib::string m_fname;
obj_ptr<File_base> m_file;
obj_ptr<SeekableStream_base> m_file;
obj_ptr<Image_base> &m_retVal;
};

Expand Down Expand Up @@ -649,7 +649,7 @@ result_t Image::save(exlib::string fname, int32_t format, int32_t quality,
private:
obj_ptr<Image> m_pThis;
exlib::string m_fname;
obj_ptr<File_base> m_file;
obj_ptr<SeekableStream_base> m_file;
int32_t m_format;
int32_t m_quality;
obj_ptr<Buffer_base> m_buf;
Expand Down
20 changes: 10 additions & 10 deletions fibjs/src/zip/ZipFile.cpp
Expand Up @@ -170,7 +170,7 @@ result_t zip_base::open(exlib::string path, exlib::string mod, int32_t compress_
if (!ac)
return CHECK_ERROR(CALL_E_NOSYNC);

obj_ptr<File_base> file;
obj_ptr<SeekableStream_base> file;
result_t hr;
bool exists;

Expand Down Expand Up @@ -504,7 +504,7 @@ result_t ZipFile::extract(exlib::string member, exlib::string path, exlib::strin

int32_t err;
result_t hr;
obj_ptr<File_base> file;
obj_ptr<SeekableStream_base> file;

err = unzLocateFile(m_unz, member.c_str(), 0);
if (err != UNZ_OK)
Expand Down Expand Up @@ -568,7 +568,7 @@ result_t ZipFile::extractAll(exlib::string path, exlib::string password, AsyncEv
int32_t err;
uint32_t i;
bool exists;
obj_ptr<File_base> file;
obj_ptr<SeekableStream_base> file;
exlib::string fpath;
exlib::string fpath1;

Expand All @@ -585,7 +585,7 @@ result_t ZipFile::extractAll(exlib::string path, exlib::string password, AsyncEv
err = unzGoToFirstFile(m_unz);
if (err != UNZ_OK)
return CHECK_ERROR(Runtime::setError(zip_error(err)));

for (i = 0; i < gi.number_entry; i++)
{
obj_ptr<Info> info;
Expand Down Expand Up @@ -689,7 +689,7 @@ result_t ZipFile::getFileCrc(SeekableStream_base* strm, uint32_t& crc)
buf->toString(strData);

fileCrc = crc32(fileCrc, (const Bytef *)strData.c_str(), (int32_t)strData.length());

} while (strData.length() > 0);

crc = fileCrc;
Expand All @@ -706,15 +706,15 @@ result_t ZipFile::write(exlib::string filename, exlib::string password, Seekable

if (!password.empty()) {
hr = getFileCrc(strm, crc);
if (hr < 0)
return hr;
if (hr < 0)
return hr;
}

err = zipOpenNewFileInZip3_64(m_zip, filename.c_str(), NULL, NULL,
0, NULL, 0, NULL, m_compress_type == zip_base::_ZIP_STORED ? 0 : Z_DEFLATED,
Z_DEFAULT_COMPRESSION, 0, -MAX_WBITS,
DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
password.empty() ? NULL: password.c_str(), crc, 1);
password.empty() ? NULL : password.c_str(), crc, 1);
if (err != ZIP_OK)
return CHECK_ERROR(Runtime::setError(zip_error(err)));

Expand Down Expand Up @@ -750,7 +750,7 @@ result_t ZipFile::write(exlib::string filename, exlib::string inZipName, exlib::
return CHECK_ERROR(CALL_E_NOSYNC);

result_t hr;
obj_ptr<File_base> file;
obj_ptr<SeekableStream_base> file;

hr = fs_base::cc_open(filename, "r", file);
if (hr < 0)
Expand Down

0 comments on commit f32d777

Please sign in to comment.