xref: /haiku/headers/os/support/Flattenable.h (revision 24159a0c7d6d6dcba9f2a0c1a7c08d2c8167f21b)
1 // Modified BeOS header. Just here to be able to compile and test BPath.
2 // To be replaced by the OpenBeOS version to be provided by the IK Team.
3 
4 #ifndef	__sk_flattenable_h__
5 #define	__sk_flattenable_h__
6 
7 #include <SupportDefs.h>
8 
9 /*-------------------------------------------------------------*/
10 /*----- BFlattenable class ------------------------------------*/
11 
12 class BFlattenable {
13 public:
14 
15 virtual	bool		IsFixedSize() const = 0;
16 virtual	type_code	TypeCode() const = 0;
17 virtual	ssize_t		FlattenedSize() const = 0;
18 virtual	status_t	Flatten(void *buffer, ssize_t size) const = 0;
19 virtual	bool		AllowsTypeCode(type_code code) const;
20 virtual	status_t	Unflatten(type_code c, const void *buf, ssize_t size) = 0;
21 
22 virtual				~BFlattenable();	//	was a reserved virtual in R4.0
23 
24 /*----- Private or reserved ---------------*/
25 
26 private:
27 		void		_ReservedFlattenable1();
28 virtual	void		_ReservedFlattenable2();
29 virtual	void		_ReservedFlattenable3();
30 };
31 
32 /*-------------------------------------------------------------*/
33 /*-------------------------------------------------------------*/
34 
35 #endif	// __sk_flattenable_h__
36 
37