+ }
+ }
+ return rv;
+}
+
+void Extensible::doUnhookExtensions(const std::vector<ExtensionItem*>& toRemove)
+{
+ for(std::vector<ExtensionItem*>::const_iterator i = toRemove.begin(); i != toRemove.end(); i++)
+ {
+ ExtensibleStore::iterator e = extensions.find((**i).key);
+ if (e != extensions.end())
+ {
+ (**i).free(e->second);
+ extensions.erase(e);
+ }