summaryrefslogtreecommitdiff
path: root/chart2/source/model/inc/XMLFilter.hxx
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2008-03-05 16:15:20 +0000
committerKurt Zenker <kz@openoffice.org>2008-03-05 16:15:20 +0000
commit84e694881bf0578d384d36dca76a59f678279dfb (patch)
treeae4c08a0a8d67d1920221e33468dab59dd0fd418 /chart2/source/model/inc/XMLFilter.hxx
parent50269942c763d79508c9645ffd9ad4387f6731f6 (diff)
INTEGRATION: CWS rptchart01_DEV300 (1.3.76); FILE MERGED
2008/01/25 08:32:20 oj 1.3.76.1: #i85225# allow dochandler and new filter for report chart filtering
Diffstat (limited to 'chart2/source/model/inc/XMLFilter.hxx')
-rw-r--r--chart2/source/model/inc/XMLFilter.hxx70
1 files changed, 68 insertions, 2 deletions
diff --git a/chart2/source/model/inc/XMLFilter.hxx b/chart2/source/model/inc/XMLFilter.hxx
index 54db18323874..83d543535438 100644
--- a/chart2/source/model/inc/XMLFilter.hxx
+++ b/chart2/source/model/inc/XMLFilter.hxx
@@ -4,9 +4,9 @@
*
* $RCSfile: XMLFilter.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: hr $ $Date: 2007-06-26 10:06:17 $
+ * last change: $Author: kz $ $Date: 2008-03-05 17:15:20 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -126,6 +126,19 @@ protected:
throw (::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::uno::RuntimeException);
+ inline ::rtl::OUString getDocumentHandler() const { return m_sDocumentHandler; }
+ inline void setDocumentHandler(const ::rtl::OUString& _sDocumentHandler) { m_sDocumentHandler = _sDocumentHandler; }
+
+ virtual ::rtl::OUString getMediaType(bool _bOasis);
+
+ /** fills the oasis flag only when a filtername was set
+ *
+ * \param _rMediaDescriptor
+ * \param _rOutOASIS
+ */
+ virtual void isOasisFormat(const ::com::sun::star::uno::Sequence<
+ ::com::sun::star::beans::PropertyValue >& _rMediaDescriptor, bool & _rOutOASIS );
+
private:
// methods
@@ -174,11 +187,64 @@ private:
::com::sun::star::lang::XComponent > m_xTargetDoc;
::com::sun::star::uno::Reference<
::com::sun::star::lang::XComponent > m_xSourceDoc;
+ ::rtl::OUString m_sDocumentHandler; // when set it will be set as doc handler
volatile bool m_bCancelOperation;
::osl::Mutex m_aMutex;
};
+// =============================================================================
+class XMLReportFilterHelper : public XMLFilter
+{
+ virtual void isOasisFormat(const ::com::sun::star::uno::Sequence<
+ ::com::sun::star::beans::PropertyValue >& _rMediaDescriptor, bool & _rOutOASIS );
+public:
+ explicit XMLReportFilterHelper( ::com::sun::star::uno::Reference<
+ ::com::sun::star::uno::XComponentContext > const & _xContext )
+ :XMLFilter(_xContext)
+ {}
+ /// establish methods for factory instatiation
+ static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL create(
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext) throw(::com::sun::star::uno::Exception)
+ {
+ return (::cppu::OWeakObject *)new XMLReportFilterHelper( xContext );
+ }
+ static ::rtl::OUString getImplementationName_Static()
+ {
+ return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.chart2.report.XMLFilter" ));
+ }
+protected:
+ virtual ::rtl::OUString SAL_CALL
+ getImplementationName()
+ throw( ::com::sun::star::uno::RuntimeException )
+ {
+ return getImplementationName_Static();
+ }
+ // ____ XImporter ____
+ virtual void SAL_CALL setTargetDocument(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::lang::XComponent >& Document )
+ throw (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::RuntimeException)
+ {
+ setDocumentHandler(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.report.ImportDocumentHandler")));
+ XMLFilter::setTargetDocument(Document);
+ }
+
+ // ____ XExporter ____
+ virtual void SAL_CALL setSourceDocument(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::lang::XComponent >& Document )
+ throw (::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::uno::RuntimeException)
+ {
+ setDocumentHandler(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.report.ExportDocumentHandler")));
+ XMLFilter::setSourceDocument(Document);
+ }
+
+ virtual ::rtl::OUString getMediaType(bool _bOasis);
+};
+
} // namespace chart
// CHART2_XMLFILTER_HXX