modemstatus.h
1 /*
2  * Copyright (C) 2015 ThomArmax (Thomas COIN)
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Thomas COIN <esvcorp@gmail.com> 18/04/2015
19  */
20 
21 #ifndef MODEMSTATUS_H
22 #define MODEMSTATUS_H
23 
24 #include "XBeeResponse"
25 #include <QByteArray>
26 
27 namespace QtXBee {
28 
36 class ModemStatus : public XBeeResponse
37 {
38  Q_OBJECT
39 public:
40  enum Status {
41  HardwareReset = 0x00,
42  WatchdogTimerReset = 0x01,
43  Associated = 0x02,
44  Disassociated = 0x03,
45  SynchronizationLost = 0x04,
46  CoordinatorRealignment = 0x05,
47  CoordinatorStarted = 0x06,
48  Unkown = 0xFF
49  };
50 
51  explicit ModemStatus (QObject *parent);
52  ModemStatus (const QByteArray & packet, QObject * parent = 0);
53 
54  QString toString ();
55 
56  void setStatus (Status status);
57  Status status () const;
58  QString statusToString () const;
59 
60 private:
61  bool parseApiSpecificData(const QByteArray & data);
62 
63 private:
64  Status m_status;
65 };
66 
67 } // END namepsace
68 
69 #endif // MODEMSTATUS_H