daedalus/Source/Utility/DataSink.cpp
2019-02-27 17:04:51 +11:00

39 lines
565 B
C++

#include "stdafx.h"
#include "DataSink.h"
#include "Debug/DaedalusAssert.h"
DataSink::~DataSink()
{
}
FileSink::FileSink()
: Handle(NULL)
{
}
FileSink::~FileSink()
{
if (Handle)
fclose(Handle);
}
bool FileSink::Open(const char * filename, const char * mode)
{
DAEDALUS_ASSERT(Handle == NULL, "Alreadh have an open file");
Handle = fopen(filename, mode);
return Handle != NULL;
}
size_t FileSink::Write(const void * p, size_t len)
{
if (Handle)
return fwrite(p, 1, len, Handle);
return 0;
}
void FileSink::Flush()
{
if (Handle)
fflush(Handle);
}