summaryrefslogtreecommitdiff
path: root/sfx2/inc/frmload.hxx
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2009-11-25 09:33:27 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2009-11-25 09:33:27 +0100
commit4f36183eb9be25a723afee4b4e2b4555591ee903 (patch)
tree6868399ae97a3aa29793ee3ac97fac4ec1099072 /sfx2/inc/frmload.hxx
parent49e67cf6135582501b38e483765bb213068c46f4 (diff)
broke down ::load into smaller pieces
Diffstat (limited to 'sfx2/inc/frmload.hxx')
-rw-r--r--sfx2/inc/frmload.hxx45
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