summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/session.h
blob: d69224a305e2bf03ca8eb868654bc6379c00fac6 (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
#ifndef OPIE_SESSION_H
#define OPIE_SESSION_H

#include <qwidgetstack.h>

#include "profile.h"

class IOLayer;
class EmulationHandler;
/**
 * This is a Session. A session contains
 * a QWidget pointer and a IOLayer
 * Imagine a session like a collection of what
 * is needed to show your widget in a tab ;)
 */
class Session {
public:
    /**
     * c'tor with widget and layer
     * ownership get's transfered
     */
    Session();
    Session( const QString&, QWidgetStack* widget, IOLayer* );
    ~Session();

    /**
     * return the name of the session
     */
    QString name()const;

    /**
     * return the widgetstack
     * this is used to be semi modal
     * for FileTransfer
     *
     * semi modal == SessionModal
     */
    QWidgetStack* widgetStack();
    QWidget* widget();

    /**
     * return the layer
     */
    IOLayer* layer();

    EmulationHandler* emulationHandler();
    Profile profile()const;

    /*
     * connects the data flow from
     * the IOLayer to the EmulationLayer
     */
    void connect();

    /*
     * disconnect the dataflow
     * this will be done for ft
     */
    void disconnect();

    void setWidgetStack( QWidgetStack* widget );
    void setEmulationHandler( EmulationHandler* lay );
    void setIOLayer( IOLayer*  );
    void setName( const QString& );
    void setProfile( const Profile& );

    void setTransferDialog(QWidget *d);
    QWidget *transferDialog();

private:
    QString m_name;
    QWidgetStack* m_widget;
    IOLayer* m_layer;
    EmulationHandler* m_emu;
    bool m_connected : 1;
    Profile m_prof;
    QWidget *m_transfer;
};

#endif