Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/Symbology/property_result.cpp
T
2026-08-13 18:33:10 +02:00

130 lines
2.6 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Class PropertyResult
* $Id$
* $HeadURL$
* $Author$
*/
// Own
#include "property_result.h"
// Qt
#include <QUuid>
namespace AdvancedSymbology
{
class PropertyResult::Private
{
public:
Private() = default;
~Private() = default;
// Input data:
// process data:
QUuid m_taskIdFindSymbol; // of esriDict::findSymbol
// Result data:
bool m_resultReady = false;
SymbolPropertyList m_symbolPropertyList;
// For debugging:
static unsigned long m_counter;
};
unsigned long PropertyResult::Private::m_counter = 0;
PropertyResult::PropertyResult()
: QObject()
, d(new Private)
, m_logger(getLogger("PropertyResult"))
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START, m_counter=" << d->m_counter;
++d->m_counter;
TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_counter=" << d->m_counter;
}
PropertyResult::~PropertyResult()
{
LOGGER_T m_logger = getLogger("PropertyResult");
TRACE_LOG(m_logger) << LOGFUNCTION << " START, m_counter=" << d->m_counter;
--d->m_counter;
delete d;
TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_counter=" << Private::m_counter;
}
void PropertyResult::fireResultReady()
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
// (this bool don`t has to be reset.
// a new request will return a new instance of this class...)
d->m_resultReady = true;
emit resultReadyInternal();
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
}
void PropertyResult::setTaskId(const QUuid &uuid)
{
d->m_taskIdFindSymbol = uuid;
}
const QUuid &PropertyResult::taskId() const
{
return d->m_taskIdFindSymbol;
}
void PropertyResult::setProperties(const SymbolPropertyList &properties)
{
d->m_symbolPropertyList = properties;
}
bool PropertyResult::isResultReady() const
{
return d->m_resultReady;
}
SymbolPropertyList PropertyResult::properties() const
{
return d->m_symbolPropertyList;
}
//------------------------------------------------------------------------------
// PropertyResultWatcher
//------------------------------------------------------------------------------
PropertyResultWatcher::PropertyResultWatcher(QObject *parent)
: BaseClass(parent)
, m_logger(getLogger("PropertyResultWatcher"))
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
}
QSharedPointer<PropertyResult> PropertyResultWatcher::propertyResult() const
{
return BaseClass::result();
}
void PropertyResultWatcher::setPropertyResult(const QSharedPointer<PropertyResult> &propertyResult)
{
BaseClass::setResult(propertyResult);
}
} // namespace AdvancedSymbology