mirror of
https://onedev.site.tesses.net/tesses-framework
synced 2026-02-09 00:05:46 +00:00
Allow you do explicitly close stream, vfs
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
namespace Tesses::Framework::Filesystem
|
||||
{
|
||||
|
||||
MemoryFilesystemStream::MemoryFilesystemStream(std::shared_ptr<Tesses::Framework::Threading::Mutex> mtx, std::shared_ptr<MemoryFileData> data,bool canRead, bool canWrite, bool canSeek)
|
||||
{
|
||||
this->mtx = mtx;
|
||||
@@ -635,7 +636,7 @@ namespace Tesses::Framework::Filesystem
|
||||
}
|
||||
MemoryFilesystem::~MemoryFilesystem()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
MemoryFilesystem::MemoryFilesystem()
|
||||
{
|
||||
|
||||
@@ -21,6 +21,13 @@ namespace Tesses::Framework::Filesystem
|
||||
for(auto item : this->directories) delete item;
|
||||
}
|
||||
|
||||
void MountableFilesystem::Close()
|
||||
{
|
||||
this->root=nullptr;
|
||||
for(auto item : this->directories) delete item;
|
||||
this->directories.clear();
|
||||
}
|
||||
|
||||
|
||||
void MountableFilesystem::GetFS(VFSPath srcPath, VFSPath& destRoot, VFSPath& destPath, std::shared_ptr<VFS>& vfs)
|
||||
{
|
||||
|
||||
@@ -517,5 +517,7 @@ namespace Tesses::Framework::Filesystem
|
||||
void VFS::Chmod(VFSPath path, uint32_t mode) {
|
||||
|
||||
}
|
||||
|
||||
void VFS::Close() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -58,4 +58,9 @@ namespace Tesses::Framework::Streams {
|
||||
{
|
||||
delete buffer;
|
||||
}
|
||||
|
||||
void BufferedStream::Close()
|
||||
{
|
||||
this->strm->Close();
|
||||
}
|
||||
}
|
||||
@@ -104,7 +104,10 @@ namespace Tesses::Framework::Streams
|
||||
}
|
||||
FileStream::~FileStream()
|
||||
{
|
||||
|
||||
Close();
|
||||
}
|
||||
void FileStream::Close()
|
||||
{
|
||||
if(!f) return;
|
||||
if(this->owns)
|
||||
fclose(this->f);
|
||||
|
||||
@@ -67,4 +67,8 @@ namespace Tesses::Framework::Streams
|
||||
break;
|
||||
}
|
||||
}
|
||||
void MemoryStream::Close()
|
||||
{
|
||||
this->buffer.clear();
|
||||
}
|
||||
}
|
||||
@@ -771,10 +771,15 @@ namespace Tesses::Framework::Streams {
|
||||
if(sz2 < 0) return 0;
|
||||
return (size_t)sz2;
|
||||
}
|
||||
NetworkStream::~NetworkStream()
|
||||
void NetworkStream::Close()
|
||||
{
|
||||
if(this->owns && this->success)
|
||||
NETWORK_CLOSE(this->sock);
|
||||
this->success=0;
|
||||
}
|
||||
NetworkStream::~NetworkStream()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
void NetworkStream::SetNoDelay(bool noDelay)
|
||||
{
|
||||
@@ -888,6 +893,10 @@ NetworkStream::~NetworkStream()
|
||||
void NetworkStream::SetNoDelay(bool noDelay)
|
||||
{
|
||||
|
||||
}
|
||||
void NetworkStream::Close()
|
||||
{
|
||||
|
||||
}
|
||||
uint16_t NetworkStream::GetPort()
|
||||
{
|
||||
|
||||
@@ -122,6 +122,11 @@ namespace Tesses::Framework::Streams {
|
||||
}
|
||||
PtyStream::~PtyStream()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
void PtyStream::Close()
|
||||
{
|
||||
if(this->eos) return;
|
||||
this->eos=true;
|
||||
#if !defined(GEKKO) && !defined(__PS2__) && !defined(_WIN32) && !defined(__SWITCH__) && !defined(__FreeBSD__) && defined(TESSESFRAMEWORK_ENABLE_PROCESS)
|
||||
close(this->socket);
|
||||
|
||||
@@ -91,6 +91,10 @@ namespace Tesses::Framework::Streams {
|
||||
void Stream::Seek(int64_t pos, SeekOrigin whence)
|
||||
{
|
||||
|
||||
}
|
||||
void Stream::Close()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Stream::CopyTo(std::shared_ptr<Stream> strm, size_t buffSize)
|
||||
|
||||
Reference in New Issue
Block a user