diff options
Diffstat (limited to 'embeddedobj/source/commonembedding')
-rw-r--r-- | embeddedobj/source/commonembedding/miscobj.cxx | 8 | ||||
-rw-r--r-- | embeddedobj/source/commonembedding/persistence.cxx | 9 |
2 files changed, 16 insertions, 1 deletions
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx index e88092981388..de1bee71c8a7 100644 --- a/embeddedobj/source/commonembedding/miscobj.cxx +++ b/embeddedobj/source/commonembedding/miscobj.cxx @@ -360,6 +360,11 @@ uno::Any SAL_CALL OCommonEmbeddedObject::queryInterface( const uno::Type& rType void * p = static_cast< embed::XEmbeddedObject * >( this ); return uno::Any( &p, rType ); } + else if (rType == cppu::UnoType<embed::XEmbedPersist2>::get()) + { + void* p = static_cast<embed::XEmbedPersist2*>(this); + return uno::Any(&p, rType); + } else aReturn <<= ::cppu::queryInterface( rType, @@ -428,7 +433,8 @@ uno::Sequence< uno::Type > SAL_CALL OCommonEmbeddedObject::getTypes() cppu::UnoType<embed::XInplaceObject>::get(), cppu::UnoType<embed::XCommonEmbedPersist>::get(), cppu::UnoType<container::XChild>::get(), - cppu::UnoType<embed::XEmbedPersist>::get()); + cppu::UnoType<embed::XEmbedPersist>::get(), + cppu::UnoType<embed::XEmbedPersist2>::get()); pTypeCollection = &aTypeCollection ; } diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx index 5ef9253276b3..260cce01c40a 100644 --- a/embeddedobj/source/commonembedding/persistence.cxx +++ b/embeddedobj/source/commonembedding/persistence.cxx @@ -1790,6 +1790,15 @@ void SAL_CALL OCommonEmbeddedObject::reload( } } +sal_Bool SAL_CALL OCommonEmbeddedObject::isStored() throw (css::uno::RuntimeException, std::exception) +{ + uno::Reference<container::XNameAccess> xNA(m_xObjectStorage, uno::UNO_QUERY); + if (!xNA.is()) + return false; + + return xNA->getElementNames().getLength() > 0; +} + void SAL_CALL OCommonEmbeddedObject::breakLink( const uno::Reference< embed::XStorage >& xStorage, const OUString& sEntName ) |