forked from len0rd/rockbox
qeditor: backends can now report validity status
Change-Id: Iefedc9cee10a8c7457d972e5a60d151a6cb38aa8 Reviewed-on: http://gerrit.rockbox.org/995 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
This commit is contained in:
parent
b08620dd30
commit
99ed6d2bea
2 changed files with 9 additions and 0 deletions
|
@ -114,6 +114,7 @@ FileIoBackend::FileIoBackend(const QString& filename, const QString& soc_name)
|
||||||
{
|
{
|
||||||
m_filename = filename;
|
m_filename = filename;
|
||||||
m_soc = soc_name;
|
m_soc = soc_name;
|
||||||
|
m_valid = false;
|
||||||
Reload();
|
Reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,6 +133,7 @@ bool FileIoBackend::ReadRegister(const QString& name, soc_word_t& value)
|
||||||
|
|
||||||
bool FileIoBackend::Reload()
|
bool FileIoBackend::Reload()
|
||||||
{
|
{
|
||||||
|
m_valid = false;
|
||||||
QFile file(m_filename);
|
QFile file(m_filename);
|
||||||
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||||
return false;
|
return false;
|
||||||
|
@ -155,6 +157,7 @@ bool FileIoBackend::Reload()
|
||||||
|
|
||||||
m_readonly = !QFileInfo(file).isWritable();
|
m_readonly = !QFileInfo(file).isWritable();
|
||||||
m_dirty = false;
|
m_dirty = false;
|
||||||
|
m_valid = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,8 @@ public:
|
||||||
* HW.dev.reg
|
* HW.dev.reg
|
||||||
* where <dev> is the device name (including index like APPUART1)
|
* where <dev> is the device name (including index like APPUART1)
|
||||||
* and <reg> is the register name (including index like PRIORITY29) */
|
* and <reg> is the register name (including index like PRIORITY29) */
|
||||||
|
/* report whether backend is valid */
|
||||||
|
virtual bool IsValid() = 0;
|
||||||
/* report whether backend supports register access type */
|
/* report whether backend supports register access type */
|
||||||
virtual bool SupportAccess(AccessType type) = 0;
|
virtual bool SupportAccess(AccessType type) = 0;
|
||||||
/* get SoC name */
|
/* get SoC name */
|
||||||
|
@ -83,6 +85,7 @@ class DummyIoBackend : public IoBackend
|
||||||
public:
|
public:
|
||||||
DummyIoBackend() {}
|
DummyIoBackend() {}
|
||||||
|
|
||||||
|
virtual bool IsValid() { return false; }
|
||||||
virtual bool SupportAccess(AccessType type) { Q_UNUSED(type); return false; }
|
virtual bool SupportAccess(AccessType type) { Q_UNUSED(type); return false; }
|
||||||
virtual QString GetSocName() { return ""; }
|
virtual QString GetSocName() { return ""; }
|
||||||
virtual bool ReadRegister(const QString& name, soc_word_t& value)
|
virtual bool ReadRegister(const QString& name, soc_word_t& value)
|
||||||
|
@ -107,6 +110,7 @@ class FileIoBackend : public IoBackend
|
||||||
public:
|
public:
|
||||||
FileIoBackend(const QString& filename, const QString& soc_name = "");
|
FileIoBackend(const QString& filename, const QString& soc_name = "");
|
||||||
|
|
||||||
|
virtual bool IsValid() { return m_valid; }
|
||||||
virtual bool SupportAccess(AccessType type) { return type == ByName; }
|
virtual bool SupportAccess(AccessType type) { return type == ByName; }
|
||||||
virtual QString GetSocName();
|
virtual QString GetSocName();
|
||||||
virtual bool ReadRegister(const QString& name, soc_word_t& value);
|
virtual bool ReadRegister(const QString& name, soc_word_t& value);
|
||||||
|
@ -126,6 +130,7 @@ protected:
|
||||||
QString m_soc;
|
QString m_soc;
|
||||||
bool m_readonly;
|
bool m_readonly;
|
||||||
bool m_dirty;
|
bool m_dirty;
|
||||||
|
bool m_valid;
|
||||||
QMap< QString, soc_word_t > m_map;
|
QMap< QString, soc_word_t > m_map;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -173,6 +178,7 @@ public:
|
||||||
HWStubIoBackend(HWStubDevice *dev);
|
HWStubIoBackend(HWStubDevice *dev);
|
||||||
virtual ~HWStubIoBackend();
|
virtual ~HWStubIoBackend();
|
||||||
|
|
||||||
|
virtual bool IsValid() { return m_dev->IsValid(); }
|
||||||
virtual bool SupportAccess(AccessType type) { return type == ByAddress; }
|
virtual bool SupportAccess(AccessType type) { return type == ByAddress; }
|
||||||
virtual QString GetSocName();
|
virtual QString GetSocName();
|
||||||
virtual bool ReadRegister(const QString& name, soc_word_t& value)
|
virtual bool ReadRegister(const QString& name, soc_word_t& value)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue