diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2017-06-16 15:24:06 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2017-06-21 22:16:55 +0200 |
commit | 9b8197ab0de4a264c139546f420c913535d28dcf (patch) | |
tree | 5aa242e33a33e01ec8e174333d77687e1be85ab6 /xmlsecurity/source/gpg | |
parent | 0e226d4c193824d79f71d6918038de48afffaf26 (diff) |
gpg4libre: Make signature dialog work with two signing services
Change-Id: I0b47e6dba38222bb6b4f778c4206d3b37bc93089
Diffstat (limited to 'xmlsecurity/source/gpg')
-rw-r--r-- | xmlsecurity/source/gpg/XMLSecurityContext.cxx | 17 | ||||
-rw-r--r-- | xmlsecurity/source/gpg/XMLSecurityContext.hxx | 10 | ||||
-rw-r--r-- | xmlsecurity/source/gpg/xmlsignature_gpgimpl.cxx | 2 | ||||
-rw-r--r-- | xmlsecurity/source/gpg/xmlsignature_gpgimpl.hxx | 83 |
4 files changed, 27 insertions, 85 deletions
diff --git a/xmlsecurity/source/gpg/XMLSecurityContext.cxx b/xmlsecurity/source/gpg/XMLSecurityContext.cxx index 25621653e721..85888819ea4c 100644 --- a/xmlsecurity/source/gpg/XMLSecurityContext.cxx +++ b/xmlsecurity/source/gpg/XMLSecurityContext.cxx @@ -10,6 +10,8 @@ #include "XMLSecurityContext.hxx" #include "SecurityEnvironment.hxx" +#include <cppuhelper/supportsservice.hxx> + #include "xmlsec/xmlstreamio.hxx" #include "xmlsec-wrapper.h" @@ -90,4 +92,19 @@ void SAL_CALL XMLSecurityContextGpg::setDefaultSecurityEnvironmentIndex(sal_Int3 m_nDefaultEnvIndex = nDefaultEnvIndex; } +/* XServiceInfo */ +OUString SAL_CALL XMLSecurityContextGpg::getImplementationName() { + return "com.sun.star.xml.security.gpg.XMLSecurityContext_GpgImpl"; +} + +/* XServiceInfo */ +sal_Bool SAL_CALL XMLSecurityContextGpg::supportsService( const OUString& serviceName) { + return cppu::supportsService(this, serviceName); +} + +/* XServiceInfo */ +Sequence< OUString > SAL_CALL XMLSecurityContextGpg::getSupportedServiceNames() { + return { "com.sun.star.xml.crypto.XMLSecurityContext" }; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmlsecurity/source/gpg/XMLSecurityContext.hxx b/xmlsecurity/source/gpg/XMLSecurityContext.hxx index 3402d33aa9cd..4355cc0ce67a 100644 --- a/xmlsecurity/source/gpg/XMLSecurityContext.hxx +++ b/xmlsecurity/source/gpg/XMLSecurityContext.hxx @@ -26,7 +26,8 @@ #include <vector> -class XMLSecurityContextGpg : public cppu::WeakImplHelper< css::xml::crypto::XXMLSecurityContext > +class XMLSecurityContextGpg : public cppu::WeakImplHelper< css::xml::crypto::XXMLSecurityContext, + css::lang::XServiceInfo> { private: std::vector< css::uno::Reference< css::xml::crypto::XSecurityEnvironment > > m_vSecurityEnvironments; @@ -50,6 +51,13 @@ public: virtual sal_Int32 SAL_CALL getDefaultSecurityEnvironmentIndex() override; virtual void SAL_CALL setDefaultSecurityEnvironmentIndex( sal_Int32 nDefaultEnvIndex ) override; + + // XServiceInfo + virtual OUString SAL_CALL getImplementationName() override ; + + virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override ; + + virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override ; } ; #endif // INCLUDED_XMLSECURITY_SOURCE_GPG_XMLSECURITYCONTEXT_HXX diff --git a/xmlsecurity/source/gpg/xmlsignature_gpgimpl.cxx b/xmlsecurity/source/gpg/xmlsignature_gpgimpl.cxx index eee8d5f83434..cef3f8e9501a 100644 --- a/xmlsecurity/source/gpg/xmlsignature_gpgimpl.cxx +++ b/xmlsecurity/source/gpg/xmlsignature_gpgimpl.cxx @@ -19,7 +19,7 @@ #include <sal/config.h> #include <rtl/uuid.h> -#include "xmlsignature_gpgimpl.hxx" +#include "gpg/xmlsignature_gpgimpl.hxx" #include <gpgme.h> #include <context.h> diff --git a/xmlsecurity/source/gpg/xmlsignature_gpgimpl.hxx b/xmlsecurity/source/gpg/xmlsignature_gpgimpl.hxx deleted file mode 100644 index 96dfa0c39f3e..000000000000 --- a/xmlsecurity/source/gpg/xmlsignature_gpgimpl.hxx +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_XMLSECURITY_SOURCE_GPG_XMLSIGNATURE_GPGIMPL_HXX -#define INCLUDED_XMLSECURITY_SOURCE_GPG_XMLSIGNATURE_GPGIMPL_HXX - -#include <sal/config.h> -#include <rtl/ustring.hxx> -#include <xsecgpgdllapi.h> - -#include <cppuhelper/factory.hxx> -#include <cppuhelper/implbase.hxx> -#include <com/sun/star/uno/Exception.hpp> - -#include <com/sun/star/uno/Reference.hxx> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/xml/crypto/XXMLSignature.hpp> -#include <com/sun/star/xml/crypto/XXMLSignatureTemplate.hpp> -#include <com/sun/star/xml/crypto/XXMLSecurityContext.hpp> - -// TODO: hack, remove dllpublic again... -class XSECGPG_DLLPUBLIC XMLSignature_GpgImpl : public ::cppu::WeakImplHelper< - css::xml::crypto::XXMLSignature , - css::lang::XServiceInfo > -{ - public: - explicit XMLSignature_GpgImpl(); - virtual ~XMLSignature_GpgImpl() override ; - - //Methods from XXMLSignature - virtual css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate > SAL_CALL generate( - const css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate >& aTemplate , - const css::uno::Reference< css::xml::crypto::XSecurityEnvironment >& aEnvironment - ) override ; - - virtual css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate > SAL_CALL validate( - const css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate >& aTemplate , - const css::uno::Reference< css::xml::crypto::XXMLSecurityContext >& aContext - ) override; - - //Methods from XServiceInfo - virtual OUString SAL_CALL getImplementationName() override ; - - virtual sal_Bool SAL_CALL supportsService( - const OUString& ServiceName - ) 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 ) ; -} ; - -#endif // INCLUDED_XMLSECURITY_SOURCE_GPG_XMLSIGNATURE_GPGIMPL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |