diff options
author | Peter Powell <petpow@saberuk.com> | 2019-05-13 17:24:25 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2019-10-14 11:03:03 +0100 |
commit | d0f802e30c492cb1b7e55f51063bfd38b29931c6 (patch) | |
tree | a11cbb5c48fae151d285e0536d4f51b2b09659da /include/extensible.h | |
parent | 51b9b4c9b404bd801be194644133be47bd035b58 (diff) |
Implement serialisation of users.
This allows for various things which will be coming in the future.
e.g. Transferring users to another server on upgrade.
Diffstat (limited to 'include/extensible.h')
-rw-r--r-- | include/extensible.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/extensible.h b/include/extensible.h index c24984f26..f3eeabdcf 100644 --- a/include/extensible.h +++ b/include/extensible.h @@ -133,7 +133,9 @@ class CoreExport ExtensionItem : public ServiceProvider, public usecountbase * a flags variable, and each module defining bits within the flag as 'theirs' as it is less prone to conflict and * supports arbitary data storage). */ -class CoreExport Extensible : public classbase +class CoreExport Extensible + : public classbase + , public Serializable { public: typedef insp::flat_map<reference<ExtensionItem>, void*> ExtensibleStore; @@ -165,6 +167,12 @@ class CoreExport Extensible : public classbase * Free all extension items attached to this Extensible */ void FreeAllExtItems(); + + /** @copydoc Serializable::Deserialize. */ + bool Deserialize(Data& data) CXX11_OVERRIDE; + + /** @copydoc Serializable::Deserialize. */ + bool Serialize(Serializable::Data& data) CXX11_OVERRIDE; }; class CoreExport ExtensionManager |