forked from Lupus590AtUni/Uni_NetworksAssignment
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNA_NetworkManager.cpp
More file actions
49 lines (40 loc) · 1016 Bytes
/
NA_NetworkManager.cpp
File metadata and controls
49 lines (40 loc) · 1016 Bytes
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
#include "NA_NetworkManager.h"
#include "globals.h"
#include <iostream>
using std::cerr;
NA_NetworkManager na_netMan;
NA_NetworkManager::NA_NetworkManager()
{
}
NA_NetworkManager::~NA_NetworkManager()
{
if (ready)
{
WSACleanup(); //Sockets will become invalid which NA_TCP and NA_UDP check for and exit on, user of these two classes should check if it's still a valid object (although they probably destroyed NA_NetworkManager)
}
}
bool NA_NetworkManager::init()
{
int r = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (r != 0)
{
extern NA_CriticalSection NA_consoleOutputCritSect;
NA_consoleOutputCritSect.enter();
cerr << "NA_UDP::init - WSAStartup failer. returned: " << r << "\n";
NA_consoleOutputCritSect.leave();
return false;
}
ready = true;
return true;
}
bool NA_NetworkManager::isReady()
{
return ready;
}
void NA_NetworkManager::cleanup()
{
// Tell all objects to terminate
// clean up WinSock2
WSACleanup();
ready = false;
}