130 lines
2.6 KiB
C++
Executable File
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
|
|
|