summaryrefslogtreecommitdiff
path: root/src/core/parser/generic/ParserStateHandler.cpp
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-02-14 23:52:08 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-02-14 23:52:08 +0100
commit8c9820889e0e23b3d6a349e3f85d3700f1462e3c (patch)
tree0ef01015c241434fd8dd3e728e9c2deb1939cb8a /src/core/parser/generic/ParserStateHandler.cpp
parent35dbde2dbf65d4e35e64b0ffa3d43f6f96a7ef9a (diff)
Implemented callback functions in ParserStateHandler
Diffstat (limited to 'src/core/parser/generic/ParserStateHandler.cpp')
-rw-r--r--src/core/parser/generic/ParserStateHandler.cpp31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/core/parser/generic/ParserStateHandler.cpp b/src/core/parser/generic/ParserStateHandler.cpp
index 96b9217..64e2bfa 100644
--- a/src/core/parser/generic/ParserStateHandler.cpp
+++ b/src/core/parser/generic/ParserStateHandler.cpp
@@ -24,11 +24,13 @@ namespace ousia {
/* Class ParserStatedata */
-ParserStatedata::ParserStatedata(ParserContext &ctx, std::string name,
- const ParserState &state,
+ParserStatedata::ParserStatedata(ParserContext &ctx,
+ ParserStateCallbacks &callbacks,
+ std::string name, const ParserState &state,
const ParserState &parentState,
const SourceLocation location)
: ctx(ctx),
+ callbacks(callbacks),
name(std::move(name)),
state(state),
parentState(parentState),
@@ -56,6 +58,31 @@ const ParserState &ParserStateHandler::state() { return data.state; }
SourceLocation ParserStateHandler::location() { return data.location; }
+void ParserStateHandler::setWhitespaceMode(WhitespaceMode whitespaceMode)
+{
+ data.callbacks.setWhitespaceMode(whitespaceMode);
+}
+
+void ParserStateHandler::setDataType(VariantType type)
+{
+ data.callbacks.setDataType(type);
+}
+
+bool ParserStateHandler::supportsToken(const std::string &token)
+{
+ return data.callbacks.supportsToken(token);
+}
+
+void ParserStateHandler::registerToken(const std::string &token)
+{
+ data.callbacks.registerToken(token);
+}
+
+void ParserStateHandler::unregisterToken(const std::string &token)
+{
+ data.callbacks.unregisterToken(token);
+}
+
void ParserStateHandler::data(const std::string &data, int field)
{
if (Utils::hasNonWhitepaceChar(data)) {