1/*
2 * minimalistic Dano-ilke BStringIO
3 * (c) 2007, Fran��ois Revol.
4 */
5#include <BeBuild.h>
6#ifdef B_BEOS_VERSION_DANO
7#include_next <StringIO.h>
8#else
9
10#ifndef _STRING_IO_H
11#define _STRING_IO_H
12
13#include <DataIO.h>
14#include <Rect.h>
15#include <String.h>
16//#include <stdint.h>
17
18// stripped down BStringIO
19
20class BStringIO : public BPositionIO {
21public:
22	BStringIO();
23virtual ~BStringIO();
24
25virtual	ssize_t		ReadAt(off_t pos, void *buffer, size_t size);
26virtual	ssize_t		WriteAt(off_t pos, const void *buffer, size_t size);
27
28virtual	off_t		Seek(off_t pos, uint32 seek_mode);
29virtual off_t		Position() const;
30virtual status_t	SetSize(off_t size);
31
32//		void		SetBlockSize(size_t blocksize);
33
34const	char*		String() const;
35//		size_t		StringLength() const;
36
37BStringIO & operator<<(const BString & s);
38BStringIO & operator<<(const BRect & r);
39
40
41private:
42	off_t fPosition;
43	BString *fString;
44};
45
46
47
48#endif /* _STRING_IO_H */
49
50#endif
51