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