mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-27 16:54:15 +01:00
OP-706 Added isKnown to UAVObject with signal on change.
This commit is contained in:
parent
1766776c30
commit
1a28d17eff
@ -63,6 +63,7 @@ UAVObject::UAVObject(quint32 objID, bool isSingleInst, const QString & name)
|
|||||||
this->data = 0;
|
this->data = 0;
|
||||||
this->numBytes = 0;
|
this->numBytes = 0;
|
||||||
this->mutex = new QMutex(QMutex::Recursive);
|
this->mutex = new QMutex(QMutex::Recursive);
|
||||||
|
m_isKnown = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -603,6 +604,25 @@ void UAVObject::emitNewInstance(UAVObject *obj)
|
|||||||
emit newInstance(obj);
|
emit newInstance(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool UAVObject::isKnown() const
|
||||||
|
{
|
||||||
|
QMutexLocker locker(mutex);
|
||||||
|
|
||||||
|
return m_isKnown;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UAVObject::setIsKnown(bool isKnown)
|
||||||
|
{
|
||||||
|
lock();
|
||||||
|
bool changed = m_isKnown != isKnown;
|
||||||
|
m_isKnown = isKnown;
|
||||||
|
unlock();
|
||||||
|
|
||||||
|
if (changed) {
|
||||||
|
emit isKnownChanged(this, isKnown);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool UAVObject::isSettingsObject()
|
bool UAVObject::isSettingsObject()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -142,6 +142,9 @@ public:
|
|||||||
void emitTransactionCompleted(bool success);
|
void emitTransactionCompleted(bool success);
|
||||||
void emitNewInstance(UAVObject *);
|
void emitNewInstance(UAVObject *);
|
||||||
|
|
||||||
|
bool isKnown() const;
|
||||||
|
void setIsKnown(bool isKnown);
|
||||||
|
|
||||||
virtual bool isSettingsObject();
|
virtual bool isSettingsObject();
|
||||||
virtual bool isDataObject();
|
virtual bool isDataObject();
|
||||||
virtual bool isMetaDataObject();
|
virtual bool isMetaDataObject();
|
||||||
@ -178,9 +181,7 @@ signals:
|
|||||||
void updateRequested(UAVObject *obj, bool all = false);
|
void updateRequested(UAVObject *obj, bool all = false);
|
||||||
void transactionCompleted(UAVObject *obj, bool success);
|
void transactionCompleted(UAVObject *obj, bool success);
|
||||||
void newInstance(UAVObject *obj);
|
void newInstance(UAVObject *obj);
|
||||||
|
void isKnownChanged(UAVObject *obj, bool isKnown);
|
||||||
private slots:
|
|
||||||
void fieldUpdated(UAVObjectField *field);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
quint32 objID;
|
quint32 objID;
|
||||||
@ -197,6 +198,12 @@ protected:
|
|||||||
void initializeFields(QList<UAVObjectField *> & fields, quint8 *data, quint32 numBytes);
|
void initializeFields(QList<UAVObjectField *> & fields, quint8 *data, quint32 numBytes);
|
||||||
void setDescription(const QString & description);
|
void setDescription(const QString & description);
|
||||||
void setCategory(const QString & category);
|
void setCategory(const QString & category);
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool m_isKnown;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void fieldUpdated(UAVObjectField *field);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // UAVOBJECT_H
|
#endif // UAVOBJECT_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user