summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/session.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-console/session.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/session.cpp49
1 files changed, 46 insertions, 3 deletions
diff --git a/noncore/apps/opie-console/session.cpp b/noncore/apps/opie-console/session.cpp
index d32b340..42b0583 100644
--- a/noncore/apps/opie-console/session.cpp
+++ b/noncore/apps/opie-console/session.cpp
@@ -4,4 +4,7 @@
#include "file_layer.h"
+#include "widget.h"
+#include "emulation_layer.h"
#include "session.h"
+
Session::Session() {
@@ -9,6 +12,10 @@ Session::Session() {
m_layer = 0l;
+ m_widLay = 0l;
+ m_emLay = 0l;
}
-Session::Session( const QString& na, QWidget* widget, IOLayer* lay)
+Session::Session( const QString& na, QWidgetStack* widget, IOLayer* lay)
: m_name( na ), m_widget( widget ), m_layer( lay )
{
+ m_widLay = 0l;
+ m_emLay = 0l;
}
@@ -16,3 +23,5 @@ Session::~Session() {
delete m_layer;
+ delete m_emLay;
delete m_widget;
+ /* the widget layer should be deleted by the m_widget */
}
@@ -21,3 +30,3 @@ QString Session::name()const {
}
-QWidget* Session::widget() {
+QWidgetStack* Session::widgetStack() {
return m_widget;
@@ -27,2 +36,26 @@ IOLayer* Session::layer() {
}
+EmulationLayer* Session::emulationLayer() {
+ return m_emLay;
+}
+Widget* 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){
@@ -30,4 +63,6 @@ void Session::setName( const QString& na){
}
-void Session::setWidget( QWidget* wid ) {
+void Session::setWidgetStack( QWidgetStack* wid ) {
delete m_widget;
+ /* the EmulationLayer was destroyed... */
+ delete m_emLay;
m_widget = wid;
@@ -38 +73,9 @@ void Session::setIOLayer( IOLayer* lay ) {
}
+void Session::setEmulationLayer( EmulationLayer* lay ) {
+ delete m_emLay;
+ m_emLay = lay;
+}
+void Session::setEmulationWidget( Widget* lay ) {
+ delete m_widLay;
+ m_widLay = lay;
+}