|
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