Subversion Repositories Projects

Rev

Rev 674 | Rev 750 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 674 Rev 711
Line 16... Line 16...
16
 *   Free Software Foundation, Inc.,                                       *
16
 *   Free Software Foundation, Inc.,                                       *
17
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
17
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
18
 ***************************************************************************/
18
 ***************************************************************************/
19
 
19
 
20
#include <QMessageBox>
20
#include <QMessageBox>
-
 
21
#include <QCryptographicHash>
21
 
22
 
22
#include "dlg_Main.h"
23
#include "dlg_Main.h"
23
 
24
 
24
// Konstruktor Main-Form
25
// Konstruktor Main-Form
25
dlg_Main::dlg_Main()
26
dlg_Main::dlg_Main()
Line 195... Line 196...
195
{
196
{
196
    qwt_Plotter->setAxisScale(QwtPlot::xBottom,Position,Position + o_Settings->DATA.Plotter_Count,0);
197
    qwt_Plotter->setAxisScale(QwtPlot::xBottom,Position,Position + o_Settings->DATA.Plotter_Count,0);
197
    qwt_Plotter->replot();
198
    qwt_Plotter->replot();
198
}
199
}
199
 
200
 
-
 
201
// IP-Input-Daten verarbeiten.
200
void dlg_Main::parse_IP_Data(QString t_Data)
202
void dlg_Main::parse_IP_Data(QString t_Data)
201
{
203
{
202
    QStringList Data;
204
    QStringList Data;
203
    Data = t_Data.split(":");
205
    Data = t_Data.split(":");
204
 
206
 
Line 206... Line 208...
206
    {
208
    {
207
        int CMD = Data[2].toInt();
209
        int CMD = Data[2].toInt();
208
 
210
 
209
        switch(CMD)
211
        switch(CMD)
210
        {
212
        {
211
            case 501 :
213
            case 101 :
212
            {
214
            {
213
                o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 105, le_Password->text()));
215
                o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 101, QA_NAME + " " + QA_VERSION));
-
 
216
            }
-
 
217
            case 502 :
-
 
218
            {
-
 
219
                switch (Data[3].toInt())
-
 
220
                {
-
 
221
                    case 105 :
-
 
222
                    {
-
 
223
                        QString s_MD5PW;
-
 
224
                        QByteArray a_MD5PW;
-
 
225
 
-
 
226
                        a_MD5PW = QCryptographicHash::hash(le_Password->text().toAscii(),QCryptographicHash::Md5);
-
 
227
 
-
 
228
                        s_MD5PW = QString(a_MD5PW.toHex().data());
-
 
229
 
-
 
230
                        o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 105, s_MD5PW));
-
 
231
                    }
-
 
232
                    break;
-
 
233
                    case 106 :
-
 
234
                    {
-
 
235
                        o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 106, DataFields));
-
 
236
                    }
-
 
237
                    break;
-
 
238
                }
214
            }
239
            }
215
            break;
240
            break;
216
            case 505 :
241
            case 505 :
217
            {
242
            {
218
                if (Data[3] == "OK")
243
                if (Data[3] == "OK")
Line 226... Line 251...
226
            break;
251
            break;
227
        }
252
        }
228
    }
253
    }
229
}
254
}
230
 
255
 
231
// Eingangsdaten verarbeiten
256
// MK-Eingangsdaten verarbeiten
232
void dlg_Main::parse_MK_Data(QString t_Data)
257
void dlg_Main::parse_MK_Data(QString t_Data)
233
{
258
{
234
    unsigned char OutData[150];
259
    unsigned char OutData[150];
235
    char *InData = t_Data.toLatin1().data();
260
    char *InData = t_Data.toLatin1().data();
236
 
261
 
Line 455... Line 480...
455
        }
480
        }
456
 
481
 
457
        cb_Server->setEnabled(false);
482
        cb_Server->setEnabled(false);
458
        le_Password->setEnabled(false);
483
        le_Password->setEnabled(false);
459
 
484
 
-
 
