-
Notifications
You must be signed in to change notification settings - Fork 1
/
NetworkWriter.h
62 lines (54 loc) · 1.56 KB
/
NetworkWriter.h
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
/* Copyright (C) 2015 Willi Menapace <[email protected]>, Simone Lorengo - All Rights Reserved
* Unauthorized copying of this file, via any medium is strictly prohibited
* Proprietary and confidential
* Written by Willi Menapace <[email protected]>
*/
#ifndef NETWORK_WRITER_INCLUDED
#define NETWORK_WRITER_INCLUDED
#include "GlobalDefines.h"
#include "StreamWriter.h"
#ifdef OFFBOARD
#include "FakeClient.h"
#endif
#ifdef ONBOARD
#include <Ethernet.h>
#endif // ONBOARD
/**
* Writer in grado di effettuare la scrittura
* attraverso un socket
*/
class NetworkWriter : public StreamWriter {
private:
Client *client;
protected:
#ifdef OFFBOARD
std::ostream *getStream();
#endif // ONFFBOARD
#ifdef ONBOARD
Stream *getStream();
#endif // ONFFBOARD
public:
/**
* Imposta il socket attraverso cui effettuare la scrittura
*
* @param _client socket su cui effettuare la scrittura
* Se _client == 0 rilascia il socket precedentemente impostato
* ma non ne effettua la chiusura
*/
void initialize(Client *_client);
/**
* @return true se il socket e' connesso, false se
* non e' connesso o non e' stato impostato
* I client di test sono sempre connessi
*/
bool isConnected();
/**
* Forza lo svuotamento del buffer di invio
*/
void flush();
/**
* Crea un writer vuoto senza alcun socket impostato
*/
NetworkWriter();
};
#endif // NETWORK_WRITER_INCLUDED