From bfd0bbab201d574d3387dacf1c74e80a3ed157bb Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 13 Jun 2011 22:23:07 +0100 Subject: survive missing writer component for testing purposes --- hwpfilter/source/formula.cpp | 10 +++++----- hwpfilter/source/formula.h | 24 +++++++++++++----------- hwpfilter/source/hwpreader.cxx | 14 ++++++++------ hwpfilter/source/hwpreader.hxx | 16 ++++++++-------- 4 files changed, 34 insertions(+), 30 deletions(-) (limited to 'hwpfilter') diff --git a/hwpfilter/source/formula.cpp b/hwpfilter/source/formula.cpp index 2ff8046d8a49..d2a73ac72d07 100644 --- a/hwpfilter/source/formula.cpp +++ b/hwpfilter/source/formula.cpp @@ -42,11 +42,11 @@ extern LinkedList nodelist; static hchar entity[32]; #define ascii(x) OUString::createFromAscii(x) -#define rstartEl(x,y) rDocumentHandler->startElement(x,y) -#define rendEl(x) rDocumentHandler->endElement(x) -#define rchars(x) rDocumentHandler->characters(ascii(x)) -#define runistr(x) rDocumentHandler->characters(OUString(x)) -#define reucstr(x,y) rDocumentHandler->characters(OUString(x,y, RTL_TEXTENCODING_EUC_KR)) +#define rstartEl(x,y) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->startElement(x,y); } while(0) +#define rendEl(x) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->endElement(x); } while(0) +#define rchars(x) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->characters(ascii(x)); } while(0) +#define runistr(x) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->characters(OUString(x)); } while(0) +#define reucstr(x,y) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->characters(OUString(x,y, RTL_TEXTENCODING_EUC_KR)); } while(0) #define padd(x,y,z) pList->addAttribute(x,y,z) #else static char entity[32]; diff --git a/hwpfilter/source/formula.h b/hwpfilter/source/formula.h index 886eb2d8e394..d43694374c82 100644 --- a/hwpfilter/source/formula.h +++ b/hwpfilter/source/formula.h @@ -43,8 +43,8 @@ class Node; using namespace ::com::sun::star::xml::sax; // #endif - -class Formula{ +class Formula +{ public: Formula(char *_eq, int _ishwpeq = 1) : pList(NULL) @@ -55,14 +55,16 @@ public: } virtual ~Formula(){ } - void setDocumentHandler(Reference < XDocumentHandler > xHandler ){ - rDocumentHandler = xHandler; - } - void setAttributeListImpl( AttributeListImpl *p ){ - pList = p; - rList = (XAttributeList *) pList; - } - int parse(); + void setDocumentHandler(Reference < XDocumentHandler > xHandler ) + { + m_rxDocumentHandler = xHandler; + } + void setAttributeListImpl( AttributeListImpl *p ) + { + pList = p; + rList = (XAttributeList *) pList; + } + int parse(); private: void trim(); void makeMathML(Node *res); @@ -87,7 +89,7 @@ private: void makeEnd(Node *res); private: - Reference< XDocumentHandler > rDocumentHandler; + Reference< XDocumentHandler > m_rxDocumentHandler; Reference< XAttributeList > rList; AttributeListImpl *pList; char *eq; diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx index cdf36c923274..07eee5d7e581 100644 --- a/hwpfilter/source/hwpreader.cxx +++ b/hwpfilter/source/hwpreader.cxx @@ -51,9 +51,9 @@ extern int getRepFamilyName(const char* , char *, double &ratio); // To be shorten source code by realking #define hconv(x,y) OUString(hstr2ucsstr(x,y)) #define ascii(x) OUString::createFromAscii(x) -#define rstartEl(x,y) rDocumentHandler->startElement(x,y) -#define rendEl(x) rDocumentHandler->endElement(x) -#define rchars(x) rDocumentHandler->characters(x) +#define rstartEl(x,y) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->startElement(x,y); } while(0) +#define rendEl(x) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->endElement(x); } while(0) +#define rchars(x) do { if (m_rxDocumentHandler.is()) m_rxDocumentHandler->characters(x); } while(0) #define padd(x,y,z) pList->addAttribute(x,y,z) #define Double2Str(x) OUString::valueOf((double)(x)) #define WTI(x) ((double)(x) / 1800.) // unit => inch @@ -203,7 +203,8 @@ throw(SAXException, IOException, RuntimeException) #endif } - rDocumentHandler->startDocument(); + if (m_rxDocumentHandler.is()) + m_rxDocumentHandler->startDocument(); padd(ascii("office:class"), sXML_CDATA, ascii("text")); padd(ascii("office:version"), sXML_CDATA, ascii("0.9")); @@ -236,7 +237,8 @@ throw(SAXException, IOException, RuntimeException) rendEl(ascii("office:document")); - rDocumentHandler->endDocument(); + if (m_rxDocumentHandler.is()) + m_rxDocumentHandler->endDocument(); #ifndef UDK100 return sal_True; #endif @@ -3763,7 +3765,7 @@ void HwpReader::makeFormula(TxtBox * hbox) // rchars(ascii(mybuf)); //#ifndef UDK100 Formula *form = new Formula(mybuf); - form->setDocumentHandler(rDocumentHandler); + form->setDocumentHandler(m_rxDocumentHandler); form->setAttributeListImpl(pList); form->parse(); diff --git a/hwpfilter/source/hwpreader.hxx b/hwpfilter/source/hwpreader.hxx index 90e5c30dde51..ef8d767e9ec4 100644 --- a/hwpfilter/source/hwpreader.hxx +++ b/hwpfilter/source/hwpreader.hxx @@ -139,21 +139,21 @@ public: */ virtual sal_Bool SAL_CALL filter(const Sequence< PropertyValue >& aDescriptor) throw (RuntimeException); virtual void SAL_CALL cancel() throw(RuntimeException) {} - virtual void SAL_CALL setDocumentHandler(Reference< XDocumentHandler > xHandler) + virtual void SAL_CALL setDocumentHandler(Reference< XDocumentHandler > xHandler) { - rDocumentHandler = xHandler; + m_rxDocumentHandler = xHandler; } - void setUCB( Reference< XInterface > xUCB ){ + void setUCB( Reference< XInterface > xUCB ) + { rUCB = xUCB; - } + } private: - Reference< XDocumentHandler > rDocumentHandler; - Reference< XInterface > rUCB; + Reference< XDocumentHandler > m_rxDocumentHandler; + Reference< XInterface > rUCB; Reference< XAttributeList > rList; AttributeListImpl *pList; HWPFile hwpfile; - HwpReaderPrivate *d; - + HwpReaderPrivate *d; private: /* -------- Document Parsing --------- */ void makeMeta(); -- cgit