/**************************************************************************** ** Copyright (c) 2000-2003 Wayne Roth ** Copyright (c) 2004-2007 Stefan Sander ** Copyright (c) 2007 Michal Policht ** Copyright (c) 2008 Brandon Fosdick ** Copyright (c) 2009-2010 Liam Staskawicz ** Copyright (c) 2011 Debao Zhang ** All right reserved. ** Web: http://code.google.com/p/qextserialport/ ** ** Permission is hereby granted, free of charge, to any person obtaining ** a copy of this software and associated documentation files (the ** "Software"), to deal in the Software without restriction, including ** without limitation the rights to use, copy, modify, merge, publish, ** distribute, sublicense, and/or sell copies of the Software, and to ** permit persons to whom the Software is furnished to do so, subject to ** the following conditions: ** ** The above copyright notice and this permission notice shall be ** included in all copies or substantial portions of the Software. ** ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ** NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE ** LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ** OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ** WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ** ****************************************************************************/ #ifndef _QEXTSERIALENUMERATOR_H_ #define _QEXTSERIALENUMERATOR_H_ #include #include #include "qextserialport_global.h" struct QextPortInfo { QString portName; ///< Port name. QString physName; ///< Physical name. QString friendName; ///< Friendly name. QString enumName; ///< Enumerator name. int vendorID; ///< Vendor ID. int productID; ///< Product ID }; class QextSerialEnumeratorPrivate; class QEXTSERIALPORT_EXPORT QextSerialEnumerator : public QObject { Q_OBJECT Q_DECLARE_PRIVATE(QextSerialEnumerator) public: QextSerialEnumerator(QObject * parent=0); ~QextSerialEnumerator(); static QList getPorts(); void setUpNotifications(); Q_SIGNALS: void deviceDiscovered(const QextPortInfo & info); void deviceRemoved(const QextPortInfo & info); private: Q_DISABLE_COPY(QextSerialEnumerator) QextSerialEnumeratorPrivate *d_ptr; }; #endif /*_QEXTSERIALENUMERATOR_H_*/