De-pimpl Macros::Internal::MacroEvent

Less code, less cycles.

Change-Id: I1bbc2d5050fd29f199c12120d183f84c686953fe
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
This commit is contained in:
hjk
2014-11-05 09:06:09 +01:00
parent f80e580003
commit 3607866ac1
2 changed files with 17 additions and 52 deletions

View File

@@ -34,7 +34,8 @@
#include <QVariant> #include <QVariant>
#include <QDataStream> #include <QDataStream>
using namespace Macros::Internal; namespace Macros {
namespace Internal {
/*! /*!
\class Macros::MacroEvent \class Macros::MacroEvent
@@ -50,57 +51,21 @@ using namespace Macros::Internal;
The information are stored in a map of QVariants (using quint8 for keys). The information are stored in a map of QVariants (using quint8 for keys).
*/ */
class MacroEvent::MacroEventPrivate
{
public:
Core::Id id;
QMap<quint8, QVariant> values;
};
// ---------- MacroEvent ------------
MacroEvent::MacroEvent():
d(new MacroEventPrivate)
{
}
MacroEvent::MacroEvent(const MacroEvent &other):
d(new MacroEventPrivate)
{
d->id = other.d->id;
d->values = other.d->values;
}
MacroEvent::~MacroEvent()
{
delete d;
}
MacroEvent& MacroEvent::operator=(const MacroEvent &other)
{
if (this == &other)
return *this;
d->id = other.d->id;
d->values = other.d->values;
return *this;
}
QVariant MacroEvent::value(quint8 id) const QVariant MacroEvent::value(quint8 id) const
{ {
return d->values.value(id); return m_values.value(id);
} }
void MacroEvent::setValue(quint8 id, const QVariant &value) void MacroEvent::setValue(quint8 id, const QVariant &value)
{ {
d->values[id] = value; m_values[id] = value;
} }
void MacroEvent::load(QDataStream &stream) void MacroEvent::load(QDataStream &stream)
{ {
QByteArray ba; QByteArray ba;
stream >> ba; stream >> ba;
d->id = Core::Id::fromName(ba); m_id = Core::Id::fromName(ba);
int count; int count;
stream >> count; stream >> count;
quint8 id; quint8 id;
@@ -108,15 +73,15 @@ void MacroEvent::load(QDataStream &stream)
for (int i = 0; i < count; ++i) { for (int i = 0; i < count; ++i) {
stream >> id; stream >> id;
stream >> value; stream >> value;
d->values[id] = value; m_values[id] = value;
} }
} }
void MacroEvent::save(QDataStream &stream) const void MacroEvent::save(QDataStream &stream) const
{ {
stream << d->id.name(); stream << m_id.name();
stream << d->values.count(); stream << m_values.count();
QMapIterator<quint8, QVariant> i(d->values); QMapIterator<quint8, QVariant> i(m_values);
while (i.hasNext()) { while (i.hasNext()) {
i.next(); i.next();
stream << i.key() << i.value(); stream << i.key() << i.value();
@@ -125,10 +90,13 @@ void MacroEvent::save(QDataStream &stream) const
Core::Id MacroEvent::id() const Core::Id MacroEvent::id() const
{ {
return d->id; return m_id;
} }
void MacroEvent::setId(Core::Id id) void MacroEvent::setId(Core::Id id)
{ {
d->id = id; m_id = id;
} }
} // namespace Internal
} // namespace Macro

View File

@@ -47,10 +47,7 @@ namespace Internal {
class MacroEvent class MacroEvent
{ {
public: public:
MacroEvent(); MacroEvent() {}
MacroEvent(const MacroEvent &other);
virtual ~MacroEvent();
MacroEvent& operator=(const MacroEvent &other);
Core::Id id() const; Core::Id id() const;
void setId(Core::Id id); void setId(Core::Id id);
@@ -62,8 +59,8 @@ public:
void save(QDataStream &stream) const; void save(QDataStream &stream) const;
private: private:
class MacroEventPrivate; Core::Id m_id;
MacroEventPrivate* d; QMap<quint8, QVariant> m_values;
}; };
} // namespace Internal } // namespace Internal