preliminary work on parser class
Change-Id: I792fd2a0f08f5383574f583b55e867056db36efe
This commit is contained in:
@@ -11,5 +11,13 @@ IReader::~IReader()
|
||||
{
|
||||
}
|
||||
|
||||
Parser::Parser(IReader* p) :
|
||||
m_pReader(p)
|
||||
{
|
||||
}
|
||||
|
||||
Parser::~Parser()
|
||||
{
|
||||
}
|
||||
|
||||
} //end namespace WebvttParser
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user