mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
44 lines
752 B
C++
44 lines
752 B
C++
#include "TableControllerBase.h"
|
|
|
|
#include <assert.h>
|
|
|
|
namespace controller {
|
|
|
|
TableControllerBase::TableControllerBase()
|
|
: mReferenceCount(1)
|
|
{
|
|
|
|
}
|
|
|
|
|
|
TableControllerBase::~TableControllerBase()
|
|
{
|
|
lock("TableControllerBase::deconstruct");
|
|
assert(0 == mReferenceCount);
|
|
|
|
unlock();
|
|
}
|
|
|
|
void TableControllerBase::duplicate()
|
|
{
|
|
lock("TableControllerBase::duplicate");
|
|
mReferenceCount++;
|
|
//printf("[ModelBase::duplicate] new value: %d\n", mReferenceCount);
|
|
unlock();
|
|
}
|
|
|
|
void TableControllerBase::release()
|
|
{
|
|
lock("TableControllerBase::release");
|
|
mReferenceCount--;
|
|
//printf("[ModelBase::release] new value: %d\n", mReferenceCount);
|
|
if (0 == mReferenceCount) {
|
|
unlock();
|
|
delete this;
|
|
return;
|
|
}
|
|
unlock();
|
|
|
|
}
|
|
|
|
} |