diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2009-11-25 09:33:27 +0100 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2009-11-25 09:33:27 +0100 |
commit | 4f36183eb9be25a723afee4b4e2b4555591ee903 (patch) | |
tree | 6868399ae97a3aa29793ee3ac97fac4ec1099072 /sfx2/inc/frmload.hxx | |
parent | 49e67cf6135582501b38e483765bb213068c46f4 (diff) |
broke down ::load into smaller pieces
Diffstat (limited to 'sfx2/inc/frmload.hxx')
-rw-r--r-- | sfx2/inc/frmload.hxx | 45 |
1 files changed, 39 insertions, 6 deletions
diff --git a/sfx2/inc/frmload.hxx b/sfx2/inc/frmload.hxx index 5053f6a2a8f8..4d6207bcb22f 100644 --- a/sfx2/inc/frmload.hxx +++ b/sfx2/inc/frmload.hxx @@ -52,6 +52,7 @@ #include <tools/link.hxx> #include <tools/string.hxx> #include <comphelper/componentcontext.hxx> +#include <comphelper/namedvaluecollection.hxx> class SfxFilter; class SfxFilterMatcher; @@ -59,13 +60,14 @@ class SfxFrame; #include <sfx2/sfxuno.hxx> +class SfxFrameWeak; + class SfxFrameLoader_Impl : public ::cppu::WeakImplHelper2< ::com::sun::star::frame::XSynchronousFrameLoader, ::com::sun::star::lang::XServiceInfo > { ::comphelper::ComponentContext m_aContext; public: SfxFrameLoader_Impl( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory ); - virtual ~SfxFrameLoader_Impl(); SFX_DECL_XSERVICEINFO @@ -75,6 +77,9 @@ public: virtual sal_Bool SAL_CALL load( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArgs, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame ) throw( ::com::sun::star::uno::RuntimeException ); virtual void SAL_CALL cancel() throw( ::com::sun::star::uno::RuntimeException ); +protected: + virtual ~SfxFrameLoader_Impl(); + private: const SfxFilter* impl_getFilterFromServiceName_nothrow( const ::rtl::OUString& _rServiceName ) const; ::rtl::OUString impl_askForFilter_nothrow( @@ -84,22 +89,50 @@ private: const SfxFilter* impl_detectFilterForURL( const ::rtl::OUString& _rURL, - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArgs, + const ::comphelper::NamedValueCollection& i_rDescriptor, const SfxFilterMatcher& rMatcher ) const; sal_Bool impl_createNewDocWithSlotParam( - const sal_uInt16 _nSlotID, - SfxFrame* _pFrame + const USHORT _nSlotID, + SfxFrame& i_rFrame ); sal_Bool impl_createNewDoc( - const SfxItemSet& _rSet, - SfxFrame* _pFrame, + const ::comphelper::NamedValueCollection& i_rDescriptor, + SfxFrame& i_rFrame, const ::rtl::OUString& _rFactoryURL ); void impl_ensureValidFrame_throw( const SfxFrame* _pFrame ); + + const SfxFilter* impl_determineFilter( + ::comphelper::NamedValueCollection& io_rDescriptor, + const SfxFilterMatcher& rMatcher + ); + + SfxAllItemSet impl_getInitialItemSet( + const ::comphelper::NamedValueCollection& i_rDescriptor + ) const; + + sal_Bool impl_loadExistingDocument( + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& i_rxDocument, + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rxTargetFrame, + const ::comphelper::NamedValueCollection& i_rDescriptor + ); + + sal_Bool impl_cleanUp( + const sal_Bool i_bSuccess, + const SfxFrameWeak& i_wFrame + ); + + const SfxFilter* impl_determineTemplateDocument( + ::comphelper::NamedValueCollection& io_rDescriptor + ) const; + + USHORT impl_findSlotParam( + ::rtl::OUString& io_rFactoryURL + ); }; #endif |