/** ** ** @RDE_HEADER@ ** Base class for reference counted objects ** $Id$ ** $HeadURL$ ** $Author$ ** ** ----------------------------------------------------------------------------------------------- ** ** Hardware-Umgebung: Intel-PC ** Software-Umgebung: Linux, Windows 7, Qt 5.4. ArcGIS 10.2.5 ** ** Pgrm-Sprache ....: C++ 11 ** ** HIER/SACHN ......: P: -- ---- - --- QE ** ** Version .........: $Revision$ ** ----------------------------------------------------------------------------------------------- ** ** Autor ...........: Nikolaus Hanekamp, SEDG, Tel. 2906 ** Joerg Turla, SPD G, Tel. 3132 ** ** ----------------------------------------------------------------------------------------------- ** ** Notizen .........: ** ** 18.08.2004, NH : Urversion ** 13.05.2015, JT : Refactoring for use with Qt5, ArcGIS 10.2.5 ** ** ----------------------------------------------------------------------------------------------- */ #include "referenced.h" #include #include #include namespace SituationMap { std::shared_ptr & s_deleteHandler() { static std::shared_ptr deleteHandler(nullptr); return deleteHandler; } // std::shared_ptr & s_deleteHandler() void Referenced::setDeleteHandler(DeleteHandler *handler) { s_deleteHandler().reset(handler); } // Referenced::setDeleteHandler DeleteHandler *Referenced::getDeleteHandler() { return s_deleteHandler().get(); } Referenced::~Referenced() { if (_refCount > 0) { qCritical() << "Deleting still referenced object < " << QString::number((qint64)this, 0, 16) << ">" << "of type <" << typeid(this).name() << ">" << "refCnt: <" << _refCount; } } // Referenced::~Referenced } // end of namespace SituationMap