summaryrefslogtreecommitdiff
path: root/writerfilter/inc/rtftok
diff options
context:
space:
mode:
authorHenning Brinkmann <hbrinkm@openoffice.org>2006-10-24 08:27:54 +0000
committerHenning Brinkmann <hbrinkm@openoffice.org>2006-10-24 08:27:54 +0000
commit5398d00863db3303cb4f3683ea1af98ff9d46a2a (patch)
tree90c4fa0aacc5cffb7fa4b5d23167b4c8184194b3 /writerfilter/inc/rtftok
parentee309d277e83fdd10d93cadbf65bbc460efe67c3 (diff)
initial check in
Diffstat (limited to 'writerfilter/inc/rtftok')
-rw-r--r--writerfilter/inc/rtftok/RTFInputSource.hxx19
-rw-r--r--writerfilter/inc/rtftok/RTFParseException.hxx19
-rw-r--r--writerfilter/inc/rtftok/RTFScanner.hxx42
-rw-r--r--writerfilter/inc/rtftok/RTFScannerHandler.hxx27
4 files changed, 107 insertions, 0 deletions
diff --git a/writerfilter/inc/rtftok/RTFInputSource.hxx b/writerfilter/inc/rtftok/RTFInputSource.hxx
new file mode 100644
index 000000000000..54cf7c84d068
--- /dev/null
+++ b/writerfilter/inc/rtftok/RTFInputSource.hxx
@@ -0,0 +1,19 @@
+/**
+ Copyright 2005 Sun Microsystems, Inc.
+*/
+
+#ifndef INCLUDED_RTFINPUTSOURCE_HXX
+#define INCLUDED_RTFINPUTSOURCE_HXX
+
+namespace writerfilter { namespace rtftok {
+
+class RTFInputSource
+{
+public:
+ virtual int read(void *buffer, int maxLen) = 0;
+};
+
+} } /* end namespace writerfilter::rtftok */
+
+
+#endif /* INCLUDED_RTFINPUTSOURCE_HXX */
diff --git a/writerfilter/inc/rtftok/RTFParseException.hxx b/writerfilter/inc/rtftok/RTFParseException.hxx
new file mode 100644
index 000000000000..df5fef6c06fa
--- /dev/null
+++ b/writerfilter/inc/rtftok/RTFParseException.hxx
@@ -0,0 +1,19 @@
+/**
+ Copyright 2005 Sun Microsystems, Inc.
+*/
+
+#ifndef INCLUDED_RTFPARSEEXCEPTION_HXX
+#define INCLUDED_RTFPARSEEXCEPTION_HXX
+
+namespace writerfilter { namespace rtftok {
+
+class RTFParseException
+{
+public:
+ RTFParseException(char *message);
+};
+
+} } /* end namespace writerfilter::rtftok */
+
+
+#endif /* INCLUDED_RTFPARSEEXCEPTION_HXX */
diff --git a/writerfilter/inc/rtftok/RTFScanner.hxx b/writerfilter/inc/rtftok/RTFScanner.hxx
new file mode 100644
index 000000000000..7610aca41853
--- /dev/null
+++ b/writerfilter/inc/rtftok/RTFScanner.hxx
@@ -0,0 +1,42 @@
+/**
+ Copyright 2005 Sun Microsystems, Inc.
+*/
+
+#ifndef INCLUDED_RTFSCANNER_HXX
+#define INCLUDED_RTFSCANNER_HXX
+
+#include <WriterFilterDllApi.hxx>
+#include <vector>
+#include <rtftok/RTFInputSource.hxx>
+#include <rtftok/RTFScannerHandler.hxx>
+
+namespace writerfilter { namespace rtftok {
+
+class WRITERFILTER_DLLPUBLIC RTFScanner {
+public:
+ RTFScanner(RTFScannerHandler &eventHandler_) : eventHandler(eventHandler_) {};
+ virtual ~RTFScanner() { }
+
+ const char* YYText() { return yytext; }
+ int YYLeng() { return yyleng; }
+
+ virtual int yylex() = 0;
+
+ int lineno() const { return yylineno; }
+
+protected:
+ char* yytext;
+ int yyleng;
+ int yylineno; // only maintained if you use %option yylineno
+ int yy_flex_debug; // only has effect with -d or "%option debug"
+ RTFScannerHandler &eventHandler;
+
+
+public:
+ static writerfilter::rtftok::RTFScanner* createRTFScanner(writerfilter::rtftok::RTFInputSource& inputSource, writerfilter::rtftok::RTFScannerHandler &eventHandler);
+};
+
+} } /* end namespace writerfilter::rtftok */
+
+
+#endif /* INCLUDED_RTFSCANNER_HXX */
diff --git a/writerfilter/inc/rtftok/RTFScannerHandler.hxx b/writerfilter/inc/rtftok/RTFScannerHandler.hxx
new file mode 100644
index 000000000000..c27a7bf1c3a0
--- /dev/null
+++ b/writerfilter/inc/rtftok/RTFScannerHandler.hxx
@@ -0,0 +1,27 @@
+/**
+ Copyright 2005 Sun Microsystems, Inc.
+ */
+
+#ifndef INCLUDED_RTFSCANNERHANDLER_HXX
+#define INCLUDED_RTFSCANNERHANDLER_HXX
+
+namespace writerfilter { namespace rtftok {
+
+class RTFScannerHandler
+{
+public:
+ virtual void dest(char*token, char*value)=0;
+ virtual void ctrl(char*token, char*value)=0;
+ virtual void lbrace(void)=0;
+ virtual void rbrace(void)=0;
+ virtual void addSpaces(int count)=0;
+ virtual void addBinData(unsigned char data)=0;
+ virtual void addChar(char ch) =0;
+ virtual void addCharU(sal_Unicode ch) =0;
+ virtual void addHexChar(char* hexch) =0;
+
+};
+
+} } /* end namespace writerfilter::rtftok */
+
+#endif /* INCLUDED_RTFSCANNERHANDLER_HXX */