-
Notifications
You must be signed in to change notification settings - Fork 1
/
DirectFileWriter.cpp
77 lines (64 loc) · 1.85 KB
/
DirectFileWriter.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
/* 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]>
*/
#include "GlobalDefines.h"
#include "DirectFileWriter.h"
#include <assert.h>
#ifdef OFFBOARD
std::ostream *DirectFileWriter::getStream() {
//Se lo stream non e' disponibile ritorna 0
if(!isOpen()) {
return 0;
}
return &outFile;
}
#endif // ONFFBOARD
#ifdef ONBOARD
Stream *DirectFileWriter::getStream() {
//Se lo stream non e' disponibile ritorna 0
if(!isOpen()) {
return 0;
}
return &outFile;
}
#endif // ONFFBOARD
bool DirectFileWriter::open(const char *_fileName, bool _append) {
#ifdef OFFBOARD
if(_append == true) {
//Aggiunge i dati a fine file
outFile.open(_fileName, std::ios::out | std::ios::app | std::ios::binary);
} else {
//Sovrascrive il file esistente
outFile.open(_fileName, std::ios::out | std::ios::binary);
}
return outFile.is_open();
#endif // OFFBOARD
#ifdef ONBOARD
if(_append == false) {
//Se il file esiste gia' lo rimuove per sovrascriverlo
if(SD.exists((char *) _fileName)) {
SD.remove((char *) _fileName);
}
}
outFile = SD.open((char *) _fileName, FILE_WRITE);
return (outFile == true);
#endif // ONBOARD
}
bool DirectFileWriter::isOpen() {
#ifdef OFFBOARD
return outFile.is_open();
#endif // OFFBOARD
#ifdef ONBOARD
return outFile == true;
#endif // ONBOARD
}
void DirectFileWriter::close() {
#ifdef OFFBOARD
outFile.close();
#endif // OFFBOARD
#ifdef ONBOARD
outFile.close();
#endif // ONBOARD
}