summaryrefslogtreecommitdiff
path: root/python/src/observer.h
diff options
context:
space:
mode:
Diffstat (limited to 'python/src/observer.h')
-rw-r--r--python/src/observer.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/python/src/observer.h b/python/src/observer.h
new file mode 100644
index 00000000..d398f2f7
--- /dev/null
+++ b/python/src/observer.h
@@ -0,0 +1,22 @@
+#include "decoder/hg.h"
+#include "decoder/decoder.h"
+#include <iostream>
+
+struct BasicObserver: public DecoderObserver {
+ Hypergraph* hypergraph;
+ BasicObserver() : hypergraph(NULL) {}
+ ~BasicObserver() {
+ if(hypergraph != NULL) delete hypergraph;
+ }
+ void NotifyDecodingStart(const SentenceMetadata& smeta) {}
+ void NotifySourceParseFailure(const SentenceMetadata& smeta) {}
+ void NotifyTranslationForest(const SentenceMetadata& smeta, Hypergraph* hg) {
+ if(hypergraph != NULL) delete hypergraph;
+ hypergraph = new Hypergraph(*hg);
+ }
+ void NotifyAlignmentFailure(const SentenceMetadata& semta) {
+ if(hypergraph != NULL) delete hypergraph;
+ }
+ void NotifyAlignmentForest(const SentenceMetadata& smeta, Hypergraph* hg) {}
+ void NotifyDecodingComplete(const SentenceMetadata& smeta) {}
+};