Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / ground / gcs / src / plugins / uavobjects / uavdataobject.cpp
blobaaefd992642366b6eefaa1a8443fb0b68ebb6890
1 /**
2 ******************************************************************************
4 * @file uavdataobject.cpp
5 * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
6 * @see The GNU Public License (GPL) Version 3
7 * @addtogroup GCSPlugins GCS Plugins
8 * @{
9 * @addtogroup UAVObjectsPlugin UAVObjects Plugin
10 * @{
11 * @brief The UAVUObjects GCS plugin
12 *****************************************************************************/
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 3 of the License, or
17 * (at your option) any later version.
19 * This program is distributed in the hope that it will be useful, but
20 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 * for more details.
24 * You should have received a copy of the GNU General Public License along
25 * with this program; if not, write to the Free Software Foundation, Inc.,
26 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 #include "uavdataobject.h"
30 /**
31 * Constructor
33 UAVDataObject::UAVDataObject(quint32 objID, bool isSingleInst, bool isSettings, const QString & name) :
34 UAVObject(objID, isSingleInst, name)
36 m_metaObject = NULL;
37 this->m_isSettings = isSettings;
40 /**
41 * Initialize instance ID and assign a metaobject
43 void UAVDataObject::initialize(quint32 instID, UAVMetaObject *metaObject)
45 QMutexLocker locker(mutex);
47 this->m_metaObject = metaObject;
48 UAVObject::initialize(instID);
51 /**
52 * Assign a metaobject
54 void UAVDataObject::initialize(UAVMetaObject *metaObject)
56 QMutexLocker locker(mutex);
58 this->m_metaObject = metaObject;
61 /**
62 * Returns true if this is a data object holding module settings
64 bool UAVDataObject::isSettingsObject()
66 return m_isSettings;
69 /**
70 * Set the object's metadata
72 void UAVDataObject::setMetadata(const Metadata & mdata)
74 if (m_metaObject != NULL) {
75 m_metaObject->setData(mdata);
79 /**
80 * Get the object's metadata
82 UAVObject::Metadata UAVDataObject::getMetadata(void)
84 if (m_metaObject != NULL) {
85 return m_metaObject->getData();
86 } else {
87 return getDefaultMetadata();
91 /**
92 * Get the metaobject
94 UAVMetaObject *UAVDataObject::getMetaObject()
96 return m_metaObject;
99 bool UAVDataObject::isDataObject()
101 return true;