summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/cable/cable_NNI.cpp
blob: 4bd9421a67e33db44e6dc559776a12984218b5b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "cableedit.h"
#include "cable_NNI.h"
#include "cable_NN.h"

ACable::ACable( CableNetNode * PNN ) : ANetNodeInstance( PNN ) {
    // default values
    Data.Device = "/dev/ttyS0";
    Data.LockFile = "/var/Lock";
    Data.Speed = 115200;
    Data.DataBits = 8;
    Data.Parity = 0;
    Data.StopBits = 1;
    Data.HardwareControl = 0;
    Data.SoftwareControl = 0;
    GUI = 0;
    RT = 0;
}

void ACable::setSpecificAttribute( QString & A, QString & V) {
    if( A == "device" ) {
      Data.Device = V;
    } else if ( A == "lockfile" ) {
      Data.LockFile = V;
    } else if ( A == "speed" ) {
      Data.Speed = V.toLong();
    } else if ( A == "parity" ) {
      Data.Parity = V.toShort();
    } else if ( A == "databits" ) {
      Data.DataBits = V.toShort();
    } else if ( A == "stopbits" ) {
      Data.StopBits = V.toShort();
    } else if ( A == "hardwarecontrol" ) {
      Data.HardwareControl = ( V == "yes" );
    } else if ( A == "softwarecontrol" ) {
      Data.SoftwareControl = ( V == "yes" );
    }
}

void ACable::saveSpecificAttribute( QTextStream & TS ) {
    TS << "device=" << quote( Data.Device ) << endl;
    TS << "lockfile=" << quote( Data.LockFile ) << endl;
    TS << "speed=" << Data.Speed << endl;
    TS << "parity=" << Data.Parity << endl;
    TS << "databits=" << Data.DataBits << endl;
    TS << "stopbits=" << Data.StopBits << endl;
    TS << "hardwarecontrol=" << 
      ((Data.HardwareControl) ? "yes" : "no") << endl;
    TS << "softwarecontrol=" << 
      ((Data.SoftwareControl) ? "yes" : "no") << endl;
}

short ACable::generateFileEmbedded( const QString & ID,
                                    const QString & Path,
                                    QTextStream & TS,
                                    long DevNr ) {
      short rvl, rvd;

      rvl = 1;
      if( ID == "peers" ) {
        TS << Data.Device
           << endl;
        TS << Data.Speed
           << endl;
        TS << "lock " 
           << Data.LockFile
           << endl;
        rvl = 0;
      }

      rvd = ANetNodeInstance::generateFileEmbedded( ID, Path, TS, DevNr );
      return (rvd == 2 || rvl == 2 ) ? 2 :
             (rvd == 0 || rvl == 0 ) ? 0 : 1;
}

QWidget * ACable::edit( QWidget * parent ) {
    GUI = new CableEdit( parent );
    GUI->showData( Data ); 
    return GUI;
}

QString ACable::acceptable( void ) {
    return ( GUI ) ? GUI->acceptable( ) : QString();
}

void ACable::commit( void ) {
    if( GUI && GUI->commit( Data ) ) {
      setModified( 1 );
    }
}