mirror of
https://github.com/markdavidlong/AppleSAWS.git
synced 2024-06-08 12:29:29 +00:00
52 lines
774 B
C++
52 lines
774 B
C++
|
#include "memorycell.h"
|
||
|
|
||
|
MemoryCell::MemoryCell(quint8 val)
|
||
|
{
|
||
|
m_value = val;
|
||
|
}
|
||
|
|
||
|
MemoryCell::~MemoryCell()
|
||
|
{
|
||
|
auto keys = m_roles.keys();
|
||
|
|
||
|
foreach (auto key, keys)
|
||
|
{
|
||
|
delete (m_roles.take(key));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
bool MemoryCell::setRole(MemRole *role)
|
||
|
{
|
||
|
if (!role) return false;
|
||
|
|
||
|
if (hasRole(role->id()))
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
m_roles.insert(role->id(),role);
|
||
|
role->setParent(this);
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
MemRole *MemoryCell::getRole(int id)
|
||
|
{
|
||
|
if (hasRole(id))
|
||
|
{
|
||
|
return m_roles[id];
|
||
|
}
|
||
|
return nullptr;
|
||
|
}
|
||
|
|
||
|
bool MemoryCell::hasRole(int id) const
|
||
|
{
|
||
|
return m_roles.contains(id);
|
||
|
}
|
||
|
|
||
|
QList<MemRole *> MemoryCell::getAllRoles()
|
||
|
{
|
||
|
return m_roles.values();
|
||
|
}
|
||
|
|
||
|
|