X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fextensible.h;h=f88ede4611805e449f6c690864f0327b7abe09cf;hb=850b7a3ace862101a944a9332d72b6bd597c17cc;hp=afb1cd5b66e0097def46c36c18e509e341152b19;hpb=565544fac966b14e046bb3042ab485f79bcf7c9e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/extensible.h b/include/extensible.h index afb1cd5b6..f88ede461 100644 --- a/include/extensible.h +++ b/include/extensible.h @@ -65,7 +65,7 @@ class CoreExport ExtensionItem : public ServiceProvider, public usecountbase */ virtual void unserialize(SerializeFormat format, Extensible* container, const std::string& value) = 0; /** Free the item */ - virtual void free(void* item) = 0; + virtual void free(Extensible* container, void* item) = 0; /** Register this object in the ExtensionManager */ @@ -147,7 +147,7 @@ class CoreExport LocalExtItem : public ExtensionItem virtual ~LocalExtItem(); std::string serialize(SerializeFormat format, const Extensible* container, void* item) const CXX11_OVERRIDE; void unserialize(SerializeFormat format, Extensible* container, const std::string& value) CXX11_OVERRIDE; - void free(void* item) CXX11_OVERRIDE = 0; + void free(Extensible* container, void* item) CXX11_OVERRIDE = 0; }; template > @@ -190,7 +190,7 @@ class SimpleExtItem : public LocalExtItem del(old); } - void free(void* item) CXX11_OVERRIDE + void free(Extensible* container, void* item) CXX11_OVERRIDE { Del del; del(static_cast(item)); @@ -216,7 +216,7 @@ class CoreExport LocalIntExt : public LocalExtItem intptr_t get(const Extensible* container) const; intptr_t set(Extensible* container, intptr_t value); void unset(Extensible* container) { set(container, 0); } - void free(void* item) CXX11_OVERRIDE; + void free(Extensible* container, void* item) CXX11_OVERRIDE; }; class CoreExport StringExtItem : public ExtensionItem @@ -229,5 +229,5 @@ class CoreExport StringExtItem : public ExtensionItem void unserialize(SerializeFormat format, Extensible* container, const std::string& value) CXX11_OVERRIDE; void set(Extensible* container, const std::string& value); void unset(Extensible* container); - void free(void* item) CXX11_OVERRIDE; + void free(Extensible* container, void* item) CXX11_OVERRIDE; };