3 #ifndef GEODE_PDXWRAPPER_H_
4 #define GEODE_PDXWRAPPER_H_
23 #include "PdxSerializer.hpp"
24 #include "PdxSerializable.hpp"
47 PdxWrapper(
void* userObject,
const char* className);
57 void* getObject(
bool detach =
false);
62 const char* getClassName()
const;
65 bool operator==(
const CacheableKey& other)
const;
68 int32_t hashcode()
const;
74 void toData(PdxWriterPtr output);
79 void fromData(PdxReaderPtr input);
83 void toData(DataOutput& output)
const;
88 Serializable* fromData(DataInput& input);
94 int32_t classId()
const {
return 0; }
103 uint32_t objectSize()
const;
113 CacheableStringPtr toString()
const;
115 virtual ~PdxWrapper();
120 PdxWrapper(
const char* className);
123 PdxSerializerPtr m_serializer;
124 UserDeallocator m_deallocator;
125 UserObjectSizer m_sizer;
128 friend class SerializationRegistry;
130 PdxWrapper(
const PdxWrapper&);
132 const PdxWrapper& operator=(
const PdxWrapper&);
138 #endif // GEODE_PDXWRAPPER_H_