ClanLib
2.3.7
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
Sources
API
Network
NetGame
server.h
Go to the documentation of this file.
1
/*
2
** ClanLib SDK
3
** Copyright (c) 1997-2011 The ClanLib Team
4
**
5
** This software is provided 'as-is', without any express or implied
6
** warranty. In no event will the authors be held liable for any damages
7
** arising from the use of this software.
8
**
9
** Permission is granted to anyone to use this software for any purpose,
10
** including commercial applications, and to alter it and redistribute it
11
** freely, subject to the following restrictions:
12
**
13
** 1. The origin of this software must not be misrepresented; you must not
14
** claim that you wrote the original software. If you use this software
15
** in a product, an acknowledgment in the product documentation would be
16
** appreciated but is not required.
17
** 2. Altered source versions must be plainly marked as such, and must not be
18
** misrepresented as being the original software.
19
** 3. This notice may not be removed or altered from any source distribution.
20
**
21
** Note: Some of the libraries ClanLib may link to may have additional
22
** requirements or restrictions.
23
**
24
** File Author(s):
25
**
26
** Magnus Norddahl
27
*/
28
31
32
#pragma once
33
34
#include "../api_network.h"
35
36
#include "
connection_site.h
"
// TODO: Remove
37
#include "../../Core/System/event.h"
38
#include "../../Core/Signals/signal_v1.h"
39
#include "../../Core/Signals/signal_v2.h"
40
41
class
CL_NetGameEvent
;
42
class
CL_NetGameConnection
;
43
class
CL_NetGameServer_Impl;
44
48
class
CL_API_NETWORK
CL_NetGameServer
:
CL_NetGameConnectionSite
49
{
50
public
:
51
CL_NetGameServer
();
52
~
CL_NetGameServer
();
53
57
void
start(
const
CL_String
&port);
58
63
void
start(
const
CL_String
&address,
const
CL_String
&port);
64
66
void
process_events();
67
69
void
stop();
70
74
void
send_event(
const
CL_NetGameEvent
&game_event);
75
76
CL_Signal_v1<CL_NetGameConnection *>
&sig_client_connected();
77
CL_Signal_v1<CL_NetGameConnection *>
&sig_client_disconnected();
78
CL_Signal_v2<CL_NetGameConnection *, const CL_NetGameEvent &>
&sig_event_received();
79
80
private
:
81
83
void
listen_thread_main();
84
88
void
add_network_event
(
const
CL_NetGameNetworkEvent &e);
89
90
CL_SharedPtr<CL_NetGameServer_Impl> impl;
91
};
92
94
Generated on Fri Jun 14 2013 13:05:46 for ClanLib by
1.8.4