Index: /trunk/BNS/bns.cpp
===================================================================
--- /trunk/BNS/bns.cpp	(revision 756)
+++ /trunk/BNS/bns.cpp	(revision 757)
@@ -23,23 +23,23 @@
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
-bns::bns(QObject* parent) : QThread(parent) {
+t_bns::t_bns(QObject* parent) : QThread(parent) {
 }
 
 // Destructor
 ////////////////////////////////////////////////////////////////////////////
-bns::~bns() {
+t_bns::~t_bns() {
 }
 
 // Write a Program Message
 ////////////////////////////////////////////////////////////////////////////
-void bns::slotMessage(const QByteArray msg) {
-  QMutexLocker locker(&_mutex);
+void t_bns::message(const QByteArray msg) {
   cout << msg.data() << endl;
+  emit(newMessage(msg));
 }
 
 // Start 
 ////////////////////////////////////////////////////////////////////////////
-void bns::run() {
-  slotMessage("============ Start BNS ============");
+void t_bns::run() {
+  message("============ Start BNS ============");
 }
 
Index: /trunk/BNS/bns.h
===================================================================
--- /trunk/BNS/bns.h	(revision 756)
+++ /trunk/BNS/bns.h	(revision 757)
@@ -6,19 +6,16 @@
 #include <QMutex>
 
-class bns : public QThread {
-  Q_OBJECT
+class t_bns : public QThread {
+ Q_OBJECT
  public:
-  bns(QObject* parent = 0);
-  virtual ~bns();  
+  t_bns(QObject* parent = 0);
+  virtual ~t_bns();  
   virtual void run();  
 
- protected:
-
- public slots:
-  void slotMessage(const QByteArray msg);
-    
- private slots:
+ signals:
+  void newMessage(const QByteArray msg);
  
  private:
+  void message(const QByteArray msg);
   QMutex _mutex;
 };
Index: /trunk/BNS/bnsmain.cpp
===================================================================
--- /trunk/BNS/bnsmain.cpp	(revision 756)
+++ /trunk/BNS/bnsmain.cpp	(revision 757)
@@ -26,4 +26,6 @@
 int main(int argc, char *argv[]) {
 
+  // Command-Line Options
+  // --------------------
   bool GUIenabled = true;
   for (int ii = 1; ii < argc; ii++) {
@@ -34,4 +36,6 @@
   }
 
+  // Main Qt Class
+  // -------------
   QApplication app(argc, argv, GUIenabled);
 
@@ -40,8 +44,12 @@
   app.setApplicationName("BKG_NTRIP_Server");
 
+  // Main processing class
+  // ---------------------
+  t_bns* bns = new t_bns();
+
   // Interactive Mode - open the main window
   // ---------------------------------------
   if (GUIenabled) {
-    bnsWindow* bnsWin = new bnsWindow();
+    bnsWindow* bnsWin = new bnsWindow(bns);
     bnsWin->show();
   }
@@ -50,5 +58,5 @@
   // ----------------------------
   else {
-
+    bns->start();
   }
 
Index: /trunk/BNS/bnswindow.cpp
===================================================================
--- /trunk/BNS/bnswindow.cpp	(revision 756)
+++ /trunk/BNS/bnswindow.cpp	(revision 757)
@@ -58,5 +58,10 @@
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
-bnsWindow::bnsWindow() {
+bnsWindow::bnsWindow(t_bns* bns) {
+
+  _bns = bns;
+
+  connect(bns, SIGNAL(newMessage(QByteArray)),
+          this, SLOT(slotMessage(const QByteArray)));
 
   QSettings settings;
@@ -298,5 +303,4 @@
   _actStop->setEnabled(true);
 
-  slotMessage("============ Start BNS ============");
-
-}
+  _bns->start();
+}
Index: /trunk/BNS/bnswindow.h
===================================================================
--- /trunk/BNS/bnswindow.h	(revision 756)
+++ /trunk/BNS/bnswindow.h	(revision 757)
@@ -4,4 +4,6 @@
 #include <QtGui>
 #include <QWhatsThis>
+
+#include "bns.h"
 
 class bnsAboutDlg : public QDialog {
@@ -16,5 +18,5 @@
 
  public:
-  bnsWindow();
+  bnsWindow(t_bns* bns);
   ~bnsWindow();
 
@@ -58,4 +60,6 @@
 
   QTextEdit*  _log;
+
+  t_bns*      _bns;
 };
 #endif
