77 lines
1.8 KiB
C++
Executable File
77 lines
1.8 KiB
C++
Executable File
/**
|
|
**
|
|
** @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 <QDebug>
|
|
|
|
#include <typeinfo>
|
|
#include <memory>
|
|
|
|
|
|
namespace SituationMap
|
|
{
|
|
|
|
std::shared_ptr<DeleteHandler> & s_deleteHandler()
|
|
{
|
|
static std::shared_ptr<DeleteHandler> deleteHandler(nullptr);
|
|
return deleteHandler;
|
|
} // std::shared_ptr<DeleteHandler> & 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
|
|
|
|
|
|
|