summaryrefslogtreecommitdiff
path: root/src/base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/base.cpp')
-rw-r--r--src/base.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/base.cpp b/src/base.cpp
index 1b01da707..2e2dbfb28 100644
--- a/src/base.cpp
+++ b/src/base.cpp
@@ -22,22 +22,21 @@ classbase::classbase()
{
}
-bool classbase::cull()
+CullResult classbase::cull()
{
- return true;
+ return CullResult();
}
classbase::~classbase()
{
}
-refcountbase::refcountbase() : refcount(0)
+CullResult::CullResult()
{
}
-bool refcountbase::cull()
+refcountbase::refcountbase() : refcount(0)
{
- return (refcount == 0);
}
refcountbase::~refcountbase()
@@ -129,12 +128,17 @@ void Extensible::doUnhookExtensions(const std::vector<ExtensionItem*>& toRemove)
}
}
-Extensible::~Extensible()
+CullResult Extensible::cull()
{
for(ExtensibleStore::iterator i = extensions.begin(); i != extensions.end(); ++i)
{
i->first->free(i->second);
}
+ return classbase::cull();
+}
+
+Extensible::~Extensible()
+{
}
LocalExtItem::LocalExtItem(const std::string& Key, Module* mod) : ExtensionItem(Key, mod)