summaryrefslogtreecommitdiffstats
path: root/examples/network/remotecontrol/startup.cpp
blob: 03fa87f5ff284127b56f1e4a4943b9528778134f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "startup.h"
#include "remotectrlimpl.h"
#include "maindialog.h"
#include "ipcserver.h"

#include <qsocket.h>
#include <qlabel.h>

static const Q_UINT16 ipcPort = 54923;

StartUp::StartUp()
{
    remoteCtrl = 0;
    mainDialog = 0;

    socket = new QSocket( this );
    connect( socket, SIGNAL(connected()), SLOT(startRemoteCtrl()) );
    connect( socket, SIGNAL(error(int)), SLOT(startMainDialog()) );
    socket->connectToHost( "localhost", ipcPort );
}

StartUp::~StartUp()
{
    delete remoteCtrl;
    delete mainDialog;
}

void StartUp::startRemoteCtrl()
{
    remoteCtrl = new RemoteCtrlImpl( socket );
    remoteCtrl->show();
}

void StartUp::startMainDialog()
{
    mainDialog = new MainDialog();
    mainDialog->show();

    IpcServer *server = new IpcServer( ipcPort, this );

    connect( server, SIGNAL(receivedText(const QString&)),
	    mainDialog->description, SLOT(setText(const QString&)) );
    connect( server, SIGNAL(receivedPixmap(const QPixmap&)),
	    mainDialog->image, SLOT(setPixmap(const QPixmap&)) );
}