Typica is a free program for professional coffee roasters. https://typica.us
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

qextserialenumerator.h 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /****************************************************************************
  2. ** Copyright (c) 2000-2003 Wayne Roth
  3. ** Copyright (c) 2004-2007 Stefan Sander
  4. ** Copyright (c) 2007 Michal Policht
  5. ** Copyright (c) 2008 Brandon Fosdick
  6. ** Copyright (c) 2009-2010 Liam Staskawicz
  7. ** Copyright (c) 2011 Debao Zhang
  8. ** All right reserved.
  9. ** Web: http://code.google.com/p/qextserialport/
  10. **
  11. ** Permission is hereby granted, free of charge, to any person obtaining
  12. ** a copy of this software and associated documentation files (the
  13. ** "Software"), to deal in the Software without restriction, including
  14. ** without limitation the rights to use, copy, modify, merge, publish,
  15. ** distribute, sublicense, and/or sell copies of the Software, and to
  16. ** permit persons to whom the Software is furnished to do so, subject to
  17. ** the following conditions:
  18. **
  19. ** The above copyright notice and this permission notice shall be
  20. ** included in all copies or substantial portions of the Software.
  21. **
  22. ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  23. ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  24. ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  25. ** NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
  26. ** LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  27. ** OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  28. ** WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  29. **
  30. ****************************************************************************/
  31. #ifndef _QEXTSERIALENUMERATOR_H_
  32. #define _QEXTSERIALENUMERATOR_H_
  33. #include <QtCore/QList>
  34. #include <QtCore/QObject>
  35. #include "qextserialport_global.h"
  36. struct QextPortInfo {
  37. QString portName; ///< Port name.
  38. QString physName; ///< Physical name.
  39. QString friendName; ///< Friendly name.
  40. QString enumName; ///< Enumerator name.
  41. int vendorID; ///< Vendor ID.
  42. int productID; ///< Product ID
  43. };
  44. class QextSerialEnumeratorPrivate;
  45. class QEXTSERIALPORT_EXPORT QextSerialEnumerator : public QObject
  46. {
  47. Q_OBJECT
  48. Q_DECLARE_PRIVATE(QextSerialEnumerator)
  49. public:
  50. QextSerialEnumerator(QObject * parent=0);
  51. ~QextSerialEnumerator();
  52. static QList<QextPortInfo> getPorts();
  53. void setUpNotifications();
  54. Q_SIGNALS:
  55. void deviceDiscovered(const QextPortInfo & info);
  56. void deviceRemoved(const QextPortInfo & info);
  57. private:
  58. Q_DISABLE_COPY(QextSerialEnumerator)
  59. QextSerialEnumeratorPrivate *d_ptr;
  60. };
  61. #endif /*_QEXTSERIALENUMERATOR_H_*/