summaryrefslogtreecommitdiff
path: root/oox/inc/oox/dump/dumperbase.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'oox/inc/oox/dump/dumperbase.hxx')
-rw-r--r--oox/inc/oox/dump/dumperbase.hxx135
1 files changed, 81 insertions, 54 deletions
diff --git a/oox/inc/oox/dump/dumperbase.hxx b/oox/inc/oox/dump/dumperbase.hxx
index d9acaa1f1011..4b10a1b25324 100644
--- a/oox/inc/oox/dump/dumperbase.hxx
+++ b/oox/inc/oox/dump/dumperbase.hxx
@@ -49,10 +49,9 @@
namespace com { namespace sun { namespace star {
namespace io { class XInputStream; }
- namespace io { class XTextInputStream; }
namespace io { class XOutputStream; }
namespace io { class XTextOutputStream; }
- namespace lang { class XMultiServiceFactory; }
+ namespace uno { class XComponentContext; }
} } }
namespace comphelper {
@@ -124,43 +123,46 @@ public:
// input streams ----------------------------------------------------------
static ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >
- getXInputStream( BinaryInputStream& rStrm );
-
- static ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >
openInputStream(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const ::rtl::OUString& rFileName );
- static ::com::sun::star::uno::Reference< ::com::sun::star::io::XTextInputStream >
- openTextInputStream(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
- const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rxInStrm,
- const ::rtl::OUString& rEncoding );
-
- static ::com::sun::star::uno::Reference< ::com::sun::star::io::XTextInputStream >
- openTextInputStream(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
- const ::rtl::OUString& rFileName,
- const ::rtl::OUString& rEncoding );
-
// output streams ---------------------------------------------------------
static ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >
openOutputStream(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const ::rtl::OUString& rFileName );
static ::com::sun::star::uno::Reference< ::com::sun::star::io::XTextOutputStream >
openTextOutputStream(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& rxOutStrm,
- const ::rtl::OUString& rEncoding );
+ rtl_TextEncoding eTextEnc );
static ::com::sun::star::uno::Reference< ::com::sun::star::io::XTextOutputStream >
openTextOutputStream(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const ::rtl::OUString& rFileName,
- const ::rtl::OUString& rEncoding );
+ rtl_TextEncoding eTextEnc );
+};
+
+// ============================================================================
+
+class BinaryInputStreamRef : public ::oox::BinaryInputStreamRef
+{
+public:
+ inline BinaryInputStreamRef() {}
+
+ inline /*implicit*/ BinaryInputStreamRef( BinaryInputStream* pInStrm ) :
+ ::oox::BinaryInputStreamRef( pInStrm ) {}
+
+ inline /*implicit*/ BinaryInputStreamRef( const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rxInStrm ) :
+ ::oox::BinaryInputStreamRef( new BinaryXInputStream( rxInStrm, true ) ) {}
+
+ template< typename StreamType >
+ inline /*implicit*/ BinaryInputStreamRef( const ::boost::shared_ptr< StreamType >& rxInStrm ) :
+ ::oox::BinaryInputStreamRef( rxInStrm ) {}
};
// ============================================================================
@@ -550,7 +552,9 @@ typedef ::boost::shared_ptr< Base > BaseRef;
| |
| +----> BinaryStreamObject
| |
- | +----> TextStreamObject
+ | +----> TextStreamObjectBase
+ | | |
+ | | +----> TextStreamObject
| | |
| | +----> XmlStreamObject
| |
@@ -890,14 +894,14 @@ class SharedConfigData : public Base, public ConfigItemBase
public:
explicit SharedConfigData(
const ::rtl::OUString& rFileName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const StorageRef& rxRootStrg,
const ::rtl::OUString& rSysFileName,
::comphelper::MediaDescriptor& rMediaDesc );
virtual ~SharedConfigData();
- inline const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& getFactory() const { return mxFactory; }
+ inline const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& getContext() const { return mxContext; }
inline const StorageRef& getRootStorage() const { return mxRootStrg; }
inline const ::rtl::OUString& getSysFileName() const { return maSysFileName; }
@@ -932,7 +936,7 @@ private:
typedef ::std::map< ::rtl::OUString, ::rtl::OUString > ConfigDataMap;
typedef ::std::map< ::rtl::OUString, NameListRef > NameListMap;
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxFactory;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxContext;
StorageRef mxRootStrg;
::rtl::OUString maSysFileName;
::comphelper::MediaDescriptor& mrMediaDesc;
@@ -977,14 +981,14 @@ public:
const ::oox::core::FilterBase& rFilter );
explicit Config(
const sal_Char* pcEnvVar,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const StorageRef& rxRootStrg,
const ::rtl::OUString& rSysFileName,
::comphelper::MediaDescriptor& rMediaDesc );
virtual ~Config();
- inline const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& getFactory() const { return mxCfgData->getFactory(); }
+ inline const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& getContext() const { return mxCfgData->getContext(); }
inline const StorageRef& getRootStorage() const { return mxCfgData->getRootStorage(); }
inline const ::rtl::OUString& getSysFileName() const { return mxCfgData->getSysFileName(); }
@@ -1022,7 +1026,7 @@ protected:
const ::oox::core::FilterBase& rFilter );
void construct(
const sal_Char* pcEnvVar,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const StorageRef& rxRootStrg,
const ::rtl::OUString& rSysFileName,
::comphelper::MediaDescriptor& rMediaDesc );
@@ -1076,10 +1080,7 @@ class Output : public Base
{
public:
explicit Output(
- const ::com::sun::star::uno::Reference< ::com::sun::star::io::XTextOutputStream >& rxStrm );
-
- explicit Output(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const ::rtl::OUString& rFileName );
// ------------------------------------------------------------------------
@@ -1152,8 +1153,6 @@ public:
// ------------------------------------------------------------------------
protected:
- void construct( const ::com::sun::star::uno::Reference< ::com::sun::star::io::XTextOutputStream >& rxStrm );
-
virtual bool implIsValid() const;
private:
@@ -1279,8 +1278,8 @@ class ObjectBase : public Base
public:
virtual ~ObjectBase();
- inline const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&
- getFactory() const { return mxConfig->getFactory(); }
+ inline const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&
+ getContext() const { return mxConfig->getContext(); }
void dump();
@@ -1323,7 +1322,7 @@ protected:
virtual void implDump();
virtual void implDumpStream(
- const BinaryInputStreamRef& rxStrm,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rxStrm,
const ::rtl::OUString& rStrgPath,
const ::rtl::OUString& rStrmName,
const ::rtl::OUString& rSysFileName );
@@ -1394,7 +1393,6 @@ protected:
using ObjectBase::construct;
void construct( const ObjectBase& rParent, const ::rtl::OUString& rSysFileName );
- void construct( const ObjectBase& rParent, const OutputRef& rxOut );
void construct( const OutputObjectBase& rParent );
virtual bool implIsValid() const;
@@ -1453,6 +1451,7 @@ protected:
protected:
OutputRef mxOut;
+ ::rtl::OUString maSysFileName;
};
typedef ::boost::shared_ptr< OutputObjectBase > OutputObjectRef;
@@ -1578,7 +1577,6 @@ protected:
using OutputObjectBase::construct;
void construct( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const ::rtl::OUString& rSysFileName );
- void construct( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OutputRef& rxOut );
void construct( const OutputObjectBase& rParent, const BinaryInputStreamRef& rxStrm );
void construct( const InputObjectBase& rParent );
@@ -1805,46 +1803,76 @@ protected:
};
// ============================================================================
+// ============================================================================
-class TextStreamObject : public InputObjectBase
+class TextStreamObjectBase : public InputObjectBase
{
-public:
- explicit TextStreamObject(
+protected:
+ inline TextStreamObjectBase() {}
+
+ using InputObjectBase::construct;
+ void construct(
const ObjectBase& rParent,
const BinaryInputStreamRef& rxStrm,
rtl_TextEncoding eTextEnc,
const ::rtl::OUString& rSysFileName );
-
- explicit TextStreamObject(
+ void construct(
const OutputObjectBase& rParent,
const BinaryInputStreamRef& rxStrm,
rtl_TextEncoding eTextEnc );
+ void construct(
+ const InputObjectBase& rParent,
+ rtl_TextEncoding eTextEnc );
-protected:
virtual bool implIsValid() const;
virtual void implDump();
- virtual void implDumpLine( const ::rtl::OUString& rLine, sal_uInt32 nLine );
+
+ virtual void implDumpText( TextInputStream& rTextStrm ) = 0;
private:
+ void constructTextStrmObj( rtl_TextEncoding eTextEnc );
+
+protected:
::boost::shared_ptr< TextInputStream > mxTextStrm;
};
// ============================================================================
-class XmlStreamObject : public TextStreamObject
+class TextLineStreamObject : public TextStreamObjectBase
{
public:
- explicit XmlStreamObject(
+ explicit TextLineStreamObject(
const ObjectBase& rParent,
const BinaryInputStreamRef& rxStrm,
+ rtl_TextEncoding eTextEnc,
const ::rtl::OUString& rSysFileName );
+ explicit TextLineStreamObject(
+ const OutputObjectBase& rParent,
+ const BinaryInputStreamRef& rxStrm,
+ rtl_TextEncoding eTextEnc );
+
protected:
- virtual void implDump();
+ virtual void implDumpText( TextInputStream& rTextStrm );
virtual void implDumpLine( const ::rtl::OUString& rLine, sal_uInt32 nLine );
+};
-private:
- ::rtl::OUString maIncompleteLine;
+// ============================================================================
+
+class XmlStreamObject : public TextStreamObjectBase
+{
+public:
+ explicit XmlStreamObject(
+ const ObjectBase& rParent,
+ const BinaryInputStreamRef& rxStrm,
+ const ::rtl::OUString& rSysFileName );
+
+ explicit XmlStreamObject(
+ const OutputObjectBase& rParent,
+ const BinaryInputStreamRef& rxStrm );
+
+protected:
+ virtual void implDumpText( TextInputStream& rTextStrm );
};
// ============================================================================
@@ -1976,4 +2004,3 @@ do { \
#endif // OOX_INCLUDE_DUMPER
#endif
-