summaryrefslogtreecommitdiffstats
path: root/embeddedobj/source/inc
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-01-15 15:21:15 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-01-15 15:21:15 +0100
commitd0e9f1f751ecd16597d6a06276a40dfb4ae00fb8 (patch)
tree67acb33cb958124d37545354dd3c78074e6da9b0 /embeddedobj/source/inc
parentautorecovery: save open/modified (Writer-based) reports and forms, when doing... (diff)
downloadcore-d0e9f1f751ecd16597d6a06276a40dfb4ae00fb8.tar.gz
core-d0e9f1f751ecd16597d6a06276a40dfb4ae00fb8.zip
autorecovery: save/recover forms and reports
Still some lose ends. Most notably, the current code contains cases for other sub component types, but has no real implementation - attempting to save/recover those other types will yield multiple assertions only. Also, recovery of SRB-reports has not been tested, yet, chances are good there's some work ahead here. Other known open issues: - recovering sub components immediately shows them, instead of initially hiding them, and showing only when the main document window is shown - the implementation currently is no real session save, which would require saving information about *unmodified* open sub components (though not their actual content), and restoring them upon recovery. - doing an implicit "connect" at the controller of the to-be-recovered database document is a requirement to actually load the sub components, but might yield problems in case this requires interaction (e.g. a login). Need to investigate - the "recovery" storage is not removed from the database document storage after un/successful recovery - cancelling the recovery of a "modified" database document always suggests to store this doc somewhere
Diffstat (limited to 'embeddedobj/source/inc')
-rw-r--r--embeddedobj/source/inc/commonembobj.hxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/embeddedobj/source/inc/commonembobj.hxx b/embeddedobj/source/inc/commonembobj.hxx
index 68c00500ff58..69cdb3d4c7a3 100644
--- a/embeddedobj/source/inc/commonembobj.hxx
+++ b/embeddedobj/source/inc/commonembobj.hxx
@@ -35,6 +35,7 @@
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/container/XChild.hpp>
+#include <com/sun/star/document/XStorageBasedDocument.hpp>
#include <com/sun/star/embed/XEmbeddedObject.hpp>
#include <com/sun/star/embed/XVisualObject.hpp>
#include <com/sun/star/embed/XEmbedPersist.hpp>
@@ -150,6 +151,7 @@ protected:
::rtl::OUString m_aEntryName;
::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xParentStorage;
::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xObjectStorage;
+ ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xObjectLoadStorage;
// link related stuff
::rtl::OUString m_aLinkURL;
@@ -200,8 +202,7 @@ private:
::com::sun::star::uno::Sequence< sal_Int32 > GetIntermediateStatesSequence_Impl( sal_Int32 nNewState );
::rtl::OUString GetFilterName( sal_Int32 nVersion );
- ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadDocumentFromStorage_Impl(
- const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadDocumentFromStorage_Impl();
::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadLink_Impl();
@@ -213,6 +214,10 @@ private:
const ::rtl::OUString& aHierarchName,
sal_Bool bAttachToStorage );
+ void SwitchDocToStorage_Impl(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageBasedDocument >& xDoc,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
+
::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > CreateDocFromMediaDescr_Impl(
const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMedDescr );