25 #ifndef ACE_UTILS_CLI_STREAM_LINE_READER_H
26 #define ACE_UTILS_CLI_STREAM_LINE_READER_H
29 #include <AceRoutine.h>
30 #include "InputLine.h"
53 char* buffer,
int bufferSize):
68 COROUTINE_AWAIT(mStream.available() > 0);
69 while (mStream.available() > 0) {
73 if (mIndex >= mBufSize - 1) {
74 input.status = InputLine::kStatusOverflow;
78 COROUTINE_CHANNEL_WRITE(mChannel, input);
79 }
else if (c ==
'\n' || c ==
'\r') {
81 mFlushLine ? InputLine::kStatusOverflow : InputLine::kStatusOk;
85 COROUTINE_CHANNEL_WRITE(mChannel, input);
106 ace_routine::Channel<InputLine>& mChannel;
112 bool mFlushLine =
false;