diff options
author | Kurt Zenker <kz@openoffice.org> | 2008-03-05 16:15:20 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2008-03-05 16:15:20 +0000 |
commit | 84e694881bf0578d384d36dca76a59f678279dfb (patch) | |
tree | ae4c08a0a8d67d1920221e33468dab59dd0fd418 /chart2/source/model/inc/XMLFilter.hxx | |
parent | 50269942c763d79508c9645ffd9ad4387f6731f6 (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.hxx | 70 |
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 |