aboutsummaryrefslogtreecommitdiff
path: root/src/system_wrappers/interface/file_wrapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/system_wrappers/interface/file_wrapper.h')
-rw-r--r--src/system_wrappers/interface/file_wrapper.h69
1 files changed, 38 insertions, 31 deletions
diff --git a/src/system_wrappers/interface/file_wrapper.h b/src/system_wrappers/interface/file_wrapper.h
index 8f0cd8c246..4d174383e9 100644
--- a/src/system_wrappers/interface/file_wrapper.h
+++ b/src/system_wrappers/interface/file_wrapper.h
@@ -11,6 +11,8 @@
#ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_FILE_WRAPPER_H_
#define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_FILE_WRAPPER_H_
+#include <stddef.h>
+
#include "common_types.h"
#include "typedefs.h"
@@ -18,11 +20,11 @@
// write from/to a file.
namespace webrtc {
+
class FileWrapper : public InStream, public OutStream
{
public:
- enum { kMaxFileNameSize = 1024};
- enum { kFileMaxTextMessageSize = 1024};
+ static const size_t kMaxFileNameSize = 1024;
// Factory method. Constructor disabled.
static FileWrapper* Create();
@@ -31,42 +33,47 @@ public:
virtual bool Open() const = 0;
// Opens a file in read or write mode, decided by the readOnly parameter.
- virtual WebRtc_Word32 OpenFile(const WebRtc_Word8* fileNameUTF8,
- const bool readOnly,
- const bool loop = false,
- const bool text = false) = 0;
+ virtual int OpenFile(const char* fileNameUTF8,
+ bool readOnly,
+ bool loop = false,
+ bool text = false) = 0;
- virtual WebRtc_Word32 CloseFile() = 0;
+ virtual int CloseFile() = 0;
- // Limits the file size.
- virtual WebRtc_Word32 SetMaxFileSize(WebRtc_Word32 bytes) = 0;
+ // Limits the file size to |bytes|. Writing will fail after the cap
+ // is hit. Pass zero to use an unlimited size.
+ virtual int SetMaxFileSize(size_t bytes) = 0;
// Flush any pending writes.
- virtual WebRtc_Word32 Flush() = 0;
-
- // Returns the opened file's name in fileNameUTF8. size is the allocated
- // size of fileNameUTF8. The name will be truncated if the size of
- // fileNameUTF8 is to small.
- virtual WebRtc_Word32 FileName(WebRtc_Word8* fileNameUTF8,
- WebRtc_UWord32 size) const = 0;
-
- // Write text to the opened file. The written text can contain plain text
- // and text with type specifiers in the same way as sprintf works.
- virtual WebRtc_Word32 WriteText(const WebRtc_Word8* text, ...) = 0;
-
- // Reads len number of bytes from buf to file.
- virtual int Read(void* buf, int len) = 0;
-
- // Writes len number of bytes to buf from file. Please note that the actual
- // writing to file may happen some time later. Call flush to force a write
- // to take affect
- virtual bool Write(const void *buf,int len) = 0;
-
+ virtual int Flush() = 0;
+
+ // Returns the opened file's name in |fileNameUTF8|. Provide the size of
+ // the buffer in bytes in |size|. The name will be truncated if |size| is
+ // too small.
+ virtual int FileName(char* fileNameUTF8,
+ size_t size) const = 0;
+
+ // Write |format| to the opened file. Arguments are taken in the same manner
+ // as printf. That is, supply a format string containing text and
+ // specifiers. Returns the number of characters written or -1 on error.
+ virtual int WriteText(const char* format, ...) = 0;
+
+ // Inherited from Instream.
+ // Reads |length| bytes from file to |buf|. Returns the number of bytes read
+ // or -1 on error.
+ virtual int Read(void* buf, int length) = 0;
+
+ // Inherited from OutStream.
+ // Writes |length| bytes from |buf| to file. The actual writing may happen
+ // some time later. Call Flush() to force a write.
+ virtual bool Write(const void *buf, int length) = 0;
+
+ // Inherited from both Instream and OutStream.
// Rewinds the file to the start. Only available when OpenFile() has been
- // called with loop argument set to true. Or readOnly argument has been set
- // to false.
+ // called with |loop| == true or |readOnly| == true.
virtual int Rewind() = 0;
};
+
} // namespace webrtc
#endif // WEBRTC_SYSTEM_WRAPPERS_INTERFACE_FILE_WRAPPER_H_