]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/wfstream.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: File stream classes
4 // Author: Guilhem Lavaux
8 // Copyright: (c) Guilhem Lavaux
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_WXFSTREAM_H__
13 #define _WX_WXFSTREAM_H__
16 #pragma interface "wfstream.h"
19 #include <wx/object.h>
20 #include <wx/string.h>
21 #include <wx/stream.h>
24 class wxFileInputStream
: public wxInputStream
{
26 wxFileInputStream(const wxString
& ifileName
);
27 wxFileInputStream(wxFile
& file
);
28 wxFileInputStream(int fd
);
32 size_t StreamSize() const;
34 bool Ok() const { return m_file
->IsOpened(); }
39 size_t OnSysRead(void *buffer
, size_t size
);
40 off_t
OnSysSeek(off_t pos
, wxSeekMode mode
);
41 off_t
OnSysTell() const;
48 class wxFileOutputStream
: public wxOutputStream
{
50 wxFileOutputStream(const wxString
& fileName
);
51 wxFileOutputStream(wxFile
& file
);
52 wxFileOutputStream(int fd
);
53 virtual ~wxFileOutputStream();
55 // To solve an ambiguity on GCC
56 inline wxOutputStream
& Write(const void *buffer
, size_t size
)
57 { return wxOutputStream::Write(buffer
, size
); }
60 size_t StreamSize() const;
62 bool Ok() const { return m_file
->IsOpened(); }
67 size_t OnSysWrite(const void *buffer
, size_t size
);
68 off_t
OnSysSeek(off_t pos
, wxSeekMode mode
);
69 off_t
OnSysTell() const;
76 class wxFileStream
: public wxFileInputStream
, public wxFileOutputStream
{
78 wxFileStream(const wxString
& fileName
);