usb: getting string descriptors, minor improvements
[quarnos.git] / manes / ods / obj_val.h
blobf82d45352a0accd568bb47eb06445b0dc7e3fb9b
1 #ifndef _OBJ_VAL_H_
2 #define _OBJ_VAL_H_
4 #include "object.h"
6 namespace manes {
7 namespace ods {
8 class object_stream;
10 /**
11 * @brief Object marshalled by value
13 * @details This is a base class for all classes whose instances
14 * may be tranported by value.
16 class obj_val : public object {
17 public:
18 /**
19 * Serialize itself
21 * This method invoked on object puts all its data into
22 * provided object_stream.
23 * @param ostr stream of objects to serialize to
25 virtual void serialize(object_stream &ostr) = 0;
27 /**
28 * Deserialize itself
30 * This method invoked on object gets all its data from
31 * provided object_stream.
32 * @param ostr stream of objects to deserialize from
34 virtual void deserialize(object_stream &ostr) = 0;
39 #endif