485
        // Connect über Device
460
        if (cb_Server->currentText().startsWith('/'))
486
        if (cb_Server->currentText().startsWith('/'))
461
        {
487
        {
462
            o_Input = new Input_TTY();
488
            o_Input = new Input_TTY();
463
            o_Input->Init();
489
            o_Input->Init();
464
 
490
 
Line 477... Line 503...
477
                cb_Server->setEnabled(true);
503
                cb_Server->setEnabled(true);
478
                le_Password->setEnabled(true);
504
                le_Password->setEnabled(true);
479
            }
505
            }
480
 
506
 
481
        }
507
        }
482
        else
508
        else // Connect über TCPIP
483
        {
509
        {
484
            o_Input = new Input_TCP();
510
            o_Input = new Input_TCP();
485
            o_Input->Init();
511
            o_Input->Init();
486
 
512
 
487
            set_Input s_Input;
513
            set_Input s_Input;
Line 523... Line 549...
523
        {
549
        {
524
            parse_MK_Data(t_Data);
550
            parse_MK_Data(t_Data);
525
        }
551
        }
526
        else
552
        else
527
        {
553
        {
528
//            qDebug(QString("CRC-Error - " + t_Data).toLatin1().data());
554
            qDebug(QString("CRC-Error - " + t_Data).toLatin1().data());
529
        }
555
        }
530
    }
556
    }
531
    else if (o_Input->Mode() == TCP)
557
    else if ((o_Input->Mode() == TCP) && (t_Data[0] == '$'))
532
    {
558
    {
533
        parse_IP_Data(t_Data);
559
        parse_IP_Data(t_Data);
534
    }
560
    }
535
}
561
}
536
 
562
 
537
void dlg_Main::slot_Input_Disconnected(int Error)
563
void dlg_Main::slot_Input_Disconnected(int Error)
538
{
564
{
539
    cb_Server->setEnabled(true);
565
    cb_Server->setEnabled(true);
540
    le_Password->setEnabled(true);
566
    le_Password->setEnabled(true);
541
 
567
 
542
//    qDebug("Close");
-
 
543
    disconnect(o_Input, SIGNAL(sig_NewData(QString)), 0, 0);
568
    disconnect(o_Input, SIGNAL(sig_NewData(QString)), 0, 0);
544
    if (o_Input->Mode() == TCP)
-
 
545
    {
-
 
546
        disconnect(o_Input, SIGNAL(sig_Disconnected(int)), 0, 0);
569
    disconnect(o_Input, SIGNAL(sig_Disconnected(int)), 0, 0);
547
        disconnect(o_Input, SIGNAL(sig_Connected()), 0, 0);
570
    disconnect(o_Input, SIGNAL(sig_Connected()), 0, 0);
548
    }
571
 
549
    ac_Connect->setChecked(false);
572
    ac_Connect->setChecked(false);
550
    ac_Connect->setText(tr("Verbinden"));
573
    ac_Connect->setText(tr("Verbinden"));
551
 
574
 
552
    switch (Error)
575
    switch (Error)
553
    {
576
    {
Line 580... Line 603...
580
 
603
 
581
void dlg_Main::slot_Input_Connected()
604
void dlg_Main::slot_Input_Connected()
582
{
605
{
583
    connect(o_Input, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Input_Data(QString)));
606
    connect(o_Input, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Input_Data(QString)));
584
 
607
 
585
    o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 101, QA_NAME + " " + QA_VERSION));
608
//    o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 101, QA_NAME + " " + QA_VERSION));
586
    o_Input->send_Data(HandlerMK::make_Frame('v', 0, c_Data, 0).toLatin1().data(), DATA_VERSION);
609
    o_Input->send_Data(HandlerMK::make_Frame('v', 0, c_Data, 0).toLatin1().data(), DATA_VERSION);
587
    ac_Connect->setText(tr("Trennen"));
610
    ac_Connect->setText(tr("Trennen"));
588
}
611
}
589
 
612
 
590
// Programm Ende
613
// Programm Ende