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


#include "io_layer.h"
#include "file_layer.h"
#include "widget_layer.h"
#include "emulation_layer.h"
#include "session.h"


Session::Session() {
    m_widget = 0l;
    m_layer = 0l;
    m_widLay = 0l;
    m_emLay = 0l;
}
Session::Session( const QString& na, QWidgetStack* widget, IOLayer* lay)
    : m_name( na ), m_widget( widget ), m_layer( lay )
{
    m_widLay = 0l;
    m_emLay  = 0l;
}
Session::~Session() {
    delete m_layer;
    delete m_emLay;
    delete m_widget;
    /* the widget layer should be deleted by the m_widget */
}
QString Session::name()const {
    return m_name;
}
QWidgetStack* Session::widgetStack() {
    return m_widget;
}
IOLayer* Session::layer() {
    return m_layer;
}
EmulationLayer* Session::emulationLayer() {
    return m_emLay;
}
WidgetLayer* Session::emulationWidget() {
    return m_widLay;
}
void Session::connect() {
    if ( !m_layer || !m_emLay )
        return;

    QObject::connect(m_layer, SIGNAL(received(const QByteArray&) ),
            m_emLay, SLOT(onRcvBlock(const QByteArray&) ) );
    QObject::connect(m_emLay, SIGNAL(sndBlock(const QByteArray&) ),
            m_layer, SLOT(send(const QByteArray&) ) );
}
void Session::disconnect() {
    if ( !m_layer || !m_emLay )
        return;

    QObject::disconnect(m_layer, SIGNAL(received(const QByteArray&) ),
            m_emLay, SLOT(onRcvBlock(const QByteArray&) ) );
    QObject::disconnect(m_emLay, SIGNAL(sndBlock(const QByteArray&) ),
            m_layer, SLOT(send(const QByteArray&) ) );
}
void Session::setName( const QString& na){
    m_name = na;
}
void Session::setWidgetStack( QWidgetStack* wid ) {
    delete m_widget;
    /* the EmulationLayer was destroyed... */
    delete m_emLay;
    m_widget = wid;
}
void Session::setIOLayer( IOLayer* lay ) {
    delete m_layer;
    m_layer = lay;
}
void Session::setEmulationLayer( EmulationLayer* lay ) {
    delete m_emLay;
    m_emLay = lay;
}
void Session::setEmulationWidget( WidgetLayer* lay ) {
    delete m_widLay;
    m_widLay = lay;
}