diff options
Diffstat (limited to 'hwpfilter/source/hwpreader.hxx')
-rw-r--r-- | hwpfilter/source/hwpreader.hxx | 111 |
1 files changed, 59 insertions, 52 deletions
diff --git a/hwpfilter/source/hwpreader.hxx b/hwpfilter/source/hwpreader.hxx index 7642d9324981..4638ffb5aa57 100644 --- a/hwpfilter/source/hwpreader.hxx +++ b/hwpfilter/source/hwpreader.hxx @@ -17,12 +17,15 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifndef INCLUDED_HWPFILTER_SOURCE_HWPREADER_HXX -#define INCLUDED_HWPFILTER_SOURCE_HWPREADER_HXX +#pragma once + +#include <sal/config.h> #include <errno.h> #include <stdio.h> #include <string.h> + +#include <rtl/ustring.hxx> #include <sal/alloca.h> #include <com/sun/star/lang/XServiceInfo.hpp> @@ -44,15 +47,6 @@ #include <cppuhelper/weak.hxx> #include <memory> -using namespace ::cppu; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::io; -using namespace ::com::sun::star::registry; -using namespace ::com::sun::star::document; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::xml::sax; - #include <assert.h> #include <unotools/mediadescriptor.hxx> @@ -65,7 +59,16 @@ using namespace ::com::sun::star::xml::sax; #include "drawdef.h" #include "attributes.hxx" -#define WRITER_IMPORTER_NAME "com.sun.star.comp.Writer.XMLImporter" +using namespace ::cppu; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::io; +using namespace ::com::sun::star::registry; +using namespace ::com::sun::star::document; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::xml::sax; + +inline constexpr OUString WRITER_IMPORTER_NAME = u"com.sun.star.comp.Writer.XMLImporter"_ustr; struct HwpReaderPrivate; /** @@ -73,7 +76,6 @@ struct HwpReaderPrivate; */ class HwpReader : public WeakImplHelper<XFilter> { - public: HwpReader(); virtual ~HwpReader() override; @@ -82,22 +84,26 @@ public: /** * parseStream does Parser-startup initializations */ - virtual sal_Bool SAL_CALL filter(const Sequence< PropertyValue >& aDescriptor) override; + virtual sal_Bool SAL_CALL filter(const Sequence<PropertyValue>& aDescriptor) override; virtual void SAL_CALL cancel() override {} - void setDocumentHandler(Reference< XDocumentHandler > const & xHandler) + void setDocumentHandler(Reference<XDocumentHandler> const& xHandler) { m_rxDocumentHandler = xHandler; } + + bool importHStream(std::unique_ptr<HStream> stream); + private: - Reference< XDocumentHandler > m_rxDocumentHandler; + Reference<XDocumentHandler> m_rxDocumentHandler; rtl::Reference<AttributeListImpl> mxList; HWPFile hwpfile; std::unique_ptr<HwpReaderPrivate> d; + private: /* -------- Document Parsing --------- */ void makeMeta(); void makeStyles(); - void makeDrawMiscStyle(HWPDrawingObject *); + void makeDrawMiscStyle(HWPDrawingObject*); void makeAutoStyles(); void makeMasterStyles(); void makeBody(); @@ -105,50 +111,51 @@ private: void makeTextDecls(); /* -------- Paragraph Parsing --------- */ - void parsePara(HWPPara *para); - void make_text_p0(HWPPara *para, bool bParaStart); - void make_text_p1(HWPPara *para, bool bParaStart); - void make_text_p3(HWPPara *para, bool bParaStart); + void parsePara(HWPPara* para); + void make_text_p0(HWPPara* para, bool bParaStart); + void make_text_p1(HWPPara* para, bool bParaStart); + void make_text_p3(HWPPara* para, bool bParaStart); /* -------- rDocument->characters(x) --------- */ - void makeChars(hchar_string & rStr); + void makeChars(hchar_string& rStr); /* -------- Special Char Parsing --------- */ - void makeFieldCode(hchar_string const & rStr, FieldCode const *hbox); //6 - void makeBookmark(Bookmark const *hbox); //6 - void makeDateFormat(DateCode *hbox); //7 - void makeDateCode(DateCode *hbox); //8 - void makeTab(); //9 - void makeTable(TxtBox *hbox); - void makeTextBox(TxtBox *hbox); - void makeFormula(TxtBox *hbox); - void makeHyperText(TxtBox *hbox); - void makePicture(Picture *hbox); - void makePictureDRAW(HWPDrawingObject *drawobj, Picture *hbox); + void makeFieldCode(hchar_string const& rStr, FieldCode const* hbox); //6 + void makeBookmark(Bookmark const* hbox); //6 + void makeDateFormat(DateCode* hbox); //7 + void makeDateCode(DateCode* hbox); //8 + void makeTab(); //9 + void makeTable(TxtBox* hbox); + void makeTextBox(TxtBox* hbox); + void makeFormula(TxtBox* hbox); + void makeHyperText(TxtBox* hbox); + void makePicture(Picture* hbox); + void makePictureDRAW(HWPDrawingObject* drawobj, const Picture* hbox); void makeLine(); - void makeHidden(Hidden *hbox); - void makeFootnote(Footnote *hbox); - void makeAutoNum(AutoNum const *hbox); + void makeHidden(Hidden* hbox); + void makeFootnote(Footnote* hbox); + void makeAutoNum(AutoNum const* hbox); void makeShowPageNum(); - void makeMailMerge(MailMerge *hbox); - void makeOutline(Outline const *hbox); + void makeMailMerge(MailMerge* hbox); + void makeOutline(Outline const* hbox); /* --------- Styles Parsing ------------ */ void makePageStyle(); - void makeColumns(ColumnDef const *); - void makeTStyle(CharShape const *); - void makePStyle(ParaShape const *); - void makeFStyle(FBoxStyle *); - void makeCaptionStyle(FBoxStyle *); - void makeDrawStyle(HWPDrawingObject *,FBoxStyle *); - void makeTableStyle(Table *); - void parseCharShape(CharShape const *); - void parseParaShape(ParaShape const *); - static char* getTStyleName(int, char *); - static char* getPStyleName(int, char *); + void makeColumns(ColumnDef const*); + void makeTStyle(CharShape const*); + void makePStyle(ParaShape const*); + void makeFStyle(FBoxStyle*); + void makeCaptionStyle(FBoxStyle*); + void makeDrawStyle(HWPDrawingObject*, FBoxStyle*); + void makeTableStyle(Table*); + void parseCharShape(CharShape const*); + void parseParaShape(ParaShape const*); + static OUString getTStyleName(int); + static OUString getPStyleName(int); + + void startEl(const OUString& el); + void endEl(const OUString& el); + void chars(const OUString& s); }; - -#endif - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |