preliminary work on parser class

Change-Id: I792fd2a0f08f5383574f583b55e867056db36efe
This commit is contained in:
matthewjheaney
2012-03-02 19:04:27 -05:00
parent 274c641666
commit f031dc1731
2 changed files with 47 additions and 1 deletions

View File

@@ -11,5 +11,13 @@ IReader::~IReader()
{
}
Parser::Parser(IReader* p) :
m_pReader(p)
{
}
Parser::~Parser()
{
}
} //end namespace WebvttParser

View File

@@ -9,12 +9,50 @@ class IReader
protected:
IReader();
virtual ~IReader();
public:
virtual int Read(char& c) = 0;
};
class Parser
{
private:
Parser(const Parser&);
Parser& operator=(const Parser&);
public:
Parser(IReader*);
~Parser();
int Parse();
//need to know kind:
// caption, description, metadata, etc
// is this a webvtt stream?
//
//cue identifier
//timestamp (or defaults?) + cue settings
//payload
// preserve each line
//machine states:
// parsing stream id ("webvtt")
// parsing file-wide metadata
// parsing cue
//
//within cue:
// parsing line
// is this a cue identifier or timestamp line?
//
// parsing cue id
// parsing timestamp
// parsing lines, looking for end-of-cue
private:
IReader* const m_pReader;
};
} //end namespace WebvttParser