forked from Asbelos/CVReader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNetworkInterface.cpp
80 lines (61 loc) · 1.57 KB
/
NetworkInterface.cpp
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
69
70
71
72
73
74
75
76
77
78
79
80
#include <Arduino.h>
#include "DIAG.h"
#include "NetworkInterface.h"
#include "WifiTransport.h"
#include "EthernetTransport.h"
Transport* NetworkInterface::transport;
void NetworkInterface::setup(transportType tt, protocolType pt, uint16_t lp)
{
uint8_t ok = 0;
DIAG(F("\n[%S] Transport Setup In Progress ...\n"), tt ? F("Ethernet") : F("Wifi"));
switch (tt)
{
case WIFI:
{
transport = Singleton<WifiTransport>::get();
ok = 1;
break;
};
case ETHERNET:
{
transport = Singleton<EthernetTransport>::get();
ok = 1;
break;
};
default:
{
DIAG(F("\nERROR: Unknown Transport"));// Something went wrong
break;
}
}
if(ok) { // configure the Transport and get it up and running
transport->port = lp;
transport->protocol = pt;
// ok = transport->setup(pt,lp);
ok = transport->setup();
}
DIAG(F("\n[%S] Transport %S ..."), tt ? F("Ethernet") : F("Wifi"), ok ? F("OK") : F("Failed"));
}
void NetworkInterface::setup(transportType tt, protocolType pt)
{
NetworkInterface::setup(tt, pt, LISTEN_PORT);
}
void NetworkInterface::setup(transportType tt)
{
NetworkInterface::setup(tt, TCP, LISTEN_PORT);
}
void NetworkInterface::setup()
{
NetworkInterface::setup(ETHERNET, TCP, LISTEN_PORT);
}
void NetworkInterface::loop() {
transport->loop();
}
NetworkInterface::NetworkInterface()
{
// DIAG(F("NetworkInterface created "));
}
NetworkInterface::~NetworkInterface()
{
// DIAG(F("NetworkInterface destroyed"));
}