示例#1
0
    void LogSystem::handleMsg(unsigned long id, Message* msg)
    {
      switch(id)
      {
        case ID_SET_NEW_OUTPUT:
          handleSetNewOutput(static_cast<SetNewOutput*>(msg));
          break;
          
        case ID_SET_LOG_LVL:
          handleSetLogLvl(static_cast<SetLogLvl*>(msg));
          break;
        
        case ID_LOG:
          handleLog(static_cast<Log*>(msg));
          break;

        case ID_TERMINATE:
          running_ = false;
          break;
          
        default:
          std::cout << "Very bad, not known id" << std::endl;
          break;
      }
    
    }
示例#2
0
MainWidget::MainWidget(QWidget *parent)
    : QWidget(parent)
{
    //Window Settings
    this->setWindowTitle(tr("Test Chat Server"));
    this->resize(600,250);

    //Layout
    LayMain = new QVBoxLayout(this);
    EdtDisplay = new QTextEdit();
    EdtDisplay->setReadOnly(true);
    EdtDisplay->setFontFamily("courier");
    EdtDisplay->setFontPointSize(10);
    LayMain->addWidget(EdtDisplay);
    LayConfig = new QHBoxLayout();
    LayMain->addLayout(LayConfig);
    LblPort = new QLabel(tr("Port:"));
    LayConfig->addWidget(LblPort);
    BoxPort = new QSpinBox();
    BoxPort->setMinimum(1024);
    BoxPort->setMaximum(49151);
    BoxPort->setValue(2342);
    LayConfig->addWidget(BoxPort);
    LayConfig->addStretch();
    LayButtons = new QHBoxLayout();
    LayMain->addLayout(LayButtons);
    BtnStart = new QPushButton(tr("Server Starten"));
    BtnStop = new QPushButton(tr("Server Stoppen"));
    BtnQuit = new QPushButton(tr("Beenden"));
    LayButtons->addWidget(BtnStart);
    LayButtons->addWidget(BtnStop);
    LayButtons->addStretch();
    LayButtons->addWidget(BtnQuit);

    connect(BtnQuit, SIGNAL(clicked()), this, SLOT(close()));
    connect(BtnStart, SIGNAL(clicked()), this, SLOT(ServerStart()));
    connect(BtnStop, SIGNAL(clicked()), this, SLOT(ServerStop()));

    Server = new ChatServer();
    connect(Server, SIGNAL(newLog(QString)), this, SLOT(handleLog(QString)));

    handleLog(tr("Programm gestartet, Server läuft nicht."));
    handleLog(tr("Klicke auf Start um den Server zu starten."));
}
示例#3
0
void MainWidget::ServerStop()
{
    if(Server->isListening())
    {
        Server->stopServer();
    }
    else
    {
        handleLog(tr("Server nicht aktiv."));
    }
}
示例#4
0
void MainWidget::ServerStart()
{
    if(!Server->isListening())
    {
        Server->setPort(BoxPort->value());
        Server->startServer();
    }
    else
    {
        handleLog(tr("Server läuft bereits."));
    }
}