FS-9788: Add close() option to FileIO implementation

This commit is contained in:
Marc Olivier Chouinard 2016-11-30 14:28:39 -05:00
parent 9d249a66ff
commit 347c93f1c1
2 changed files with 10 additions and 0 deletions

View File

@ -67,6 +67,7 @@ public:
JS_FILEIO_FUNCTION_DEF(Read);
JS_FILEIO_FUNCTION_DEF(Write);
JS_FILEIO_FUNCTION_DEF(GetData);
JS_FILEIO_FUNCTION_DEF(Close);
JS_FILEIO_GET_PROPERTY_DEF(GetProperty);
};

View File

@ -42,9 +42,17 @@ FSFileIO::~FSFileIO(void)
if (_fd) {
switch_file_close(_fd);
}
switch_core_destroy_memory_pool(&_pool);
}
JS_FILEIO_FUNCTION_IMPL(Close)
{
if (_fd) {
switch_file_close(_fd);
_fd = NULL;
}
}
string FSFileIO::GetJSClassName()
{
return js_class_name;
@ -213,6 +221,7 @@ static const js_function_t fileio_proc[] = {
{"read", FSFileIO::Read},
{"write", FSFileIO::Write},
{"data", FSFileIO::GetData},
{"close", FSFileIO::Close},
{0}
};