Kaydet (Commit) 04bfd8bf authored tarafından Miklos Vajna's avatar Miklos Vajna

xmlsecurity nss: create SecurityEnvironment instances with a constructor

Change-Id: If4b18747292dd265d789b70078979361bd044fde
Reviewed-on: https://gerrit.libreoffice.org/52039Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
Tested-by: 's avatarJenkins <ci@libreoffice.org>
üst 6a6380b7
...@@ -106,7 +106,6 @@ char* GetPasswordFunction( PK11SlotInfo* pSlot, PRBool bRetry, void* /*arg*/ ) ...@@ -106,7 +106,6 @@ char* GetPasswordFunction( PK11SlotInfo* pSlot, PRBool bRetry, void* /*arg*/ )
SecurityEnvironment_NssImpl::SecurityEnvironment_NssImpl() : SecurityEnvironment_NssImpl::SecurityEnvironment_NssImpl() :
m_pHandler( nullptr ) , m_tSymKeyList() , m_tPubKeyList() , m_tPriKeyList() { m_pHandler( nullptr ) , m_tSymKeyList() , m_tPubKeyList() , m_tPriKeyList() {
PK11_SetPasswordFunc( GetPasswordFunction ) ; PK11_SetPasswordFunc( GetPasswordFunction ) ;
} }
...@@ -143,7 +142,7 @@ SecurityEnvironment_NssImpl::~SecurityEnvironment_NssImpl() { ...@@ -143,7 +142,7 @@ SecurityEnvironment_NssImpl::~SecurityEnvironment_NssImpl() {
/* XServiceInfo */ /* XServiceInfo */
OUString SAL_CALL SecurityEnvironment_NssImpl::getImplementationName() { OUString SAL_CALL SecurityEnvironment_NssImpl::getImplementationName() {
return impl_getImplementationName() ; return OUString("com.sun.star.xml.crypto.SecurityEnvironment");
} }
/* XServiceInfo */ /* XServiceInfo */
...@@ -159,27 +158,8 @@ sal_Bool SAL_CALL SecurityEnvironment_NssImpl::supportsService( const OUString& ...@@ -159,27 +158,8 @@ sal_Bool SAL_CALL SecurityEnvironment_NssImpl::supportsService( const OUString&
/* XServiceInfo */ /* XServiceInfo */
Sequence< OUString > SAL_CALL SecurityEnvironment_NssImpl::getSupportedServiceNames() { Sequence< OUString > SAL_CALL SecurityEnvironment_NssImpl::getSupportedServiceNames() {
return impl_getSupportedServiceNames() ; Sequence<OUString> seqServiceNames{ "com.sun.star.xml.crypto.SecurityEnvironment" };
} return seqServiceNames;
//Helper for XServiceInfo
Sequence< OUString > SecurityEnvironment_NssImpl::impl_getSupportedServiceNames() {
::osl::Guard< ::osl::Mutex > aGuard( ::osl::Mutex::getGlobalMutex() ) ;
Sequence<OUString> seqServiceNames { "com.sun.star.xml.crypto.SecurityEnvironment" };
return seqServiceNames ;
}
OUString SecurityEnvironment_NssImpl::impl_getImplementationName() {
return OUString("com.sun.star.xml.security.bridge.xmlsec.SecurityEnvironment_NssImpl") ;
}
//Helper for registry
Reference< XInterface > SAL_CALL SecurityEnvironment_NssImpl::impl_createInstance( const Reference< XMultiServiceFactory >& ) {
return Reference< XInterface >( *new SecurityEnvironment_NssImpl ) ;
}
Reference< XSingleServiceFactory > SecurityEnvironment_NssImpl::impl_createFactory( const Reference< XMultiServiceFactory >& aServiceManager ) {
return ::cppu::createSingleFactory( aServiceManager , impl_getImplementationName() , impl_createInstance , impl_getSupportedServiceNames() ) ;
} }
/* XUnoTunnel */ /* XUnoTunnel */
...@@ -961,4 +941,11 @@ void SecurityEnvironment_NssImpl::destroyKeysManager(xmlSecKeysMngrPtr pKeysMngr ...@@ -961,4 +941,11 @@ void SecurityEnvironment_NssImpl::destroyKeysManager(xmlSecKeysMngrPtr pKeysMngr
} }
} }
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
com_sun_star_xml_crypto_SecurityEnvironment_get_implementation(
uno::XComponentContext* /*pCtx*/, uno::Sequence<uno::Any> const& /*rSeq*/)
{
return cppu::acquire(new SecurityEnvironment_NssImpl);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -79,18 +79,6 @@ private: ...@@ -79,18 +79,6 @@ private:
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override ; virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override ;
//Helper for XServiceInfo
static css::uno::Sequence< OUString > impl_getSupportedServiceNames() ;
/// @throws css::uno::RuntimeException
static OUString impl_getImplementationName() ;
//Helper for registry
/// @throws css::uno::RuntimeException
static css::uno::Reference< css::uno::XInterface > SAL_CALL impl_createInstance( const css::uno::Reference< css::lang::XMultiServiceFactory >& aServiceManager ) ;
static css::uno::Reference< css::lang::XSingleServiceFactory > impl_createFactory( const css::uno::Reference< css::lang::XMultiServiceFactory >& aServiceManager ) ;
virtual ::sal_Int32 SAL_CALL verifyCertificate( virtual ::sal_Int32 SAL_CALL verifyCertificate(
const css::uno::Reference< const css::uno::Reference<
css::security::XCertificate >& xCert, css::security::XCertificate >& xCert,
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include "seinitializer_nssimpl.hxx" #include "seinitializer_nssimpl.hxx"
#include <xsec_xmlsec.hxx> #include <xsec_xmlsec.hxx>
#include "securityenvironment_nssimpl.hxx"
using namespace ::cppu; using namespace ::cppu;
using namespace ::com::sun::star::uno; using namespace ::com::sun::star::uno;
...@@ -51,10 +50,6 @@ void* nss_component_getFactory( const sal_Char* pImplName , void* pServiceManage ...@@ -51,10 +50,6 @@ void* nss_component_getFactory( const sal_Char* pImplName , void* pServiceManage
OUString::createFromAscii( pImplName ), OUString::createFromAscii( pImplName ),
SEInitializer_NssImpl_createInstance, SEInitializer_NssImpl_getSupportedServiceNames() ) ); SEInitializer_NssImpl_createInstance, SEInitializer_NssImpl_getSupportedServiceNames() ) );
} }
else if( SecurityEnvironment_NssImpl::impl_getImplementationName().equalsAscii( pImplName ) )
{
xFactory = SecurityEnvironment_NssImpl::impl_createFactory( static_cast< XMultiServiceFactory* >( pServiceManager ) ) ;
}
#else #else
if( ONSSInitializer_getImplementationName().equalsAscii( pImplName ) ) if( ONSSInitializer_getImplementationName().equalsAscii( pImplName ) )
{ {
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
<implementation name="com.sun.star.xml.security.SEInitializer_Gpg"> <implementation name="com.sun.star.xml.security.SEInitializer_Gpg">
<service name="com.sun.star.xml.crypto.GPGSEInitializer"/> <service name="com.sun.star.xml.crypto.GPGSEInitializer"/>
</implementation> </implementation>
<implementation name="com.sun.star.xml.security.bridge.xmlsec.SecurityEnvironment_NssImpl"> <implementation name="com.sun.star.xml.crypto.SecurityEnvironment"
constructor="com_sun_star_xml_crypto_SecurityEnvironment_get_implementation">
<service name="com.sun.star.xml.crypto.SecurityEnvironment"/> <service name="com.sun.star.xml.crypto.SecurityEnvironment"/>
</implementation> </implementation>
<implementation name="com.sun.star.xml.wrapper.XMLDocumentWrapper" <implementation name="com.sun.star.xml.wrapper.XMLDocumentWrapper"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment