diff options
Diffstat (limited to 'xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx')
-rw-r--r-- | xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx b/xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx deleted file mode 100644 index f5dcfe38f..000000000 --- a/xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx +++ /dev/null @@ -1,203 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_xmlsecurity.hxx" -#include <sal/config.h> -#include <rtl/uuid.h> -#include "securityenvironment_nssimpl.hxx" - -#include "xmlsecuritycontext_nssimpl.hxx" -#include "xmlstreamio.hxx" - -#include <sal/types.h> -//For reasons that escape me, this is what xmlsec does when size_t is not 4 -#if SAL_TYPES_SIZEOFPOINTER != 4 -# define XMLSEC_NO_SIZE_T -#endif -#include "xmlsec/xmlsec.h" -#include "xmlsec/keysmngr.h" -#include "xmlsec/crypto.h" - -using namespace ::com::sun::star::uno ; -using namespace ::com::sun::star::lang ; -using ::com::sun::star::lang::XMultiServiceFactory ; -using ::com::sun::star::lang::XSingleServiceFactory ; -using ::rtl::OUString ; - -using ::com::sun::star::xml::crypto::XSecurityEnvironment ; -using ::com::sun::star::xml::crypto::XXMLSecurityContext ; - -XMLSecurityContext_NssImpl :: XMLSecurityContext_NssImpl( const Reference< XMultiServiceFactory >& aFactory ) - ://i39448 : m_pKeysMngr( NULL ) , - m_xServiceManager( aFactory ) , - m_nDefaultEnvIndex(-1) - //m_xSecurityEnvironment( NULL ) -{ - //Init xmlsec library - if( xmlSecInit() < 0 ) { - throw RuntimeException() ; - } - - //Init xmlsec crypto engine library - if( xmlSecCryptoInit() < 0 ) { - xmlSecShutdown() ; - throw RuntimeException() ; - } - - //Enable external stream handlers - if( xmlEnableStreamInputCallbacks() < 0 ) { - xmlSecCryptoShutdown() ; - xmlSecShutdown() ; - throw RuntimeException() ; - } -} - -XMLSecurityContext_NssImpl :: ~XMLSecurityContext_NssImpl() { - //i39448 - - xmlDisableStreamInputCallbacks() ; - xmlSecCryptoShutdown() ; - xmlSecShutdown() ; -} - -//i39448 : new methods -sal_Int32 SAL_CALL XMLSecurityContext_NssImpl::addSecurityEnvironment( - const ::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment >& aSecurityEnvironment) - throw (::com::sun::star::security::SecurityInfrastructureException, ::com::sun::star::uno::RuntimeException) -{ - if( !aSecurityEnvironment.is() ) - { - throw RuntimeException() ; - } - - m_vSecurityEnvironments.push_back( aSecurityEnvironment ); - - return m_vSecurityEnvironments.size() - 1 ; -} - - -sal_Int32 SAL_CALL XMLSecurityContext_NssImpl::getSecurityEnvironmentNumber( ) - throw (::com::sun::star::uno::RuntimeException) -{ - return m_vSecurityEnvironments.size(); -} - -::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > SAL_CALL - XMLSecurityContext_NssImpl::getSecurityEnvironmentByIndex( sal_Int32 index ) - throw (::com::sun::star::uno::RuntimeException) -{ - ::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > xSecurityEnvironment; - - if (index >= 0 && index < ( sal_Int32 )m_vSecurityEnvironments.size()) - { - xSecurityEnvironment = m_vSecurityEnvironments[index]; - } - else - throw RuntimeException() ; - - return xSecurityEnvironment; -} - -::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > SAL_CALL - XMLSecurityContext_NssImpl::getSecurityEnvironment( ) - throw (::com::sun::star::uno::RuntimeException) -{ - if (m_nDefaultEnvIndex >= 0 && m_nDefaultEnvIndex < ( sal_Int32 )m_vSecurityEnvironments.size()) - return getSecurityEnvironmentByIndex(m_nDefaultEnvIndex); - else - throw RuntimeException() ; -} - -sal_Int32 SAL_CALL XMLSecurityContext_NssImpl::getDefaultSecurityEnvironmentIndex( ) - throw (::com::sun::star::uno::RuntimeException) -{ - return m_nDefaultEnvIndex ; -} - -void SAL_CALL XMLSecurityContext_NssImpl::setDefaultSecurityEnvironmentIndex( sal_Int32 nDefaultEnvIndex ) - throw (::com::sun::star::uno::RuntimeException) -{ - m_nDefaultEnvIndex = nDefaultEnvIndex; -} - -//i39448 : old methods deleted - - -/* XInitialization */ -void SAL_CALL XMLSecurityContext_NssImpl :: initialize( const Sequence< Any >& /*aArguments*/ ) throw( Exception, RuntimeException ) { - // TBD -} ; - -/* XServiceInfo */ -OUString SAL_CALL XMLSecurityContext_NssImpl :: getImplementationName() throw( RuntimeException ) { - return impl_getImplementationName() ; -} - -/* XServiceInfo */ -sal_Bool SAL_CALL XMLSecurityContext_NssImpl :: supportsService( const OUString& serviceName) throw( RuntimeException ) { - Sequence< OUString > seqServiceNames = getSupportedServiceNames() ; - const OUString* pArray = seqServiceNames.getConstArray() ; - for( sal_Int32 i = 0 ; i < seqServiceNames.getLength() ; i ++ ) { - if( *( pArray + i ) == serviceName ) - return sal_True ; - } - return sal_False ; -} - -/* XServiceInfo */ -Sequence< OUString > SAL_CALL XMLSecurityContext_NssImpl :: getSupportedServiceNames() throw( RuntimeException ) { - return impl_getSupportedServiceNames() ; -} - -//Helper for XServiceInfo -Sequence< OUString > XMLSecurityContext_NssImpl :: impl_getSupportedServiceNames() { - ::osl::Guard< ::osl::Mutex > aGuard( ::osl::Mutex::getGlobalMutex() ) ; - Sequence< OUString > seqServiceNames( 1 ) ; - seqServiceNames.getArray()[0] = OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.xml.crypto.XMLSecurityContext")) ; - return seqServiceNames ; -} - -OUString XMLSecurityContext_NssImpl :: impl_getImplementationName() throw( RuntimeException ) { - return OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.xml.security.bridge.xmlsec.XMLSecurityContext_NssImpl")) ; -} - -//Helper for registry -Reference< XInterface > SAL_CALL XMLSecurityContext_NssImpl :: impl_createInstance( const Reference< XMultiServiceFactory >& aServiceManager ) throw( RuntimeException ) { - return Reference< XInterface >( *new XMLSecurityContext_NssImpl( aServiceManager ) ) ; -} - -Reference< XSingleServiceFactory > XMLSecurityContext_NssImpl :: impl_createFactory( const Reference< XMultiServiceFactory >& aServiceManager ) { - //Reference< XSingleServiceFactory > xFactory ; - //xFactory = ::cppu::createSingleFactory( aServiceManager , impl_getImplementationName , impl_createInstance , impl_getSupportedServiceNames ) ; - //return xFactory ; - return ::cppu::createSingleFactory( aServiceManager , impl_getImplementationName() , impl_createInstance , impl_getSupportedServiceNames() ) ; -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |