Files
DbSketch/sketchlib/container/msimmutableforeignsymbol.cpp
2018-09-16 06:05:23 +02:00

69 lines
1.6 KiB
C++

#include "msimmutableforeignsymbol.h"
#include <QJsonValue>
#include <QJsonObject>
#include "containerfactory.h"
#include "symbolmaster.h"
MSImmutableForeignSymbol::MSImmutableForeignSymbol(QObject *parent) :
BaseContainer(parent),
m_originalMaster(Q_NULLPTR),
m_symbolMaster(Q_NULLPTR)
{
}
const QString &MSImmutableForeignSymbol::libraryID() const
{
return m_libraryID;
}
SymbolMaster *MSImmutableForeignSymbol::originalMaster() const
{
return m_originalMaster;
}
const QString &MSImmutableForeignSymbol::sourceLibraryName() const
{
return m_sourceLibraryName;
}
SymbolMaster *MSImmutableForeignSymbol::symbolMaster() const
{
return m_symbolMaster;
}
bool MSImmutableForeignSymbol::parseProperty(const QString &key, const QJsonValue &value)
{
if(key == QStringLiteral("libraryID"))
{
Q_ASSERT(value.isString());
m_libraryID = value.toString();
return true;
}
if(key == QStringLiteral("originalMaster"))
{
Q_ASSERT(value.isObject());
m_originalMaster = ContainerFactory::createContainer<SymbolMaster>(value.toObject(), this);
return true;
}
if(key == QStringLiteral("sourceLibraryName"))
{
Q_ASSERT(value.isString());
m_sourceLibraryName = value.toString();
return true;
}
if(key == QStringLiteral("symbolMaster"))
{
Q_ASSERT(value.isObject());
m_symbolMaster = ContainerFactory::createContainer<SymbolMaster>(value.toObject(), this);
return true;
}
return BaseContainer::parseProperty(key, value);
}