DCL 3.7.4
Loading...
Searching...
No Matches
FileOutputStream.cpp File Reference
#include <dcl/Config.h>
#include <errno.h>
#include <unistd.h>
#include <sys/stat.h>
#include <string.h>
#include <stdlib.h>
#include <dcl/Object.h>
#include <dcl/Thread.h>
#include <dcl/FileOutputStream.h>

Go to the source code of this file.

Functions

__DCL_BEGIN_NAMESPACE IMPLEMENT_CLASSINFO (FileOutputStream, OutputStream) String FileOutputStream
size_t __write (File *_file, const byte_t *_buf, size_t _nbytes)

Function Documentation

◆ __write()

size_t __write ( File * _file,
const byte_t * _buf,
size_t _nbytes )
inline

Definition at line 191 of file FileOutputStream.cpp.

192{
193 size_t written = 0;
194 while (_nbytes) {
195 size_t n = _file->write(_buf + written, _nbytes);
196 if (n) {
197 written += n;
198 _nbytes -= n;
199 }
200 else {
201 // errno == EAGAIN
202 // retry after 10 milliseconds
203 Thread::sleep(10);
204 }
205 }
206 return written;
207}
virtual size_t write(const void *_buf, size_t _n) __DCL_THROWS1(IOException *)
Definition File.cpp:541
static void sleep(unsigned int _mills)
Definition Thread.cpp:152

◆ IMPLEMENT_CLASSINFO()

__DCL_BEGIN_NAMESPACE IMPLEMENT_CLASSINFO ( FileOutputStream ,
OutputStream  )

Definition at line 29 of file FileOutputStream.cpp.

32{
33 StringBuilder r = className();
34 if (__file)
35 r += __T("(") + __file->toString() + __T(")");
36 else
37 r += __T(" closed");
38 return r;
39}
40
41FileOutputStream::FileOutputStream(const String& _path, bool _truncate)
43{
44 __file = NULL;
45 open(_path, _truncate);
46}
#define NULL
Definition Config.h:312
#define __DCL_THROWS1(e)
Definition Config.h:152
IOException *size_t r
Definition MediaInfo.cpp:82
#define __T(str)
Definition Object.h:60