QTfrontend/net/netserver.cpp
author sheepluva
Mon, 01 Dec 2014 17:55:09 +0100
changeset 10599 918d6da025a6
parent 10108 c68cf030eded
child 11046 47a8c19ecb60
permissions -rw-r--r--
weapon set: Shoppa Pro
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
     1
/*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 884
diff changeset
     2
 * Hedgewars, a free turn based strategy game
884
99cc72c8a812 - Some debug info
unc0rr
parents: 883
diff changeset
     3
 * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
9998
736015b847e3 update copyright to 2014
sheepluva
parents: 9080
diff changeset
     4
 * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
     5
 *
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
     7
 * it under the terms of the GNU General Public License as published by
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
     8
 * the Free Software Foundation; version 2 of the License
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
     9
 *
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    13
 * GNU General Public License for more details.
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    14
 *
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    16
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 9998
diff changeset
    17
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    18
 */
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    19
1375
c95c6887b289 Start new hedgewars server instead of old one
unc0rr
parents: 1374
diff changeset
    20
#include "hwconsts.h"
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    21
#include "netserver.h"
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    22
1375
c95c6887b289 Start new hedgewars server instead of old one
unc0rr
parents: 1374
diff changeset
    23
HWNetServer::~HWNetServer()
c95c6887b289 Start new hedgewars server instead of old one
unc0rr
parents: 1374
diff changeset
    24
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    25
    StopServer();
1375
c95c6887b289 Start new hedgewars server instead of old one
unc0rr
parents: 1374
diff changeset
    26
}
c95c6887b289 Start new hedgewars server instead of old one
unc0rr
parents: 1374
diff changeset
    27
672
08ed55ea1e2a - Fix a bug when server fails to start, and then connecting to another server on the same host (strange, the fix won't work on my machine)
unc0rr
parents: 658
diff changeset
    28
bool HWNetServer::StartServer(quint16 port)
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    29
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    30
    ds_port = port;
326
c6718bfdd642 Small fixes
unc0rr
parents: 319
diff changeset
    31
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    32
    QStringList params;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    33
    params << QString("--port=%1").arg(port);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    34
    params << "--dedicated=False";
2377
f3fab2b09e0c And in frontend
nemo
parents: 1384
diff changeset
    35
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    36
    process.start(bindir->absolutePath() + "/hedgewars-server", params);
1375
c95c6887b289 Start new hedgewars server instead of old one
unc0rr
parents: 1374
diff changeset
    37
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    38
    return process.waitForStarted(5000);
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    39
}
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    40
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    41
void HWNetServer::StopServer()
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    42
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2377
diff changeset
    43
    process.close();
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    44
}
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    45
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    46
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    47
quint16 HWNetServer::getRunningPort() const
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    48
{
6616
f77bb02b669f astyle -C -S -L -N --style=allman --recursive "QTfrontend/*.cpp" "QTfrontend/*.h"
nemo
parents: 6060
diff changeset
    49
    return ds_port;
315
73003488240b client/server net pre-alpha
displacer
parents:
diff changeset
    50
}