From ba85c5f2e51bff962961a1a601aae1de6bbbee92 Mon Sep 17 00:00:00 2001 From: Brad Arant Date: Mon, 5 Jan 2026 16:49:41 -0800 Subject: [PATCH] Still parsing work. --- Parser.cpp | 4 +--- Parser.h | 8 +++++--- StreamReader.cpp | 16 ---------------- StreamReader.h | 33 --------------------------------- testing/mstring_test.cpp | 2 +- testing/parser_test.cpp | 14 ++++++++++++++ 6 files changed, 21 insertions(+), 56 deletions(-) delete mode 100644 StreamReader.cpp delete mode 100644 StreamReader.h create mode 100644 testing/parser_test.cpp diff --git a/Parser.cpp b/Parser.cpp index 7b2dc9d..9b2686f 100644 --- a/Parser.cpp +++ b/Parser.cpp @@ -3,13 +3,11 @@ namespace coreutils { - Parser::Parser(StreamReader &reader) : parser(parser) {} + Parser::Parser(int socket) : socket(socket) {} Parser::~Parser() {} Status Parser::doParse() { - buffer << reader.unparsed(); - reader.setParsed(); } bool Parser::checkParse(Parser &parser); diff --git a/Parser.h b/Parser.h index fe83062..845637c 100644 --- a/Parser.h +++ b/Parser.h @@ -12,7 +12,7 @@ namespace coreutils { /// consistency regardless of the packet delivery for the stream. /// - class Parser { + class Parser : public MString { public: @@ -20,7 +20,7 @@ namespace coreutils { /// /// - Parser(StreamReader &reader, Parser *parser); + Parser(int socket); /// /// @@ -28,7 +28,8 @@ namespace coreutils { enum class Status { COMPLETE, - INCOMPLETE + INCOMPLETE, + DATA_AVAIL }; /// @@ -60,6 +61,7 @@ namespace coreutils { MString buffer; private: + int socket; Parser *parser; vector chain; diff --git a/StreamReader.cpp b/StreamReader.cpp deleted file mode 100644 index 7e69e8c..0000000 --- a/StreamReader.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "StreamReader.h" - -namespace coreutils { - - StreamReader::StreamReader(int fd, Parser *parser) fd(fd) {} - - StreamReader::~StreamReader() {} - - int StreamReader::read() { - setSize(4096); - int len = ::read(fd, getData(), 4096); - - parser.parse(); - } - -} diff --git a/StreamReader.h b/StreamReader.h deleted file mode 100644 index 140d06b..0000000 --- a/StreamReader.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef __StreamReader_h__ -#define __StreamReader_h__ - -#include "MString.h" -#include "Parser.h" -#include -#include - -namespace coreutils { - - /// - /// Use the StreamReader to read data from a socket and buffer it for use by - /// various stream parsers such as IMFMessage. The reader maintains data - /// consistency regardless of the packet delivery for the stream. - /// - - class StreamReader { - - public: - StreamReader(int fd, Parser *parser); - virtual ~StreamReader(); - - int read(); - - private: - int fd; - vector buffer; - - }; - -} - -#endif diff --git a/testing/mstring_test.cpp b/testing/mstring_test.cpp index 851a8de..384c71f 100644 --- a/testing/mstring_test.cpp +++ b/testing/mstring_test.cpp @@ -119,7 +119,7 @@ int main(int argc, char **argv) { test34 = testcast(test31); std::cout << test31 << " to zstring " << test34 << std::endl; - + return 0; } diff --git a/testing/parser_test.cpp b/testing/parser_test.cpp new file mode 100644 index 0000000..c37465c --- /dev/null +++ b/testing/parser_test.cpp @@ -0,0 +1,14 @@ +#include +#include "../MString.h" +#include "../LineParser.h" + +int main(int argc, char **argv) { + + coreutils::LineParser line(0); + Parse.Status status = line.doParse(); + + + + return 0; +} +