summaryrefslogtreecommitdiff
path: root/hwpfilter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-08-21 16:17:26 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-08-21 16:17:26 +0100
commit5684fbce646bfd6514e7857a9e79c02a89c5346d (patch)
tree51b684abaf77a58556deb2f932bddd59f2d08a7c /hwpfilter
parent619d8ba56a80eccdbb262d6155607a3efc405334 (diff)
add hwp to fftester
Change-Id: Ibf819307905295580cb6a813f6d003a7dabc86b5
Diffstat (limited to 'hwpfilter')
-rw-r--r--hwpfilter/Library_hwp.mk1
-rw-r--r--hwpfilter/source/hwpreader.cxx21
2 files changed, 22 insertions, 0 deletions
diff --git a/hwpfilter/Library_hwp.mk b/hwpfilter/Library_hwp.mk
index 08aaf5ca3edf..e3b62848da51 100644
--- a/hwpfilter/Library_hwp.mk
+++ b/hwpfilter/Library_hwp.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_Library_use_libraries,hwp,\
cppuhelper \
sal \
utl \
+ tl \
$(gb_UWINAPI) \
))
diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index 5240584ae1bf..869818998e35 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -26,6 +26,7 @@
#include <math.h>
#include <osl/diagnose.h>
+#include <tools/stream.hxx>
#include <comphelper/newarray.hxx>
#include "fontmap.hxx"
@@ -123,6 +124,26 @@ HwpReader::~HwpReader()
delete d;
}
+extern "C" SAL_DLLPUBLIC_EXPORT bool SAL_CALL TestImportHWP(const OUString &rURL)
+{
+ SvFileStream aFileStream(rURL, StreamMode::READ);
+ std::unique_ptr<HStream> stream(new HStream);
+ byte aData[32768];
+ sal_Size nRead, nBlock = 32768;
+
+ while (true)
+ {
+ nRead = aFileStream.Read(aData, nBlock);
+ if (nRead == 0)
+ break;
+ stream->addData(aData, (int)nRead);
+ }
+
+ HWPFile hwpfile;
+ if (hwpfile.ReadHwpFile(stream.release()))
+ return false;
+ return true;
+}
sal_Bool HwpReader::filter(const Sequence< PropertyValue >& rDescriptor) throw(RuntimeException, std::exception)
{