File: network_generic.h

package info (click to toggle)
clanlib 0.5.4-1-6
  • links: PTS
  • area: main
  • in suites: woody
  • size: 10,320 kB
  • ctags: 10,893
  • sloc: cpp: 76,056; xml: 3,281; sh: 2,961; perl: 1,204; asm: 837; makefile: 775
file content (68 lines) | stat: -rw-r--r-- 1,567 bytes parent folder | download
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
#ifndef header_network_generic
#define header_network_generic

#include <stdio.h>
#include <list>
#include <queue>
#include <string>

#include "API/Network/network.h"
#include "API/Network/netcomputer.h"
#include "API/Network/netgroup.h"
#include "API/Network/netsession.h"
#include "API/Network/netmessage.h"
#include "API/Core/System/thread.h"
#include "API/Core/System/mutex.h"
#include "API/Core/System/cl_assert.h"
#include "API/Core/System/error.h"
#include "API/Core/System/keep_alive.h"

#include "Core/IOData/Generic/inputsource_memory_generic.h"
#include "Core/IOData/Generic/outputsource_memory_generic.h"

#include "network_delivery_impl.h"

class CL_NetSession_Generic;
class CL_IncomingGame;

class CL_Network_Generic : public CL_Network, CL_KeepAlive
{
public:
	CL_Network_Generic(CL_ConnectionProvider *provider);
	~CL_Network_Generic();

	void find_sessions_broadcast(
		std::string game_id,
		int port);
	void find_session_at(
		std::string game_id,
		const std::string &host_address,
		int port);
	bool peek_game_found();
	CL_NetSession *receive_session_found(int timeout_millis);
	void clear_games_found();
	CL_NetSession *create_session(std::string session_id, int port);

	CL_ConnectionProvider *provider;
	std::queue<CL_NetSession*> queue;
	std::list<CL_NetSession_Generic*> netsessions;
	std::list<CL_IncomingGame*> incoming_netsessions;

	static CL_Network_Generic *self;
	
	void keep_alive();
private:
	CL_UDPConnection *udp_connection;
};

class CL_IncomingGame
{
public:
	CL_Connection *connection;
	std::string game_id;
};

#endif
*/