summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/io_modem.cpp
blob: 915a1d2cc44a08d3514b8a3a6f47c745a5b7dc08 (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

#include "io_modem.h"
#include "dialer.h"

IOModem::IOModem( const Profile &profile )
	: IOSerial( profile ) {
	m_profile = profile;
}


IOModem::~IOModem() {
}


void IOModem::close() {
	// Hangup, discarding result
//	int fd = rawIO();
        internDetach();
	Dialer d(m_profile, m_fd);
	d.setHangupOnly();
	//d.exec();
        internAttach();
//	closeRawIO(fd);

    IOSerial::close();
}

bool IOModem::open() {
    bool ret = IOSerial::open();
	if(!ret) return false;

//	int fd = rawIO();
        internDetach();
	Dialer d(m_profile, m_fd);

	int result = d.exec();
        internAttach();
//	closeRawIO(fd);
	if(result == QDialog::Accepted)
	{
		return true;
	}
	else
	{
		close();
		return false;
	}
}

void IOModem::reload( const Profile &config ) {

    m_device = config.readEntry("Device", MODEM_DEFAULT_DEVICE);
    m_baud = config.readNumEntry("Baud", MODEM_DEFAULT_BAUD);
    m_parity = config.readNumEntry("Parity", MODEM_DEFAULT_PARITY);
    m_dbits = config.readNumEntry("DataBits", MODEM_DEFAULT_DBITS);
    m_sbits = config.readNumEntry("StopBits", MODEM_DEFAULT_SBITS);
    m_flow = config.readNumEntry("Flow", MODEM_DEFAULT_FLOW);

    m_initString = config.readEntry("InitString", MODEM_DEFAULT_INIT_STRING );
    m_resetString = config.readEntry("ResetString", MODEM_DEFAULT_RESET_STRING );
    m_dialPref1 = config.readEntry("DialPrefix1", MODEM_DEFAULT_DIAL_PREFIX1 );
    m_dialSuf1 = config.readEntry("DialSuffix1", MODEM_DEFAULT_DIAL_SUFFIX1 );
    m_dialPref2 = config.readEntry("DialPrefix2", MODEM_DEFAULT_DIAL_PREFIX1 );
    m_dialSuf2 = config.readEntry("DialSuffix2", MODEM_DEFAULT_DIAL_SUFFIX1 );
    m_dialPref3 = config.readEntry("DialPrefix3", MODEM_DEFAULT_DIAL_PREFIX1 );
    m_dialSuf3 = config.readEntry("DialSuffix3", MODEM_DEFAULT_DIAL_SUFFIX1 );
    m_connect = config.readEntry("DefaultConnect" MODEM_DEFAULT_CONNECT_STRING );
    m_hangup = config.readEntry("HangupString", MODEM_DEFAULT_HANGUP_STRING );
    m_cancel = config.readEntry("CancelString", MODEM_DEFAULT_CANCEL_STRING );
    m_dialTime = config.readNumEntry("DialTime", MODEM_DEFAULT_DIAL_TIME );
    m_delayRedial = config.readNumEntry("DelayRedial", MODEM_DEFAULT_DELAY_REDIAL );
    m_numberTries = config.readNumEntry("NumberTries", MODEM_DEFAULT_NUMBER_TRIES );
    m_dtrDropTime = config.readNumEntry("DTRDRopTime", MODEM_DEFAULT_DTR_DROP_TIME );
    m_bpsDetect = config.readBoolEntry("BPSDetect", MODEM_DEFAULT_BPS_DETECT );
    m_dcdLines = config.readBoolEntry("DCDLines", MODEM_DEFAULT_DCD_LINES );
    m_multiLineUntag = config.readBoolEntry("MultiLineUntag", MODEM_DEFAULT_MULTI_LINE_UNTAG );
}


QString IOModem::identifier() const {
    return "modem";
}

QString IOModem::name() const {
    return "Modem IO Layer";
}