DCL 4.0
Loading...
Searching...
No Matches
FileOutputStream.cpp File Reference
#include <dcl/Config.h>
#include <errno.h>
#include <dcl/_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 198 of file FileOutputStream.cpp.

199{
200 size_t written = 0;
201 while (_nbytes)
202 {
203 size_t n = _file->write(_buf + written, _nbytes);
204 if (n)
205 {
206 written += n;
207 _nbytes -= n;
208 }
209 else
210 {
211 // errno == EAGAIN
212 // retry after 10 milliseconds
213 Thread::sleep(10);
214 }
215 }
216 return written;
217}
void CharsetConvertException *size_t n
Definition SQLField.cpp:253
virtual size_t write(const void *_buf, size_t _n) __DCL_THROWS1(IOException *)
Definition File.cpp:535
static void sleep(unsigned int _mills)
Definition Thread.cpp:150

◆ 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:340
#define __DCL_THROWS1(e)
Definition Config.h:167
#define __T(str)
Definition Object.h:44
ByteString r