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