#ifndef UAVOBJECTMANAGER_H #define UAVOBJECTMANAGER_H #include "uavobject.h" #include "uavdataobject.h" #include "uavmetaobject.h" #include #include class UAVObjectManager: public QObject { Q_OBJECT public: UAVObjectManager(); bool registerObject(UAVObject* obj); UAVDataObject* newObjectInstance(QString& name, quint32 instId = 0); UAVDataObject* newObjectInstance(quint32 objId, quint32 instId = 0); QList< QList > getObjects(); QList< QList > getDataObjects(); QList< QList > getMetaObjects(); UAVObject* getObject(QString& name, quint32 instId = 0); UAVObject* getObject(quint32 objId, quint32 instId = 0); QList getObjectInstances(QString& name); QList getObjectInstances(quint32 objId); qint32 getNumInstances(QString& name); qint32 getNumInstances(quint32 objId); signals: void newObject(UAVObject* obj); private: QList< QList > objects; QMutex* mutex; UAVDataObject* newObjectInstance(QString* name, quint32 objId, quint32 instId); UAVObject* getObject(QString* name, quint32 objId, quint32 instId); QList getObjectInstances(QString* name, quint32 objId); qint32 getNumInstances(QString* name, quint32 objId); }; #endif // UAVOBJECTMANAGER_H