Diff
Added: freeswitch/trunk/contrib/jmesquita/fsgui/esl_connection.cpp (0 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/esl_connection.cpp (rev 0)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/esl_connection.cpp 2009-07-13 02:48:08 UTC (rev 14207)
@@ -0,0 +1,64 @@
+#include "esl_oop.h"
+#include "esl_connection.h"
+#include <iostream>
+
+eslConnectionManager::eslConnectionManager() {}
+eslConnectionManager::eslConnectionManager(QString host, QString pass, QString port)
+ : _host(host), _pass(pass), _port(port)
+{
+ doConnect(host, pass, port);
+ start();
+}
+
+eslConnectionManager::~eslConnectionManager()
+{
+ doDisconnect();
+}
+
+void eslConnectionManager::doConnect(QString host, QString pass, QString port)
+{
+ connection = new ESLconnection(host.toAscii(), port.toAscii(), pass.toAscii());
+ eslSetLogLevel(0);
+ isConnected = false;
+}
+
+void eslConnectionManager::doDisconnect()
+{
+ delete connection;
+}
+
+void eslConnectionManager::run()
+{
+ forever
+ {
+ if (connection->connected() && isConnected)
+ {
+ /* We should process our event queue here */
+ ESLevent * event = connection->recvEventTimed(10);
+ if (event)
+ {
+ std::cout << "We received and event!" << std::endl;
+ emit gotEvent(event);
+ }
+ }
+ else if (!connection->connected() && isConnected)
+ {
+ std::cout << "We just got disconnected." << std::endl;
+ isConnected = false;
+ emit gotDisconnected();
+ }
+ else if (connection->connected() && !isConnected)
+ {
+ std::cout << "We just got connected." << std::endl;
+ isConnected = true;
+ connection->sendRecv("log 7");
+ emit gotConnected();
+ }
+ else
+ {
+ std::cout << "We are disconnected and should stop this." << std::endl;
+ doDisconnect();
+ break;
+ }
+ }
+}
Added: freeswitch/trunk/contrib/jmesquita/fsgui/esl_connection.h (0 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/esl_connection.h (rev 0)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/esl_connection.h 2009-07-13 02:48:08 UTC (rev 14207)
@@ -0,0 +1,35 @@
+#ifndef ESL_CONNECTION_H
+#define ESL_CONNECTION_H
+
+#include <QThread>
+
+/* Forward declaration of ESLConnection */
+class ESLconnection;
+class ESLevent;
+
+class eslConnectionManager : public QThread
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(eslConnectionManager)
+public:
+ eslConnectionManager();
+ virtual ~eslConnectionManager();
+ eslConnectionManager(QString,QString,QString);
+ void doConnect(QString, QString, QString);
+ void doDisconnect();
+signals:
+ void gotDisconnected();
+ void gotConnected();
+ void gotEvent(ESLevent *);
+private:
+ ESLconnection* connection;
+ QString _host;
+ QString _pass;
+ QString _port;
+ bool isConnected;
+
+protected:
+ void run();
+};
+
+#endif // ESL_CONNECTION_H
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/fs_gui.cpp (14206 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/fs_gui.cpp 2009-07-12 18:58:21 UTC (rev 14206)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/fs_gui.cpp 2009-07-13 02:48:08 UTC (rev 14207)
@@ -1,5 +1,6 @@
#include "fs_gui.h"
#include "ui_fs_gui.h"
+#include <iostream>
Cfsgui::Cfsgui(QWidget *parent) :
QMainWindow(parent),
@@ -7,14 +8,32 @@
serverDialog(new CserverManager)
{
m_ui->setupUi(this);
+ connect(m_ui->actionConnect, SIGNAL(triggered())
+ , serverDialog, SLOT(show()));
+ connect(serverDialog, SIGNAL(doConnect(QString,QString,QString)),
+ this, SLOT(newConnectionFromDialog(QString,QString,QString)));
+
+ /*connect(eslConnection, SIGNAL(gotConnected(void)),
+ this, SLOT(gotConnectedSlot(void)));
+ connect(eslConnection, SIGNAL(gotDisconnected(void)),
+ this, SLOT(gotDisconnectedSlot(void)));*/
}
-
Cfsgui::~Cfsgui()
{
delete m_ui;
delete serverDialog;
}
+void Cfsgui::gotConnectedSlot()
+{
+ m_ui->textConsole->append("Conneted!");
+ m_ui->statusBar->showMessage("Connected");
+}
+void Cfsgui::gotDisconnectedSlot()
+{
+ m_ui->statusBar->showMessage("Disconnected");
+ m_ui->textConsole->append("Conneted!");
+}
void Cfsgui::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
@@ -30,5 +49,12 @@
void Cfsgui::closeEvent(QCloseEvent *e)
{
/* TODO: We have to stop threads and do cleanup */
+ delete eslConnection;
e->accept();
}
+
+void Cfsgui::newConnectionFromDialog(QString host, QString pass, QString port)
+{
+ m_ui->statusBar->showMessage("Connecting...");
+ eslConnection = new eslConnectionManager(host, pass, port);
+}
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/fs_gui.h (14206 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/fs_gui.h 2009-07-12 18:58:21 UTC (rev 14206)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/fs_gui.h 2009-07-13 02:48:08 UTC (rev 14207)
@@ -3,6 +3,7 @@
#include <QtGui>
#include "server_manager.h"
+#include "esl_connection.h"
namespace Ui {
class Cfsgui;
@@ -19,9 +20,15 @@
virtual void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *e);
+private slots:
+ void newConnectionFromDialog(QString,QString,QString);
+ void gotConnectedSlot();
+ void gotDisconnectedSlot();
+
private:
Ui::Cfsgui *m_ui;
CserverManager *serverDialog;
+ eslConnectionManager *eslConnection;
};
#endif // FS_GUI_H
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/fsgui.pro (14206 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/fsgui.pro 2009-07-12 18:58:21 UTC (rev 14206)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/fsgui.pro 2009-07-13 02:48:08 UTC (rev 14207)
@@ -5,10 +5,12 @@
TEMPLATE = app
SOURCES += main.cpp \
fs_gui.cpp \
- server_manager.cpp
-INCLUDEPATH += ../../../libs/esl/src/include/
+ server_manager.cpp \
+ esl_connection.cpp
+INCLUDEPATH += ../../../libs/esl/src/include
HEADERS += fs_gui.h \
- server_manager.h
+ server_manager.h \
+ esl_connection.h
FORMS += fs_gui.ui \
server_manager.ui
LIBS += -L../../../libs/esl \
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.cpp (14206 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.cpp 2009-07-12 18:58:21 UTC (rev 14206)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.cpp 2009-07-13 02:48:08 UTC (rev 14207)
@@ -6,6 +6,8 @@
m_ui(new Ui::CserverManager)
{
m_ui->setupUi(this);
+ connect(this, SIGNAL(accepted()),
+ this, SLOT(newConnection()));
}
CserverManager::~CserverManager()
@@ -24,3 +26,11 @@
break;
}
}
+
+void CserverManager::newConnection()
+{
+ //TODO: Sanity checking needed.
+ emit doConnect(m_ui->host->text(),
+ m_ui->pass->text(),
+ m_ui->port->text());
+}
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.h (14206 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.h 2009-07-12 18:58:21 UTC (rev 14206)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.h 2009-07-13 02:48:08 UTC (rev 14207)
@@ -13,10 +13,12 @@
public:
explicit CserverManager(QWidget *parent = 0);
virtual ~CserverManager();
-
+signals:
+ void doConnect(QString, QString, QString);
protected:
virtual void changeEvent(QEvent *e);
-
+private slots:
+ void newConnection();
private:
Ui::CserverManager *m_ui;
};
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.ui (14206 => 14207)
--- freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.ui 2009-07-12 18:58:21 UTC (rev 14206)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/server_manager.ui 2009-07-13 02:48:08 UTC (rev 14207)
@@ -39,7 +39,11 @@
</widget>
</item>
<item row="0" column="1">
- <widget class="QLineEdit" name="lineEdit"/>
+ <widget class="QLineEdit" name="host">
+ <property name="text">
+ <string>localhost</string>
+ </property>
+ </widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
@@ -49,7 +53,11 @@
</widget>
</item>
<item row="1" column="1">
- <widget class="QLineEdit" name="lineEdit_2"/>
+ <widget class="QLineEdit" name="pass">
+ <property name="text">
+ <string>ClueCon</string>
+ </property>
+ </widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
@@ -59,7 +67,11 @@
</widget>
</item>
<item row="2" column="1">
- <widget class="QLineEdit" name="lineEdit_3"/>
+ <widget class="QLineEdit" name="port">
+ <property name="text">
+ <string>8021</string>
+ </property>
+ </widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="pushButton">