Serialize FS service; some compiler fixes

This commit is contained in:
Hamish Milne 2019-12-27 11:46:10 +00:00 committed by zhupengfei
parent d1096de245
commit 3ed8d95866
10 changed files with 62 additions and 45 deletions

View file

@ -220,4 +220,21 @@ extern const std::array<ServiceModuleInfo, 40> service_module_map;
ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this); \
} \
friend class boost::serialization::access; \
friend class construct_access;
friend class ::construct_access;
#define SERVICE_CONSTRUCT(T) \
namespace boost::serialization { \
template <class Archive> \
void load_construct_data(Archive& ar, T* t, const unsigned int); \
}
#define SERVICE_CONSTRUCT_IMPL(T) \
namespace boost::serialization { \
template <class Archive> \
void load_construct_data(Archive& ar, T* t, const unsigned int) \
{ \
::new(t)T(Core::Global<Core::System>()); \
} \
template \
void load_construct_data<iarchive>(iarchive& ar, T* t, const unsigned int); \
}