Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
250 KeyOz 1
/***************************************************************************
2
 *   Copyright (C) 2009 by Manuel Schrape                                  *
3
 *   manuel.schrape@gmx.de                                                 *
4
 *                                                                         *
5
 *   This program is free software; you can redistribute it and/or modify  *
6
 *   it under the terms of the GNU General Public License as published by  *
7
 *   the Free Software Foundation; either version 2 of the License.        *
8
 *                                                                         *
9
 *   This program 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         *
12
 *   GNU General Public License for more details.                          *
13
 *                                                                         *
14
 *   You should have received a copy of the GNU General Public License     *
15
 *   along with this program; if not, write to the                         *
16
 *   Free Software Foundation, Inc.,                                       *
17
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
18
 ***************************************************************************/
19
#ifndef CCONNECTION_H
20
#define CCONNECTION_H
21
 
22
#include <QObject>
263 KeyOz 23
#include <QTcpSocket>
313 KeyOz 24
#include <QTimer>
263 KeyOz 25
 
250 KeyOz 26
#include "ToolBox.h"
27
#include "../global.h"
28
#include "../SerialPort/ManageSerialPort.h"
391 Brean 29
#include "../com/Parser.h"
250 KeyOz 30
 
263 KeyOz 31
#define C_TTY 1
32
#define C_IP 2
33
 
250 KeyOz 34
class cConnection : public QObject
35
{
36
    Q_OBJECT
37
 
38
    public:
39
        cConnection();
40
        bool isOpen();
263 KeyOz 41
        bool Open(int Typ, QString Address);
250 KeyOz 42
        bool Close();
43
        bool send_Cmd(char CMD, int Address, char Data[150],unsigned int Length, bool Resend = true);
313 KeyOz 44
        void stop_ReSend();
250 KeyOz 45
 
46
    private:
47
        ManageSerialPort *TTY;
263 KeyOz 48
        QTcpSocket *TcpSocket;
313 KeyOz 49
        QTimer *o_Timer;
50
 
51
        QByteArray s_ReSend;
52
 
250 KeyOz 53
        bool b_isOpen;
263 KeyOz 54
        int  i_Type;
250 KeyOz 55
        sRxData RxData;
56
 
263 KeyOz 57
        void new_Data(QString Data);
58
 
250 KeyOz 59
    private slots:
60
        void slot_newDataReceived(const QByteArray &dataReceived);
263 KeyOz 61
        void slot_IP_Connected();
62
        void slot_IP_Disconnect();
63
        void slot_IP_ReadLine();
313 KeyOz 64
 
65
        void slot_Timer();
263 KeyOz 66
//        void slot_Error(QAbstractSocket::SocketError Error);
250 KeyOz 67
 
68
    signals:
69
        void newData(sRxData RxData);
70
        void showTerminal(int Typ, QString Text);
71
};
72
 
73
#endif // CCONNECTION_H