This commit is contained in:
Stephen Birarda 2015-03-12 12:14:43 -07:00
commit cd2ce2ee2f

View file

@ -17,18 +17,25 @@
#include <QSharedPointer>
#include <QWeakPointer>
#include <functional>
#include <typeinfo>
#define SINGLETON_DEPENDENCY \
friend class DependencyManager;
class Dependency {
public:
typedef std::function<void(Dependency* pointer)> DeleterFunction;
protected:
virtual ~Dependency() {}
virtual void customDeleter() {
delete this;
_customDeleter(this);
}
void setCustomDeleter(DeleterFunction customDeleter) { _customDeleter = customDeleter; }
DeleterFunction _customDeleter = [](Dependency* pointer) { delete pointer; };
friend class DependencyManager;
};