summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/io_modem.h
blob: 056e630522012072eeb99614a6521e7a0deabb9e (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
#ifndef OPIE_IO_MODEM
#define OPIE_IO_MODEM

#include <opie2/oprocess.h>
#include "io_serial.h"
#include "profile.h"

/* Default values to be used if the profile information is incomplete */
#define MODEM_DEFAULT_DEVICE       "/dev/ttyS0"
#define MODEM_DEFAULT_BAUD         9600
#define MODEM_DEFAULT_PARITY       0
#define MODEM_DEFAULT_DBITS        8
#define MODEM_DEFAULT_SBITS        1
#define MODEM_DEFAULT_FLOW         0

#define MODEM_DEFAULT_INIT_STRING  "AT"
#define MODEM_DEFAULT_RESET_STRING "ATZ~"
#define MODEM_DEFAULT_DIAL_PREFIX1 "ATDT"
#define MODEM_DEFAULT_DIAL_SUFFIX1 ""
#define MODEM_DEFAULT_DIAL_PREFIX2 ""
#define MODEM_DEFAULT_DIAL_SUFFIX2 ""
#define MODEM_DEFAULT_DIAL_PREFIX3 ""
#define MODEM_DEFAULT_DIAL_SUFFIX3 ""
#define MODEM_DEFAULT_CONNECT_STRING "CONNECT"
#define MODEM_DEFAULT_HANGUP_STRING "+++ATH"
#define MODEM_DEFAULT_CANCEL_STRING ""
#define MODEM_DEFAULT_DIAL_TIME     45
#define MODEM_DEFAULT_DELAY_REDIAL  2
#define MODEM_DEFAULT_NUMBER_TRIES  10
#define MODEM_DEFAULT_DTR_DROP_TIME 1
#define MODEM_DEFAULT_BPS_DETECT    0   // bool
#define MODEM_DEFAULT_DCD_LINES     1   //bool
#define MODEM_DEFAULT_MULTI_LINE_UNTAG 0 // bool

/* IOSerial implements a RS232 IO Layer */

class IOModem : public IOSerial {

    Q_OBJECT

public:

    IOModem(const Profile &);
    ~IOModem();

    virtual QString identifier() const;
    virtual QString name() const;

signals:
    void received(const QByteArray &);
    void error(int, const QString &);

public slots:
    virtual bool open();
    virtual void close();
    virtual void reload(const Profile &);

private:

    QString m_initString, m_resetString, m_dialPref1, m_dialSuf1, m_dialPref2,
        m_dialSuf2, m_dialPref3, m_dialSuf3, m_connect, m_hangup, m_cancel;
    int  m_dialTime, m_delayRedial, m_numberTries, m_dtrDropTime,
        m_bpsDetect, m_dcdLines, m_multiLineUntag;
    Profile m_profile;
};

#endif