Public Types | Public Slots | Signals | Public Member Functions | Private Attributes

QScan345Server Class Reference

#include <qscan345server.h>

List of all members.

Public Types

typedef QTcpServer inherited

Public Slots

void openNewConnection ()
void connectionClosed ()
void clientRead ()
void scan_finished ()
void erase_finished ()

Signals

void print_message (QString msg)
void execute_command (QString cmd)

Public Member Functions

 QScan345Server (QScan345MainWindow *win, QObject *parent=0)
void startServer (QHostAddress a, int p)

Private Attributes

QScan345MainWindowm_MainWindow
QTcpSocket * m_Socket

Detailed Description

Definition at line 9 of file qscan345server.h.


Member Typedef Documentation

typedef QTcpServer QScan345Server::inherited

Definition at line 15 of file qscan345server.h.


Constructor & Destructor Documentation

QScan345Server::QScan345Server ( QScan345MainWindow win,
QObject *  parent = 0 
)

Definition at line 6 of file qscan345server.cpp.

References m_MainWindow, openNewConnection(), and print_message().

  : inherited(parent),
    m_MainWindow(win),
    m_Socket(NULL)
{
  connect(this, SIGNAL(newConnection()),
          this, SLOT(openNewConnection()));

  connect (this, SIGNAL(print_message(QString)), 
           m_MainWindow, SLOT(display_message(QString)));
}

Member Function Documentation

void QScan345Server::clientRead ( ) [slot]

Definition at line 58 of file qscan345server.cpp.

References execute_command(), m_Socket, print_message(), and str.

Referenced by openNewConnection().

{
  QTextStream ts( m_Socket );

  while ( m_Socket->canReadLine() ) {
    QString str = ts.readLine();

    emit print_message(tr("Command: %1 received\n").arg(str));
    
    emit execute_command(str);
  }
}
void QScan345Server::connectionClosed ( ) [slot]

Definition at line 52 of file qscan345server.cpp.

References print_message().

Referenced by openNewConnection().

{
  emit print_message("Client closed connection");
}
void QScan345Server::erase_finished ( ) [slot]

Definition at line 80 of file qscan345server.cpp.

References m_Socket.

{
  if (m_Socket && (m_Socket->isWritable())) {
    m_Socket -> write("erase finished\n");
  }
}
void QScan345Server::execute_command ( QString  cmd) [signal]

Referenced by clientRead().

void QScan345Server::openNewConnection ( ) [slot]

Definition at line 34 of file qscan345server.cpp.

References clientRead(), connectionClosed(), m_Socket, and print_message().

Referenced by QScan345Server().

{
  m_Socket = nextPendingConnection();

  connect(m_Socket, SIGNAL(disconnected()),
          m_Socket, SLOT(deleteLater()));

  connect(m_Socket, SIGNAL(readyRead()),
          this,     SLOT(clientRead()));

  emit print_message(QString("New connection from %1")
                     .arg(m_Socket->peerAddress().toString()) );

  connect(m_Socket, SIGNAL(disconnected()),
          this,     SLOT(connectionClosed()));
}
void QScan345Server::print_message ( QString  msg) [signal]
void QScan345Server::scan_finished ( ) [slot]

Definition at line 72 of file qscan345server.cpp.

References m_Socket.

{
  if (m_Socket && (m_Socket->isWritable())) {
    m_Socket -> write("scan finished\n");
  }
}
void QScan345Server::startServer ( QHostAddress  a,
int  p 
)

Definition at line 19 of file qscan345server.cpp.

{
  setMaxPendingConnections(1);

  if (isListening()) {
    close();
  }

  if (!listen(a, p)) {
    qWarning("Failed to bind to address %s port %d",
             qPrintable(a.toString()), p);
  }
}

Member Data Documentation

Definition at line 33 of file qscan345server.h.

Referenced by QScan345Server().

QTcpSocket* QScan345Server::m_Socket [private]

Definition at line 34 of file qscan345server.h.

Referenced by clientRead(), erase_finished(), openNewConnection(), and scan_finished().


The documentation for this class was generated from the following files: