00001
00010 #ifndef BS_WELL_SERIALIZER_H_
00011 #define BS_WELL_SERIALIZER_H_
00012
00013 #include "data_storage_interface.h"
00014
00015 namespace blue_sky
00016 {
00017
00018 template <typename strategy_t>
00019 class well;
00020
00021 namespace wells
00022 {
00023
00024 template <typename strategy_t>
00025 class BS_API_PLUGIN well_serializer : public data_serializer
00026 {
00027 public:
00028
00029 typedef well <strategy_t> well_t;
00030 typedef smart_ptr <well_t, true> sp_well_t;
00031
00032 virtual ~well_serializer () {}
00033
00034 virtual void save (const sp_storage_t &storage, const sp_obj &obj) const;
00035
00036 BLUE_SKY_TYPE_DECL_T (well_serializer);
00037 };
00038
00040 bool
00041 well_serializer_register_type (const plugin_descriptor &pd);
00042
00043
00044 }
00045 }
00046
00047
00048 #endif // #ifndef BS_WELL_SERIALIZER_H_