|
30 | 30 | extern SerialClass Serial;
|
31 | 31 | #endif
|
32 | 32 |
|
33 |
| -#include <functional> |
| 33 | +typedef char (*FeedRowParserCallback)(); |
| 34 | +typedef char* (*FeedRowParserStrCallback)(); |
| 35 | +typedef bool (*RowParserFinishedCallback)(); |
34 | 36 |
|
35 | 37 | class CSV_Parser {
|
36 | 38 | char ** keys;
|
@@ -68,9 +70,13 @@ class CSV_Parser {
|
68 | 70 | int current_col;
|
69 | 71 | bool header_parsed;
|
70 | 72 |
|
71 |
| - std::function<char()> feedRowParser_callback; |
72 |
| - std::function<char*()> feedRowParserStr_callback; |
73 |
| - std::function<bool()> rowParserFinished_callback; |
| 73 | + // std::function<char()> feedRowParser_callback; |
| 74 | + // std::function<char*()> feedRowParserStr_callback; |
| 75 | + // std::function<bool()> rowParserFinished_callback; |
| 76 | + |
| 77 | + FeedRowParserCallback feedRowParser_callback; |
| 78 | + FeedRowParserStrCallback feedRowParserStr_callback; |
| 79 | + RowParserFinishedCallback rowParserFinished_callback; |
74 | 80 |
|
75 | 81 | /* Private methods */
|
76 | 82 | char * parseStringValue(const char *, int * chars_occupied);
|
@@ -203,9 +209,13 @@ class CSV_Parser {
|
203 | 209 | If the csv string did not end with "\n" or "\r\n" then endChunks() must be called, otherwise the last row won't be returned when using "GetValues". */
|
204 | 210 | void parseLeftover();
|
205 | 211 |
|
206 |
| - void setFeedRowParserCallback(std::function<char()> feedRowParser_callback); |
207 |
| - void setFeedRowParserStrCallback(std::function<char*()> feedRowParserStr_callback); |
208 |
| - void setRowParserFinishedCallback(std::function<bool()> rowParserFinished_callback); |
| 212 | + // void setFeedRowParserCallback(std::function<char()> feedRowParser_callback); |
| 213 | + // void setFeedRowParserStrCallback(std::function<char*()> feedRowParserStr_callback); |
| 214 | + // void setRowParserFinishedCallback(std::function<bool()> rowParserFinished_callback); |
| 215 | + |
| 216 | + void setFeedRowParserCallback(FeedRowParserCallback feedRowParser_callback); |
| 217 | + void setFeedRowParserStrCallback(FeedRowParserStrCallback feedRowParserStr_callback); |
| 218 | + void setRowParserFinishedCallback(RowParserFinishedCallback rowParserFinished_callback); |
209 | 219 |
|
210 | 220 | /** @brief If invalid parameters are supplied to this class, then debug serial is used to output error information.
|
211 | 221 | This function is static, which means that it supposed to be called like:
|
|
0 commit comments