merge the formfield patch from ooo-build
[ooovba.git] / i18npool / source / textconversion / textconversion.cxx
blobea60e8587c2129efdffa559d84cc89abadfc68b1
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: textconversion.cxx,v $
10 * $Revision: 1.8 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_i18npool.hxx"
34 #include <assert.h>
35 #include <textconversion.hxx>
37 using namespace com::sun::star::uno;
38 using namespace rtl;
40 namespace com { namespace sun { namespace star { namespace i18n {
42 extern "C" { static void SAL_CALL thisModule() {} }
44 TextConversion::TextConversion()
46 #ifdef SAL_DLLPREFIX
47 OUString lib=OUString::createFromAscii(SAL_DLLPREFIX"textconv_dict"SAL_DLLEXTENSION);
48 #else
49 OUString lib=OUString::createFromAscii("textconv_dict"SAL_DLLEXTENSION);
50 #endif
51 hModule = osl_loadModuleRelative(
52 &thisModule, lib.pData, SAL_LOADMODULE_DEFAULT );
55 TextConversion::~TextConversion()
57 if (hModule) osl_unloadModule(hModule);
60 static void* nullFunc()
62 return NULL;
65 oslGenericFunction SAL_CALL
66 TextConversion::getFunctionBySymbol(const sal_Char* func)
68 if (hModule)
69 return osl_getFunctionSymbol(hModule, OUString::createFromAscii(func).pData);
70 else
71 return reinterpret_cast< oslGenericFunction >(nullFunc);
74 OUString SAL_CALL
75 TextConversion::getImplementationName() throw( RuntimeException )
77 return OUString::createFromAscii(implementationName);
80 sal_Bool SAL_CALL
81 TextConversion::supportsService(const OUString& rServiceName) throw( RuntimeException )
83 return rServiceName.equalsAscii(implementationName);
86 Sequence< OUString > SAL_CALL
87 TextConversion::getSupportedServiceNames() throw( RuntimeException )
89 Sequence< OUString > aRet(1);
90 aRet[0] = OUString::createFromAscii(implementationName);
91 return aRet;
94 } } } }