diff options
Diffstat (limited to 'desktop/source/deployment/registry/script/dp_script.cxx')
-rw-r--r-- | desktop/source/deployment/registry/script/dp_script.cxx | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/desktop/source/deployment/registry/script/dp_script.cxx b/desktop/source/deployment/registry/script/dp_script.cxx index edeae256cbaf..dddf82e09790 100644 --- a/desktop/source/deployment/registry/script/dp_script.cxx +++ b/desktop/source/deployment/registry/script/dp_script.cxx @@ -101,13 +101,8 @@ class BackendImpl : public t_helper Reference<XCommandEnvironment> const & xCmdEnv ); void addDataToDb(OUString const & url); - void deleteDataFromDb(OUString const & url); - bool isRegisteredInDb(OUString const & url); - - - -// Reference< ucb::XSimpleFileAccess > getFileAccess( void ); -// Reference< ucb::XSimpleFileAccess > m_xSFA; + bool hasActiveEntry(OUString const & url); + void revokeEntryFromDb(OUString const & url); const Reference<deployment::XPackageTypeInfo> m_xBasicLibTypeInfo; const Reference<deployment::XPackageTypeInfo> m_xDialogLibTypeInfo; @@ -123,6 +118,10 @@ public: // XPackageRegistry virtual Sequence< Reference<deployment::XPackageTypeInfo> > SAL_CALL getSupportedPackageTypes() throw (RuntimeException); + virtual void SAL_CALL packageRemoved(OUString const & url, OUString const & mediaType) + throw (deployment::DeploymentException, + uno::RuntimeException); + }; //______________________________________________________________________________ @@ -191,18 +190,11 @@ void BackendImpl::addDataToDb(OUString const & url) m_backendDb->addEntry(url); } -bool BackendImpl::isRegisteredInDb(OUString const & url) +bool BackendImpl::hasActiveEntry(OUString const & url) { - bool registered = false; if (m_backendDb.get()) - registered = m_backendDb->getEntry(url); - return registered; -} - -void BackendImpl::deleteDataFromDb(OUString const & url) -{ - if (m_backendDb.get()) - m_backendDb->removeEntry(url); + return m_backendDb->hasActiveEntry(url); + return false; } // XUpdatable @@ -219,6 +211,19 @@ BackendImpl::getSupportedPackageTypes() throw (RuntimeException) { return m_typeInfos; } +void BackendImpl::revokeEntryFromDb(OUString const & url) +{ + if (m_backendDb.get()) + m_backendDb->revokeEntry(url); +} + +void BackendImpl::packageRemoved(OUString const & url, OUString const & /*mediaType*/) + throw (deployment::DeploymentException, + uno::RuntimeException) +{ + if (m_backendDb.get()) + m_backendDb->removeEntry(url); +} // PackageRegistryBackend //______________________________________________________________________________ @@ -321,7 +326,7 @@ BackendImpl::PackageImpl::isRegistered_( BackendImpl * that = getMyBackend(); Reference< deployment::XPackage > xThisPackage( this ); - bool registered = that->isRegisteredInDb(getURL()); + bool registered = that->hasActiveEntry(getURL()); return beans::Optional< beans::Ambiguous<sal_Bool> >( true /* IsPresent */, beans::Ambiguous<sal_Bool>( registered, false /* IsAmbiguous */ ) ); @@ -367,7 +372,7 @@ void BackendImpl::PackageImpl::processPackage_( xComponentContext ), UNO_QUERY_THROW ); } } - bool bRegistered = getMyBackend()->isRegisteredInDb(getURL()); + bool bRegistered = getMyBackend()->hasActiveEntry(getURL()); if( !doRegisterPackage ) { //We cannot just call removeLibrary(name) because this could remove a @@ -399,7 +404,7 @@ void BackendImpl::PackageImpl::processPackage_( xDialogLibs->removeLibrary(m_dialogName); } } - getMyBackend()->deleteDataFromDb(getURL()); + getMyBackend()->revokeEntryFromDb(getURL()); return; } } |