common: Move loop parser decorator into its own source file.
diff --git a/common/trace_parser.hpp b/common/trace_parser.hpp
index e62092a..b638aa1 100644
--- a/common/trace_parser.hpp
+++ b/common/trace_parser.hpp
@@ -240,32 +240,8 @@
};
-// Decorator for parser which loops
-class LastFrameLoopParser : public AbstractParser {
-public:
- LastFrameLoopParser(AbstractParser *p, int c) {
- parser = p;
- loopCount = c;
- }
-
- ~LastFrameLoopParser() {
- delete parser;
- }
-
- Call *parse_call(void);
-
- // Delegate to Parser
- void getBookmark(ParseBookmark &bookmark) { parser->getBookmark(bookmark); }
- void setBookmark(const ParseBookmark &bookmark) { parser->setBookmark(bookmark); }
- bool open(const char *filename);
- void close(void) { parser->close(); }
- unsigned long long getVersion(void) const { return parser->getVersion(); }
-private:
- int loopCount;
- AbstractParser *parser;
- ParseBookmark frameStart;
- ParseBookmark lastFrameStart;
-};
+AbstractParser *
+lastFrameLoopParser(AbstractParser *parser, int loopCount);
} /* namespace trace */