1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-09 20:46:07 +01:00
LibrePilot/ground/src/plugins/coreplugin/iconnection.h
edouard c463abab93 OP-202 Cleaned up the 'File' menu and removed (commented out) the entries which are not doing anything. "Save All" now saves the current GCS config so that everything is not lost in case of a crash. Easy to revert in case you don't like it. Also:
moved the logging menu entries to 'tools' where I think they belong - comments welcome - and also small change to iconnection.h to remove compile-time warnings.



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2120 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-14 14:58:16 +00:00

83 lines
2.5 KiB
C++

/**
******************************************************************************
*
* @file iconnection.h
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
* Parts by Nokia Corporation (qt-info@nokia.com) Copyright (C) 2009.
* @addtogroup GCSPlugins GCS Plugins
* @{
* @addtogroup CorePlugin Core Plugin
* @{
* @brief The Core GCS plugin
*****************************************************************************/
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef ICONNECTION_H
#define ICONNECTION_H
#include <QObject>
#include <QtCore/QStringList>
#include <QtCore/QIODevice>
#include "core_global.h"
namespace Core {
/**
* An IConnection object define a "type of connection",
* for instance USB, Serial, Network, ...
*/
class CORE_EXPORT IConnection : public QObject
{
Q_OBJECT
public:
/**
* Return the list of devices found on the system
*/
virtual QStringList availableDevices() = 0;
/**
* Open a device, and return a QIODevice interface from it
* It should be a dynamically created object as it will be
* deleted by the connection manager.
*/
virtual QIODevice *openDevice(const QString &deviceName) = 0;
virtual void closeDevice(const QString &deviceName) { Q_UNUSED(deviceName) };
/**
* Connection type name "USB HID"
*/
virtual QString connectionName() = 0;
/**
* Short name to display in a combo box
*/
virtual QString shortName() {return connectionName();}
signals:
/**
* Available devices list has changed, signal it to connection manager (and whoever wants to know)
*/
void availableDevChanged(IConnection *);
};
} //namespace Core
#endif // ICONNECTION_H