summaryrefslogtreecommitdiff
path: root/dtrans/source
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2020-09-22 14:38:45 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2020-09-22 22:37:54 +0200
commit84d20cdc64035af829c568dc7f5b9af625b5b54b (patch)
treeb5570e5aea7bc0d9e79de8ca1a52e31f4cfe56a8 /dtrans/source
parent9613165239ade3f0b4d3d06e238430aabc9fcff3 (diff)
Move MimeContentTypeFactory into vcl
The code is just used in vcl from LO's POV. This way we can drop the dtrans directory and get rid of yet an other library. Change-Id: Id77568e63a6fef4af30b49e035a9d76211b127a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103210 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'dtrans/source')
-rw-r--r--dtrans/source/cnttype/mcnttfactory.cxx67
-rw-r--r--dtrans/source/cnttype/mcnttfactory.hxx49
-rw-r--r--dtrans/source/cnttype/mcnttype.cxx92
-rw-r--r--dtrans/source/cnttype/mcnttype.hxx58
-rw-r--r--dtrans/source/cnttype/wbench/makefile.mk44
-rw-r--r--dtrans/source/cnttype/wbench/testcnttype.cxx186
6 files changed, 0 insertions, 496 deletions
diff --git a/dtrans/source/cnttype/mcnttfactory.cxx b/dtrans/source/cnttype/mcnttfactory.cxx
deleted file mode 100644
index 4a3e6fbb4d95..000000000000
--- a/dtrans/source/cnttype/mcnttfactory.cxx
+++ /dev/null
@@ -1,67 +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 .
- */
-
-#include <cppuhelper/supportsservice.hxx>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include "mcnttfactory.hxx"
-#include "mcnttype.hxx"
-
-using namespace ::osl;
-using namespace ::cppu;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::datatransfer;
-
-CMimeContentTypeFactory::CMimeContentTypeFactory()
-{
-}
-
-Reference< XMimeContentType > CMimeContentTypeFactory::createMimeContentType( const OUString& aContentType )
-{
- return Reference< XMimeContentType >( new CMimeContentType( aContentType ) );
-}
-
-// XServiceInfo
-
-OUString SAL_CALL CMimeContentTypeFactory::getImplementationName( )
-{
- return "com.sun.star.datatransfer.MimeCntTypeFactory";
-}
-
-sal_Bool SAL_CALL CMimeContentTypeFactory::supportsService( const OUString& ServiceName )
-{
- return cppu::supportsService(this, ServiceName);
-}
-
-Sequence< OUString > SAL_CALL CMimeContentTypeFactory::getSupportedServiceNames( )
-{
- return { "com.sun.star.datatransfer.MimeContentTypeFactory" };
-}
-
-
-// returns a factory to create XFilePicker-Services
-
-extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
-dtrans_CMimeContentTypeFactory_get_implementation(
- css::uno::XComponentContext* , css::uno::Sequence<css::uno::Any> const&)
-{
- return cppu::acquire( new CMimeContentTypeFactory() );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dtrans/source/cnttype/mcnttfactory.hxx b/dtrans/source/cnttype/mcnttfactory.hxx
deleted file mode 100644
index c9bd3518cdf3..000000000000
--- a/dtrans/source/cnttype/mcnttfactory.hxx
+++ /dev/null
@@ -1,49 +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 .
- */
-
-#pragma once
-
-#include <rtl/ustring.hxx>
-#include <sal/types.h>
-#include <cppuhelper/implbase.hxx>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp>
-
-class CMimeContentTypeFactory : public
- cppu::WeakImplHelper< css::datatransfer::XMimeContentTypeFactory,
- css::lang::XServiceInfo >
-{
-
-public:
- CMimeContentTypeFactory();
-
- // XMimeContentTypeFactory
-
- virtual css::uno::Reference< css::datatransfer::XMimeContentType > SAL_CALL createMimeContentType( const OUString& aContentType ) 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;
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dtrans/source/cnttype/mcnttype.cxx b/dtrans/source/cnttype/mcnttype.cxx
deleted file mode 100644
index 8b35abb23193..000000000000
--- a/dtrans/source/cnttype/mcnttype.cxx
+++ /dev/null
@@ -1,92 +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 .
- */
-
-#include <sal/config.h>
-
-#include <com/sun/star/container/NoSuchElementException.hpp>
-#include <comphelper/sequence.hxx>
-#include <rtl/ustring.hxx>
-#include <tools/inetmime.hxx>
-
-#include "mcnttype.hxx"
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::container;
-using namespace std;
-
-CMimeContentType::CMimeContentType( const OUString& aCntType )
-{
- init( aCntType );
-}
-
-OUString SAL_CALL CMimeContentType::getMediaType( )
-{
- return m_MediaType;
-}
-
-OUString SAL_CALL CMimeContentType::getMediaSubtype( )
-{
- return m_MediaSubtype;
-}
-
-OUString SAL_CALL CMimeContentType::getFullMediaType( )
-{
- return m_MediaType + "/" + m_MediaSubtype;
-}
-
-Sequence< OUString > SAL_CALL CMimeContentType::getParameters( )
-{
- return comphelper::mapKeysToSequence(m_ParameterMap);
-}
-
-sal_Bool SAL_CALL CMimeContentType::hasParameter( const OUString& aName )
-{
- return ( m_ParameterMap.end( ) != m_ParameterMap.find( aName.toAsciiLowerCase() ) );
-}
-
-OUString SAL_CALL CMimeContentType::getParameterValue( const OUString& aName )
-{
- auto const lower = aName.toAsciiLowerCase();
-
- if ( !hasParameter( lower ) )
- throw NoSuchElementException( );
-
- return m_ParameterMap.find( lower )->second;
-}
-
-void CMimeContentType::init( const OUString& aCntType )
-{
- INetContentTypeParameterList params;
- if (INetMIME::scanContentType(aCntType, &m_MediaType, &m_MediaSubtype, &params)
- != aCntType.getStr() + aCntType.getLength())
- {
- throw css::lang::IllegalArgumentException(
- "illegal media type " + aCntType, css::uno::Reference<css::uno::XInterface>(), -1);
- }
- for (auto const & i: params) {
- if (!i.second.m_bConverted) {
- throw css::lang::IllegalArgumentException(
- "illegal parameter value in media type " + aCntType,
- css::uno::Reference<css::uno::XInterface>(), -1);
- }
- m_ParameterMap[OUString::fromUtf8(i.first)] = i.second.m_sValue;
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dtrans/source/cnttype/mcnttype.hxx b/dtrans/source/cnttype/mcnttype.hxx
deleted file mode 100644
index c4053066b733..000000000000
--- a/dtrans/source/cnttype/mcnttype.hxx
+++ /dev/null
@@ -1,58 +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 .
- */
-
-#pragma once
-
-#include <cppuhelper/implbase.hxx>
-#include <rtl/ustring.hxx>
-#include <sal/types.h>
-#include <com/sun/star/lang/IllegalArgumentException.hpp>
-#include <com/sun/star/datatransfer/XMimeContentType.hpp>
-
-#include <map>
-
-class CMimeContentType : public
- cppu::WeakImplHelper< css::datatransfer::XMimeContentType >
-{
-public:
- explicit CMimeContentType(const OUString& rCntType);
-
- // XMimeContentType
-
- virtual OUString SAL_CALL getMediaType( ) override;
- virtual OUString SAL_CALL getMediaSubtype( ) override;
- virtual OUString SAL_CALL getFullMediaType( ) override;
-
- virtual css::uno::Sequence< OUString > SAL_CALL getParameters( ) override;
-
- virtual sal_Bool SAL_CALL hasParameter( const OUString& aName ) override;
-
- virtual OUString SAL_CALL getParameterValue( const OUString& aName ) override;
-
-private:
- /// @throws css::lang::IllegalArgumentException
- void init( const OUString& aCntType );
-
-private:
- OUString m_MediaType;
- OUString m_MediaSubtype;
- std::map< OUString, OUString > m_ParameterMap;
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dtrans/source/cnttype/wbench/makefile.mk b/dtrans/source/cnttype/wbench/makefile.mk
deleted file mode 100644
index ad1e635eb729..000000000000
--- a/dtrans/source/cnttype/wbench/makefile.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# 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 .
-#
-
-PRJ=..$/..$/..
-
-PRJNAME=dtrans
-TARGET=testcnttype
-LIBTARGET=NO
-TARGETTYPE=CUI
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-CFLAGS+=-GX
-
-# --- Files --------------------------------------------------------
-
-OBJFILES= $(OBJ)$/testcnttype.obj
-APP1TARGET= $(TARGET)
-APP1OBJS= $(OBJ)$/testcnttype.obj
-
-APP1STDLIBS= $(SALLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
-
-# --- Targets ------------------------------------------------------
-.INCLUDE : target.mk
-
diff --git a/dtrans/source/cnttype/wbench/testcnttype.cxx b/dtrans/source/cnttype/wbench/testcnttype.cxx
deleted file mode 100644
index a148348ff6cb..000000000000
--- a/dtrans/source/cnttype/wbench/testcnttype.cxx
+++ /dev/null
@@ -1,186 +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 .
- */
-
-#include <cppuhelper/servicefactory.hxx>
-#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <com/sun/star/lang/IllegalArgumentException.hpp>
-#include <com/sun/star/container/NoSuchElementException.hpp>
-#include <com/sun/star/datatransfer/XMimeContentType.hpp>
-#include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <rtl/ustring.hxx>
-#include <sal/types.h>
-#include <osl/diagnose.h>
-
-#include <stdio.h>
-
-#include <vector>
-
-// my defines
-
-#define TEST_CLIPBOARD
-#define RDB_SYSPATH "d:\\projects\\src621\\dtrans\\wntmsci7\\bin\\applicat.rdb"
-
-// namespaces
-
-using namespace ::std;
-using namespace ::cppu;
-using namespace ::com::sun::star::datatransfer;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::container;
-
-void ShutdownServiceMgr( Reference< XMultiServiceFactory >& SrvMgr )
-{
- // Cast factory to XComponent
- Reference< XComponent > xComponent( SrvMgr, UNO_QUERY );
-
- if ( !xComponent.is() )
- OSL_FAIL("Error shutting down");
-
- // Dispose and clear factory
- xComponent->dispose();
- SrvMgr.clear();
-}
-
-sal_Bool readCntTypesFromFileIntoVector( char* fname, vector< string >& vecData )
-{
- FILE* fstream;
-
- fstream = fopen( fname, "r+" );
- if ( !fstream )
- return sal_False;
-
- // set pointer to file start
- fseek( fstream, 0, SEEK_SET );
-
- char line[1024];
- while ( fscanf( fstream, "%1023[^\n]s", line ) != EOF )
- {
- vecData.push_back( line );
- fgetc( fstream );
- }
-
- fclose( fstream );
-
- return sal_True;
-}
-
-sal_Bool processCntTypesAndWriteResultIntoFile( char* fname, vector< string >& vecData, Reference< XMimeContentTypeFactory > cnttypeFactory )
-{
- FILE* fstream;
-
- fstream = fopen( fname, "w" );
- if ( !fstream )
- return sal_False;
-
- // set pointer to file start
- fseek( fstream, 0, SEEK_SET );
-
- for ( const auto& rData : vecData )
- {
- try
- {
- fprintf( fstream, "Read: %s\n", rData.c_str( ) );
-
- Reference< XMimeContentType > xMCntTyp = cnttypeFactory->createMimeContentType( OUString::createFromAscii( rData.c_str( ) ) );
-
- fwprintf( fstream, OUString("Type: %s\n"), xMCntTyp->getMediaType( ).getStr( ) );
- fwprintf( fstream, OUString("Subtype: %s\n"), xMCntTyp->getMediaSubtype( ).getStr( ) );
-
- Sequence< OUString > seqParam = xMCntTyp->getParameters( );
- sal_Int32 nParams = seqParam.getLength( );
-
- for ( sal_Int32 i = 0; i < nParams; i++ )
- {
- fwprintf( fstream, OUString("PName: %s\n"), seqParam[i].getStr( ) );
- fwprintf( fstream, OUString("PValue: %s\n"), xMCntTyp->getParameterValue( seqParam[i] ).getStr( ) );
- }
- }
- catch( IllegalArgumentException& ex )
- {
- fwprintf( fstream, OUString("Read incorrect content type!\n\n") );
- }
- catch( NoSuchElementException& )
- {
- fwprintf( fstream, OUString("Value of parameter not available\n") );
- }
- catch( ... )
- {
- fwprintf( fstream, OUString("Unknown error!\n\n") );
- }
-
- fwprintf( fstream, OUString("\n#############################################\n\n") );
- }
-
- fclose( fstream );
-
- return sal_True;
-}
-
-// main
-
-int SAL_CALL main( int nArgc, char* argv[] )
-{
- if ( nArgc != 3 )
- printf( "Start with: testcnttype input-file output-file\n" );
-
- // get the global service-manager
-
- Reference< XMultiServiceFactory > g_xFactory( createRegistryServiceFactory( RDB_SYSPATH ) );
-
- // Print a message if an error occurred.
- if ( !g_xFactory.is( ) )
- {
- OSL_FAIL("Can't create RegistryServiceFactory");
- return(-1);
- }
-
- vector< string > vecCntTypes;
-
- // open input-file and read the data
- if ( !readCntTypesFromFileIntoVector( argv[1], vecCntTypes ) )
- {
- printf( "Can't open input file" );
- ShutdownServiceMgr( g_xFactory );
- }
-
- Reference< XMimeContentTypeFactory >
- xMCntTypeFactory( g_xFactory->createInstance("com.sun.star.datatransfer.MimeContentTypeFactory"), UNO_QUERY );
-
- if ( !xMCntTypeFactory.is( ) )
- {
- OSL_FAIL( "Error creating MimeContentTypeFactory Service" );
- return(-1);
- }
-
- if ( !processCntTypesAndWriteResultIntoFile( argv[2], vecCntTypes, xMCntTypeFactory ) )
- {
- printf( "Can't open output file" );
- ShutdownServiceMgr( g_xFactory );
- }
-
- // shutdown the service manager
-
- ShutdownServiceMgr( g_xFactory );
-
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */