- virtual void unserialize(SerializeFormat format, Extensible* container, const std::string& value) = 0;
- /** Free the item */
- virtual void free(void* item) = 0;
+ virtual std::string ToNetwork(const Extensible* container, void* item) const;
+
+ /** Deallocates the specified ExtensionItem value.
+ * @param container The container that the ExtensionItem is set on.
+ * @param item The item to deallocate.
+ */
+ virtual void free(Extensible* container, void* item) = 0;
+
+ /** Registers this object with the ExtensionManager. */
+ void RegisterService() CXX11_OVERRIDE;
+
+ /** DEPRECATED: use To{Human,Internal,Network} instead. */
+ DEPRECATED_METHOD(virtual std::string serialize(SerializeFormat format, const Extensible* container, void* item) const);
+
+ /** DEPRECATED: use From{Internal,Network} instead. */
+ DEPRECATED_METHOD(virtual void unserialize(SerializeFormat format, Extensible* container, const std::string& value));