summaryrefslogtreecommitdiff
path: root/lingucomponent/source
diff options
context:
space:
mode:
authorLouis Suárez-Potts <louis@openoffice.org>2002-11-18 06:59:24 +0000
committerLouis Suárez-Potts <louis@openoffice.org>2002-11-18 06:59:24 +0000
commita561af855646784133dc16a8130c434be2b5b3e7 (patch)
treefa268d4bc81a2e6a8fcfa5bb396d1d225ec45a0a /lingucomponent/source
parente5f219a9473debd1af96ac8b052d39866954e2fd (diff)
temporary removal
Diffstat (limited to 'lingucomponent/source')
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp3
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.cxx365
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.hxx206
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx119
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphen.map8
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx789
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.hxx250
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/makefile.mk180
-rwxr-xr-xlingucomponent/source/hyphenator/altlinuxhyph/hyphtabs/substrings.pl102
-rw-r--r--lingucomponent/source/spellcheck/spell/exports.dxp3
-rw-r--r--lingucomponent/source/spellcheck/spell/makefile.mk185
-rw-r--r--lingucomponent/source/spellcheck/spell/spell.map8
-rw-r--r--lingucomponent/source/spellcheck/spell/spelldta.cxx244
-rw-r--r--lingucomponent/source/spellcheck/spell/spelldta.hxx143
-rw-r--r--lingucomponent/source/spellcheck/spell/sprophelp.cxx411
-rw-r--r--lingucomponent/source/spellcheck/spell/sprophelp.hxx214
-rw-r--r--lingucomponent/source/spellcheck/spell/sreg.cxx118
-rw-r--r--lingucomponent/source/spellcheck/spell/sspellimp.cxx737
-rw-r--r--lingucomponent/source/spellcheck/spell/sspellimp.hxx237
19 files changed, 0 insertions, 4322 deletions
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp
deleted file mode 100644
index b0f85bf7bebf..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp
+++ /dev/null
@@ -1,3 +0,0 @@
-component_getFactory
-component_getImplementationEnvironment
-component_writeInfo
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.cxx
deleted file mode 100644
index 87e3d5e33c07..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.cxx
+++ /dev/null
@@ -1,365 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: hprophelp.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: nidd $ $Date: 2001-12-25 08:24:12 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-
-#include <linguistic/misc.hxx>
-
-#include "hprophelp.hxx"
-#include <linguistic/lngprops.hxx>
-
-#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
-#include <tools/debug.hxx>
-#endif
-
-#include <com/sun/star/linguistic2/LinguServiceEvent.hpp>
-#include <com/sun/star/linguistic2/LinguServiceEventFlags.hpp>
-#include <com/sun/star/linguistic2/XLinguServiceEventListener.hpp>
-
-#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
-#include <com/sun/star/beans/XPropertySet.hpp>
-#endif
-#ifndef _OSL_MUTEX_HXX_
-#include <osl/mutex.hxx>
-#endif
-
-//using namespace utl;
-using namespace osl;
-using namespace rtl;
-using namespace com::sun::star;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::linguistic2;
-using namespace linguistic;
-
-
-#define A2OU(x) ::rtl::OUString::createFromAscii( x )
-
-///////////////////////////////////////////////////////////////////////////
-
-
-PropertyChgHelper::PropertyChgHelper(
- const Reference< XInterface > & rxSource,
- Reference< XPropertySet > &rxPropSet,
- const char *pPropNames[], USHORT nPropCount ) :
- xMyEvtObj (rxSource),
- xPropSet (rxPropSet),
- aPropNames (nPropCount),
- aLngSvcEvtListeners (GetLinguMutex())
-{
- OUString *pName = aPropNames.getArray();
- for (INT32 i = 0; i < nPropCount; ++i)
- {
- pName[i] = A2OU( pPropNames[i] );
- }
-}
-
-
-PropertyChgHelper::PropertyChgHelper( const PropertyChgHelper &rHelper ) :
- aLngSvcEvtListeners (GetLinguMutex())
-{
- xPropSet = rHelper.xPropSet;
- aPropNames = rHelper.aPropNames;
- AddAsPropListener();
-
- xMyEvtObj = rHelper.xMyEvtObj;
-}
-
-
-PropertyChgHelper::~PropertyChgHelper()
-{
-}
-
-
-void PropertyChgHelper::AddAsPropListener()
-{
- if (xPropSet.is())
- {
- INT32 nLen = aPropNames.getLength();
- const OUString *pPropName = aPropNames.getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- if (pPropName[i].getLength())
- xPropSet->addPropertyChangeListener( pPropName[i], this );
- }
- }
-}
-
-void PropertyChgHelper::RemoveAsPropListener()
-{
- if (xPropSet.is())
- {
- INT32 nLen = aPropNames.getLength();
- const OUString *pPropName = aPropNames.getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- if (pPropName[i].getLength())
- xPropSet->removePropertyChangeListener( pPropName[i], this );
- }
- }
-}
-
-
-void PropertyChgHelper::LaunchEvent( const LinguServiceEvent &rEvt )
-{
- cppu::OInterfaceIteratorHelper aIt( aLngSvcEvtListeners );
- while (aIt.hasMoreElements())
- {
- Reference< XLinguServiceEventListener > xRef( aIt.next(), UNO_QUERY );
- if (xRef.is())
- xRef->processLinguServiceEvent( rEvt );
- }
-}
-
-
-void SAL_CALL PropertyChgHelper::disposing( const EventObject& rSource )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- if (rSource.Source == xPropSet)
- {
- RemoveAsPropListener();
- xPropSet = NULL;
- aPropNames.realloc( 0 );
- }
-}
-
-
-sal_Bool SAL_CALL
- PropertyChgHelper::addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (rxListener.is())
- {
- INT32 nCount = aLngSvcEvtListeners.getLength();
- bRes = aLngSvcEvtListeners.addInterface( rxListener ) != nCount;
- }
- return bRes;
-}
-
-
-sal_Bool SAL_CALL
- PropertyChgHelper::removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (rxListener.is())
- {
- INT32 nCount = aLngSvcEvtListeners.getLength();
- bRes = aLngSvcEvtListeners.removeInterface( rxListener ) != nCount;
- }
- return bRes;
-}
-
-///////////////////////////////////////////////////////////////////////////
-
-static const char *aSP[] =
-{
- UPN_IS_GERMAN_PRE_REFORM,
- UPN_IS_IGNORE_CONTROL_CHARACTERS,
- UPN_IS_USE_DICTIONARY_LIST,
-};
-
-
-PropertyHelper_Hyphen::PropertyHelper_Hyphen(
- const Reference< XInterface > & rxSource,
- Reference< XPropertySet > &rxPropSet ) :
- PropertyChgHelper ( rxSource, rxPropSet, aSP, sizeof(aSP) / sizeof(aSP[0]) )
-{
- SetDefault();
- INT32 nLen = GetPropNames().getLength();
- if (rxPropSet.is() && nLen)
- {
- const OUString *pPropName = GetPropNames().getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- BOOL *pbVal = NULL,
- *pbResVal = NULL;
-
- if (A2OU( UPN_IS_GERMAN_PRE_REFORM ) == pPropName[i])
- {
- pbVal = &bIsGermanPreReform;
- pbResVal = &bResIsGermanPreReform;
- }
- else if (A2OU( UPN_IS_IGNORE_CONTROL_CHARACTERS ) == pPropName[i])
- {
- pbVal = &bIsIgnoreControlCharacters;
- pbResVal = &bResIsIgnoreControlCharacters;
- }
- else if (A2OU( UPN_IS_USE_DICTIONARY_LIST ) == pPropName[i])
- {
- pbVal = &bIsUseDictionaryList;
- pbResVal = &bResIsUseDictionaryList;
- }
- if (pbVal && pbResVal)
- {
- rxPropSet->getPropertyValue( pPropName[i] ) >>= *pbVal;
- *pbResVal = *pbVal;
- }
- }
- }
-}
-
-
-PropertyHelper_Hyphen::~PropertyHelper_Hyphen()
-{
-}
-
-
-void PropertyHelper_Hyphen::SetDefault()
-{
- bResIsGermanPreReform = bIsGermanPreReform = FALSE;
- bResIsIgnoreControlCharacters = bIsIgnoreControlCharacters = TRUE;
- bResIsUseDictionaryList = bIsUseDictionaryList = TRUE;
-
-
-}
-
-
-void SAL_CALL
- PropertyHelper_Hyphen::propertyChange( const PropertyChangeEvent& rEvt )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (GetPropSet().is() && rEvt.Source == GetPropSet())
- {
- INT16 nLngSvcFlags = 0;
- BOOL bSCWA = FALSE, // SPELL_CORRECT_WORDS_AGAIN ?
- bSWWA = FALSE; // SPELL_WRONG_WORDS_AGAIN ?
-
- BOOL *pbVal = NULL;
- switch (rEvt.PropertyHandle)
- {
- case UPH_IS_IGNORE_CONTROL_CHARACTERS :
- {
- pbVal = &bIsIgnoreControlCharacters;
- break;
- }
- case UPH_IS_GERMAN_PRE_REFORM :
- {
- pbVal = &bIsGermanPreReform;
- bSCWA = bSWWA = TRUE;
- break;
- }
- case UPH_IS_USE_DICTIONARY_LIST :
- {
- pbVal = &bIsUseDictionaryList;
- bSCWA = bSWWA = TRUE;
- break;
- }
- default:
- DBG_ERROR( "unknown property" );
- }
- if (pbVal)
- rEvt.NewValue >>= *pbVal;
-
- if (bSCWA)
- nLngSvcFlags |= LinguServiceEventFlags::SPELL_CORRECT_WORDS_AGAIN;
- if (bSWWA)
- nLngSvcFlags |= LinguServiceEventFlags::SPELL_WRONG_WORDS_AGAIN;
- if (nLngSvcFlags)
- {
- LinguServiceEvent aEvt( GetEvtObj(), nLngSvcFlags );
- LaunchEvent( aEvt );
- }
- }
-}
-
-
-void PropertyHelper_Hyphen::SetTmpPropVals( const PropertyValues &rPropVals )
-{
- // set return value to default value unless there is an
- // explicitly supplied temporary value
- bResIsGermanPreReform = bIsGermanPreReform;
- bResIsIgnoreControlCharacters = bIsIgnoreControlCharacters;
- bResIsUseDictionaryList = bIsUseDictionaryList;
-
- //
- INT32 nLen = rPropVals.getLength();
- if (nLen)
- {
- const PropertyValue *pVal = rPropVals.getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- BOOL *pbResVal = NULL;
- switch (pVal[i].Handle)
- {
- case UPH_IS_GERMAN_PRE_REFORM : pbResVal = &bResIsGermanPreReform; break;
- case UPH_IS_IGNORE_CONTROL_CHARACTERS : pbResVal = &bResIsIgnoreControlCharacters; break;
- case UPH_IS_USE_DICTIONARY_LIST : pbResVal = &bResIsUseDictionaryList; break;
- default:
- DBG_ERROR( "unknown property" );
- }
- if (pbResVal)
- pVal[i].Value >>= *pbResVal;
- }
- }
-}
-
-///////////////////////////////////////////////////////////////////////////
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.hxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.hxx
deleted file mode 100644
index f41739bed49b..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.hxx
+++ /dev/null
@@ -1,206 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: hprophelp.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: nidd $ $Date: 2001-12-25 08:24:12 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-
-#ifndef _LINGU2_PROPHELP_HXX_
-#define _LINGU2_PROPHELP_HXX_
-
-#include <tools/solar.h>
-
-#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type
-#include <cppuhelper/implbase2.hxx> // helper for implementations
-
-#ifndef _CPPUHELPER_INTERFACECONTAINER_H_
-#include <cppuhelper/interfacecontainer.h>
-#endif
-
-#ifndef _COM_SUN_STAR_BEANS_XPROPERTYCHANGELISTENER_HPP_
-#include <com/sun/star/beans/XPropertyChangeListener.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_HPP_
-#include <com/sun/star/beans/PropertyValues.hpp>
-#endif
-
-#include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp>
-
-namespace com { namespace sun { namespace star { namespace beans {
- class XPropertySet;
-}}}};
-
-namespace com { namespace sun { namespace star { namespace linguistic2 {
- struct LinguServiceEvent;
-}}}};
-
-
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::linguistic2;
-
-///////////////////////////////////////////////////////////////////////////
-// PropertyChgHelper
-// virtual base class for all XPropertyChangeListener members of the
-// various lingu services.
-// Only propertyChange needs to be implemented.
-
-class PropertyChgHelper :
- public cppu::WeakImplHelper2
- <
- XPropertyChangeListener,
- XLinguServiceEventBroadcaster
- >
-{
- Sequence< OUString > aPropNames;
- Reference< XInterface > xMyEvtObj;
- ::cppu::OInterfaceContainerHelper aLngSvcEvtListeners;
- Reference< XPropertySet > xPropSet;
-
- // disallow use of copy-constructor and assignment-operator
- PropertyChgHelper( const PropertyChgHelper & );
- PropertyChgHelper & operator = ( const PropertyChgHelper & );
-
-public:
- PropertyChgHelper(
- const Reference< XInterface > &rxSource,
- Reference< XPropertySet > &rxPropSet,
- const char *pPropNames[], USHORT nPropCount );
- virtual ~PropertyChgHelper();
-
- // XEventListener
- virtual void SAL_CALL
- disposing( const EventObject& rSource )
- throw(RuntimeException);
-
- // XPropertyChangeListener
- virtual void SAL_CALL
- propertyChange( const PropertyChangeEvent& rEvt )
- throw(RuntimeException) = 0;
-
- // XLinguServiceEventBroadcaster
- virtual sal_Bool SAL_CALL
- addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL
- removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException);
-
- // non UNO functions
- void AddAsPropListener();
- void RemoveAsPropListener();
- void LaunchEvent( const LinguServiceEvent& rEvt );
-
- const Sequence< OUString > &
- GetPropNames() const { return aPropNames; }
- const Reference< XPropertySet > &
- GetPropSet() const { return xPropSet; }
- const Reference< XInterface > &
- GetEvtObj() const { return xMyEvtObj; }
-
-};
-
-
-///////////////////////////////////////////////////////////////////////////
-
-
-class PropertyHelper_Hyphen :
- public PropertyChgHelper
-{
- // default values
- BOOL bIsGermanPreReform;
- BOOL bIsIgnoreControlCharacters;
- BOOL bIsUseDictionaryList;
-
- // return values, will be set to default value or current temporary value
- BOOL bResIsGermanPreReform;
- BOOL bResIsIgnoreControlCharacters;
- BOOL bResIsUseDictionaryList;
-
- // disallow use of copy-constructor and assignment-operator
- PropertyHelper_Hyphen( const PropertyHelper_Hyphen & );
- PropertyHelper_Hyphen & operator = ( const PropertyHelper_Hyphen & );
-
- void SetDefault();
-
-public:
- PropertyHelper_Hyphen(
- const Reference< XInterface > &rxSource,
- Reference< XPropertySet > &rxPropSet );
- virtual ~PropertyHelper_Hyphen();
-
- // XPropertyChangeListener
- virtual void SAL_CALL
- propertyChange( const PropertyChangeEvent& rEvt )
- throw(RuntimeException);
-
- void SetTmpPropVals( const PropertyValues &rPropVals );
-
- BOOL IsGermanPreReform() const { return bResIsGermanPreReform; }
- BOOL IsIgnoreControlCharacters() const { return bResIsIgnoreControlCharacters; }
- BOOL IsUseDictionaryList() const { return bResIsUseDictionaryList; }
-};
-
-///////////////////////////////////////////////////////////////////////////
-
-#endif
-
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx
deleted file mode 100644
index 845b53e684e8..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx
+++ /dev/null
@@ -1,119 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: hreg.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: nidd $ $Date: 2001-12-25 08:24:12 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-
-
-#include <cppuhelper/factory.hxx> // helper for factories
-#ifndef _RTL_STRING_HXX_
-#include <rtl/string.hxx>
-#endif
-
-#include <com/sun/star/registry/XRegistryKey.hpp>
-
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-
-////////////////////////////////////////
-// declaration of external RegEntry-functions defined by the service objects
-//
-
-extern sal_Bool SAL_CALL Hyphenator_writeInfo(
- void * /*pServiceManager*/, XRegistryKey * pRegistryKey );
-
-extern void * SAL_CALL Hyphenator_getFactory(
- const sal_Char * pImplName,
- XMultiServiceFactory * pServiceManager,
- void * /*pRegistryKey*/ );
-
-////////////////////////////////////////
-// definition of the two functions that are used to provide the services
-//
-
-extern "C"
-{
-
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, XRegistryKey * pRegistryKey )
-{
- return Hyphenator_writeInfo( pServiceManager, pRegistryKey );
-}
-
-void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-void * SAL_CALL component_getFactory(
- const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
-{
- void * pRet = Hyphenator_getFactory(
- pImplName,
- reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
- pRegistryKey );
-
- return pRet;
-}
-
-}
-
-///////////////////////////////////////////////////////////////////////////
-
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphen.map b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphen.map
deleted file mode 100644
index 1cc0ac1898a8..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphen.map
+++ /dev/null
@@ -1,8 +0,0 @@
-LTH_1_0 {
- global:
- component_getFactory;
- component_getImplementationEnvironment;
- component_writeInfo;
- local:
- *;
-};
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
deleted file mode 100644
index b31028a8513c..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
+++ /dev/null
@@ -1,789 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: hyphenimp.cxx,v $
- *
- * $Revision: 1.5 $
- *
- * last change: $Author: svesik $ $Date: 2002-07-29 17:51:48 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-
-#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_
-#include <com/sun/star/uno/Reference.h>
-#endif
-#ifndef _COM_SUN_STAR_LINGUISTIC2_XSEARCHABLEDICTIONARYLIST_HPP_
-#include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp>
-#endif
-
-//#include <com/sun/star/linguistic2/SpellFailure.hpp>
-#include <cppuhelper/factory.hxx> // helper for factories
-#include <com/sun/star/registry/XRegistryKey.hpp>
-
-#ifndef INCLUDED_SVTOOLS_PATHOPTIONS_HXX
-#include <svtools/pathoptions.hxx>
-#endif
-#ifndef INCLUDED_SVTOOLS_USEROPTIONS_HXX
-#include <svtools/useroptions.hxx>
-#endif
-#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
-#include <tools/debug.hxx>
-#endif
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
-#include <unotools/processfactory.hxx>
-#endif
-#ifndef _OSL_MUTEX_HXX_
-#include <osl/mutex.hxx>
-#endif
-
-#include <hyphen.h>
-
-#ifndef _HYPHENIMP_HXX
-#include <hyphenimp.hxx>
-#endif
-
-#include <linguistic/hyphdta.hxx>
-
-#ifndef _RTL_USTRING_HXX_
-#include <rtl/ustring.hxx>
-#endif
-
-#ifndef _RTL_USTRBUF_HXX_
-#include <rtl/ustrbuf.hxx>
-#endif
-
-#include <linguistic/lngprops.hxx>
-
-#ifndef INCLUDED_SVTOOLS_PATHOPTIONS_HXX
-#include <svtools/pathoptions.hxx>
-#endif
-#ifndef INCLUDED_SVTOOLS_USEROPTIONS_HXX
-#include <svtools/useroptions.hxx>
-#endif
-#include <osl/file.hxx>
-
-#include "dictmgr.hxx"
-#include "csutil.hxx"
-
-#include <stdio.h>
-#include <iostream>
-using namespace utl;
-using namespace osl;
-using namespace rtl;
-using namespace com::sun::star;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::linguistic2;
-using namespace linguistic;
-
-
-///////////////////////////////////////////////////////////////////////////
-
-BOOL operator == ( const Locale &rL1, const Locale &rL2 )
-{
- return rL1.Language == rL2.Language &&
- rL1.Country == rL2.Country &&
- rL1.Variant == rL2.Variant;
-}
-
-///////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-Hyphenator::Hyphenator() :
- aEvtListeners ( GetLinguMutex() )
-{
- bDisposing = FALSE;
- pPropHelper = NULL;
- numdict = 0;
-
-}
-
-
-Hyphenator::~Hyphenator()
-{
- if (pPropHelper)
- pPropHelper->RemoveAsPropListener();
- if (numdict) {
- delete[] aDicts;
- aDicts = NULL;
- numdict = 0;
- }
-}
-
-
-PropertyHelper_Hyphen & Hyphenator::GetPropHelper_Impl()
-{
-
- if (!pPropHelper)
- {
- Reference< XPropertySet > xPropSet( GetLinguProperties(), UNO_QUERY );
-
- pPropHelper = new PropertyHelper_Hyphen ((XHyphenator *) this, xPropSet );
- xPropHelper = pPropHelper;
- pPropHelper->AddAsPropListener(); //! after a reference is established
- }
- return *pPropHelper;
-
-}
-
-
-Sequence< Locale > SAL_CALL Hyphenator::getLocales()
- throw(RuntimeException)
-{
-
- MutexGuard aGuard( GetLinguMutex() );
- SvtPathOptions aPathOpt;
-
- if (!numdict)
- {
-
- // this routine should return the locales supported by the installed
- // hyph dictionaries. So here we need to parse both the user edited
- // dictionary list and the shared dictionary list
- // to see what dictionaries the admin/user has installed
-
- int numusr; // number of user dictionary entries
- int numshr; // number of shared dictionary entries
- dictentry * spdict; // shared dict entry pointer
- dictentry * updict; // user dict entry pointer
-
- // invoke a dictionary manager to get the user dictionary list
- OUString usrlst = aPathOpt.GetUserDictionaryPath() + A2OU("/dictionary.lst");
- OUString ulst;
- osl::FileBase::getSystemPathFromFileURL(usrlst,ulst);
- OString uTmp(OU2ENC(ulst,osl_getThreadTextEncoding()));
- DictMgr* udMgr = new DictMgr(uTmp.getStr(),"HYPH");
- numusr = 0;
- if (udMgr)
- numusr = udMgr->get_list(&updict);
-
- // invoke a second dictionary manager to get the shared dictionary list
- OUString shrlst = aPathOpt.GetLinguisticPath() + A2OU("/ooo/dictionary.lst");
- OUString slst;
- osl::FileBase::getSystemPathFromFileURL(shrlst,slst);
- OString sTmp(OU2ENC(slst,osl_getThreadTextEncoding()));
- DictMgr* sdMgr = new DictMgr(sTmp.getStr(),"HYPH");
- numshr = 0;
- if (sdMgr)
- numshr = sdMgr->get_list(&spdict);
-
-
- // we really should merge these and remove duplicates but since
- // users can name their dictionaries anything they want it would
- // be impossible to know if a real duplication exists unless we
- // add some unique key to each hyphenation dictionary
- // we can worry about that when and if issuezilla's flood in
- numdict = numusr + numshr;
-
- if (numdict) {
- aDicts = new HDInfo[numdict];
- aSuppLocales.realloc(numdict);
- Locale * pLocale = aSuppLocales.getArray();
- int numlocs = 0;
- int newloc;
- int i,j;
- int k = 0;
-
- // first add the user dictionaries
- // keeping track of unique locales only
- for (i = 0; i < numusr; i++) {
- Locale nLoc( A2OU(updict->lang), A2OU(updict->region), OUString() );
-
- newloc = 1;
- for (j = 0; j < numlocs; j++) {
- if (nLoc == pLocale[j]) newloc = 0;
- }
- if (newloc) {
- pLocale[numlocs] = nLoc;
- numlocs++;
- }
- aDicts[k].aPtr = NULL;
- aDicts[k].aLoc = nLoc;
- aDicts[k].aEnc = 0;
- aDicts[k].aName = A2OU(updict->filename);
- k++;
- updict++;
- }
-
- // now add the shared dictionaries
- // keeping track of unique locales only
- for (i = 0; i < numshr; i++) {
- Locale nLoc( A2OU(spdict->lang), A2OU(spdict->region), OUString() );
-
- newloc = 1;
- for (j = 0; j < numlocs; j++) {
- if (nLoc == pLocale[j]) newloc = 0;
- }
- if (newloc) {
- pLocale[numlocs] = nLoc;
- numlocs++;
- }
- aDicts[k].aPtr = NULL;
- aDicts[k].aLoc = nLoc;
- aDicts[k].aEnc = 0;
- aDicts[k].aName = A2OU(spdict->filename);
- k++;
- spdict++;
- }
-
- // reallocate the size to just cover the unique locales
- aSuppLocales.realloc(numlocs);
-
- } else {
- // no dictionary.lst files found, just default to hyph_en.dic
- numdict = 1;
- aSuppLocales.realloc(1);
- Locale *pLocale = aSuppLocales.getArray();
- Locale nLoc( A2OU("en"), A2OU("US"), OUString() );
- pLocale[0] = nLoc;
- aDicts = new HDInfo[1];
- aDicts[0].aPtr = NULL;
- aDicts[0].aLoc = nLoc;
- aDicts[0].aEnc = 0;
- aDicts[0].aName = A2OU("hyph_en");
- }
-
- /* de-allocation of memory is handled inside the DictMgr */
- updict = NULL;
- if (udMgr) {
- delete udMgr;
- udMgr = NULL;
- }
- spdict = NULL;
- if (sdMgr) {
- delete sdMgr;
- sdMgr = NULL;
- }
-
- }
-
- return aSuppLocales;
-}
-
-
-
-sal_Bool SAL_CALL Hyphenator::hasLocale(const Locale& rLocale)
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (!aSuppLocales.getLength())
- getLocales();
-
- INT32 nLen = aSuppLocales.getLength();
- for (INT32 i = 0; i < nLen; ++i)
- {
- const Locale *pLocale = aSuppLocales.getConstArray();
- if (rLocale == pLocale[i])
- {
- bRes = TRUE;
- break;
- }
- }
- return bRes;
-}
-
-
-Reference< XHyphenatedWord > SAL_CALL
-Hyphenator::hyphenate( const ::rtl::OUString& aWord,
- const ::com::sun::star::lang::Locale& aLocale,
- sal_Int16 nMaxLeading,
- const ::com::sun::star::beans::PropertyValues& aProperties )
- throw (com::sun::star::uno::RuntimeException,
- com::sun::star::lang::IllegalArgumentException)
-{
- SvtPathOptions aPathOpt;
-
- int nHyphenationPos = -1;
- int wordlen;
- char *hyphens;
- char *lcword;
- int k = 0;
-
-
- HyphenDict *dict = NULL;
- rtl_TextEncoding aEnc = 0;
-
- Reference< XHyphenatedWord > xRes;
-
- k = -1;
- for (int j = 0; j < numdict; j++)
- if (aLocale == aDicts[j].aLoc) k = j;
-
-
- // if we have a hyphenation dictionary matching this locale
- if (k != -1) {
-
- // if this dictinary has not been loaded yet do that
- if (!aDicts[k].aPtr) {
-
- OUString DictFN = aDicts[k].aName + A2OU(".dic");
- OUString userdictpath;
- OUString dictpath;
-
- osl::FileBase::getSystemPathFromFileURL(
- aPathOpt.GetUserDictionaryPath() + A2OU("/"),
- userdictpath);
-
- osl::FileBase::getSystemPathFromFileURL(
- aPathOpt.GetLinguisticPath() + A2OU("/ooo/"),
- dictpath);
-
- OString uTmp(OU2ENC(userdictpath + DictFN,osl_getThreadTextEncoding()));
- OString sTmp(OU2ENC(dictpath + DictFN,osl_getThreadTextEncoding()));
-
- if ( ( dict = hnj_hyphen_load ( uTmp.getStr() ) ) == NULL )
- if ( ( dict = hnj_hyphen_load ( sTmp.getStr()) ) == NULL )
- {
- fprintf(stderr, "Couldn't find file %s and %s\n", OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding()), OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding() ));
- return NULL;
- }
- aDicts[k].aPtr = dict;
- aDicts[k].aEnc = rtl_getTextEncodingFromUnixCharset(dict->cset);
- }
-
- // other wise hyphenate the word with that dictionary
- dict = aDicts[k].aPtr;
- aEnc = aDicts[k].aEnc;
-
- OString encWord(OU2ENC(aWord,aEnc));
-
- wordlen = encWord.getLength();
- lcword = new char[wordlen+1];
- hyphens = new char[wordlen+5];
- enmkallsmall(lcword,encWord.getStr(),dict->cset);
-
- if (hnj_hyphen_hyphenate(dict, lcword, wordlen, hyphens))
- {
- //whoops something did not work
- delete[] hyphens;
- delete[] lcword;
- return NULL;
- }
-
- OUStringBuffer hyphenatedWord;
- INT32 Leading = GetPosInWordToCheck( aWord, nMaxLeading );
-
- for (INT32 i = 0; i < encWord.getLength(); i++)
- {
- hyphenatedWord.append(aWord[i]);
- if ((hyphens[i]&1) && (i < Leading))
- {
- nHyphenationPos = i;
- hyphenatedWord.append(sal_Unicode('='));
- }
- }
-
- if (nHyphenationPos == -1)
- xRes = NULL;
- else
- {
- xRes = new HyphenatedWord( aWord, LocaleToLanguage( aLocale ), nHyphenationPos,
- aWord, nHyphenationPos );
- }
-
- delete[] hyphens;
- delete[] lcword;
- return xRes;
-
- }
- return NULL;
-}
-
-Reference < XHyphenatedWord > SAL_CALL
- Hyphenator::queryAlternativeSpelling( const ::rtl::OUString& aWord,
- const ::com::sun::star::lang::Locale& aLocale,
- sal_Int16 nIndex,
- const ::com::sun::star::beans::PropertyValues& aProperties )
- throw(::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException)
-{
- /* alternative spelling isn't supported by tex dictionaries */
- return NULL;
-}
-
-Reference< XPossibleHyphens > SAL_CALL
- Hyphenator::createPossibleHyphens( const ::rtl::OUString& aWord,
- const ::com::sun::star::lang::Locale& aLocale,
- const ::com::sun::star::beans::PropertyValues& aProperties )
- throw(::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException)
-
-{
-
- SvtPathOptions aPathOpt;
- // CharClass chclass( rSMgr, aLocale );
-
- int nHyphenationPos = -1;
- int wordlen;
- char *hyphens;
- char *lcword;
- int k;
-
-
- HyphenDict *dict;
- rtl_TextEncoding aEnc;
-
- Reference< XPossibleHyphens > xRes;
- k = -1;
- for (int j = 0; j < numdict; j++)
- if (aLocale == aDicts[j].aLoc) k = j;
-
- dict = NULL;
- aEnc = 0;
-
- // if we have a hyphenationd citionary matching this locale
- if (k != -1) {
-
- // if this dictioanry has not been loaded yet do that
- if (!aDicts[k].aPtr) {
-
- OUString DictFN = aDicts[k].aName + A2OU(".dic");
- OUString userdictpath;
- OUString dictpath;
- osl::FileBase::getSystemPathFromFileURL(
- aPathOpt.GetUserDictionaryPath() + A2OU("/"),
- userdictpath);
-
- osl::FileBase::getSystemPathFromFileURL(
- aPathOpt.GetLinguisticPath() + A2OU("/ooo/"),
- dictpath);
- OString uTmp(OU2ENC(userdictpath + DictFN,osl_getThreadTextEncoding()));
- OString sTmp(OU2ENC(dictpath + DictFN,osl_getThreadTextEncoding()));
-
-
- if ( ( dict = hnj_hyphen_load ( uTmp.getStr() ) ) == NULL )
- if ( ( dict = hnj_hyphen_load ( sTmp.getStr()) ) == NULL )
- {
- fprintf(stderr, "Couldn't find file %s and %s\n", OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding()), OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding() ));
- return NULL;
- }
- aDicts[k].aPtr = dict;
- aDicts[k].aEnc = rtl_getTextEncodingFromUnixCharset(dict->cset);
- }
-
- // other wise hyphenate the word with that dictionary
- dict = aDicts[k].aPtr;
- aEnc = aDicts[k].aEnc;
-
- OString encWord(OU2ENC(aWord, aEnc));
-
- wordlen = encWord.getLength();
- lcword = new char[wordlen+1];
- hyphens = new char[wordlen+5];
- enmkallsmall(lcword,encWord.getStr(),dict->cset);
-
- if (hnj_hyphen_hyphenate(dict, lcword, wordlen, hyphens))
- {
- delete[] hyphens;
- delete[] lcword;
- return NULL;
- }
-
- INT16 nHyphCount = 0;
-
- for (INT16 i = 0; i < encWord.getLength(); i++)
- if (hyphens[i]&1)
- nHyphCount++;
-
- Sequence< INT16 > aHyphPos(nHyphCount);
- INT16 *pPos = aHyphPos.getArray();
- OUStringBuffer hyphenatedWordBuffer;
- OUString hyphenatedWord;
- nHyphCount = 0;
-
- for (i = 0; i < encWord.getLength(); i++)
- {
- hyphenatedWordBuffer.append(aWord[i]);
- if (hyphens[i]&1)
- {
- pPos[nHyphCount] = i;
- hyphenatedWordBuffer.append(sal_Unicode('='));
- nHyphCount++;
- }
- }
-
- hyphenatedWord = hyphenatedWordBuffer.makeStringAndClear();
-
- xRes = new PossibleHyphens( aWord, LocaleToLanguage( aLocale ),
- hyphenatedWord, aHyphPos );
-
- delete[] hyphens;
- delete[] lcword;
- return xRes;
- }
-
- return NULL;
-
-}
-
-
-
-Reference< XInterface > SAL_CALL Hyphenator_CreateInstance(
- const Reference< XMultiServiceFactory > & rSMgr )
- throw(Exception)
-{
-
- Reference< XInterface > xService = (cppu::OWeakObject*) new Hyphenator;
- return xService;
-}
-
-
-sal_Bool SAL_CALL
- Hyphenator::addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (!bDisposing && rxLstnr.is())
- {
- bRes = GetPropHelper().addLinguServiceEventListener( rxLstnr );
- }
- return bRes;
-}
-
-
-sal_Bool SAL_CALL
- Hyphenator::removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (!bDisposing && rxLstnr.is())
- {
- DBG_ASSERT( xPropHelper.is(), "xPropHelper non existent" );
- bRes = GetPropHelper().removeLinguServiceEventListener( rxLstnr );
- }
- return bRes;
-}
-
-
-OUString SAL_CALL
- Hyphenator::getServiceDisplayName( const Locale& rLocale )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- return A2OU( "ALTLinux LibHnj Hyphenator" );
-}
-
-
-void SAL_CALL
- Hyphenator::initialize( const Sequence< Any >& rArguments )
- throw(Exception, RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!pPropHelper)
- {
- INT32 nLen = rArguments.getLength();
- if (2 == nLen)
- {
- Reference< XPropertySet > xPropSet;
- rArguments.getConstArray()[0] >>= xPropSet;
- //rArguments.getConstArray()[1] >>= xDicList;
-
- //! Pointer allows for access of the non-UNO functions.
- //! And the reference to the UNO-functions while increasing
- //! the ref-count and will implicitly free the memory
- //! when the object is not longer used.
- pPropHelper = new PropertyHelper_Hyphen( (XHyphenator *) this, xPropSet );
- xPropHelper = pPropHelper;
- pPropHelper->AddAsPropListener(); //! after a reference is established
- }
- else
- DBG_ERROR( "wrong number of arguments in sequence" );
-
- }
-}
-
-
-void SAL_CALL
- Hyphenator::dispose()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!bDisposing)
- {
- bDisposing = TRUE;
- EventObject aEvtObj( (XHyphenator *) this );
- aEvtListeners.disposeAndClear( aEvtObj );
- }
-}
-
-
-void SAL_CALL
- Hyphenator::addEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!bDisposing && rxListener.is())
- aEvtListeners.addInterface( rxListener );
-}
-
-
-void SAL_CALL
- Hyphenator::removeEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!bDisposing && rxListener.is())
- aEvtListeners.removeInterface( rxListener );
-}
-
-
-///////////////////////////////////////////////////////////////////////////
-// Service specific part
-//
-
-OUString SAL_CALL Hyphenator::getImplementationName()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- return getImplementationName_Static();
-}
-
-
-sal_Bool SAL_CALL Hyphenator::supportsService( const OUString& ServiceName )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- Sequence< OUString > aSNL = getSupportedServiceNames();
- const OUString * pArray = aSNL.getConstArray();
- for( INT32 i = 0; i < aSNL.getLength(); i++ )
- if( pArray[i] == ServiceName )
- return TRUE;
- return FALSE;
-}
-
-
-Sequence< OUString > SAL_CALL Hyphenator::getSupportedServiceNames()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- return getSupportedServiceNames_Static();
-}
-
-
-Sequence< OUString > Hyphenator::getSupportedServiceNames_Static()
- throw()
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- Sequence< OUString > aSNS( 1 ); // auch mehr als 1 Service moeglich
- aSNS.getArray()[0] = A2OU( SN_HYPHENATOR );
- return aSNS;
-}
-
-
-sal_Bool SAL_CALL Hyphenator_writeInfo(
- void * /*pServiceManager*/, registry::XRegistryKey * pRegistryKey )
-{
-
- try
- {
- String aImpl( '/' );
- aImpl += Hyphenator::getImplementationName_Static().getStr();
- aImpl.AppendAscii( "/UNO/SERVICES" );
- Reference< registry::XRegistryKey > xNewKey =
- pRegistryKey->createKey( aImpl );
- Sequence< OUString > aServices =
- Hyphenator::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- return sal_True;
- }
- catch(Exception &)
- {
- return sal_False;
- }
-}
-
-
-void * SAL_CALL Hyphenator_getFactory( const sal_Char * pImplName,
- XMultiServiceFactory * pServiceManager, void * )
-{
- void * pRet = 0;
- if ( !Hyphenator::getImplementationName_Static().compareToAscii( pImplName ) )
- {
- Reference< XSingleServiceFactory > xFactory =
- cppu::createOneInstanceFactory(
- pServiceManager,
- Hyphenator::getImplementationName_Static(),
- Hyphenator_CreateInstance,
- Hyphenator::getSupportedServiceNames_Static());
- // acquire, because we return an interface pointer instead of a reference
- xFactory->acquire();
- pRet = xFactory.get();
- }
- return pRet;
-}
-
-
-///////////////////////////////////////////////////////////////////////////
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.hxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.hxx
deleted file mode 100644
index 3c7d744437fa..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.hxx
+++ /dev/null
@@ -1,250 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: hyphenimp.hxx,v $
- *
- * $Revision: 1.2 $
- *
- * last change: $Author: svesik $ $Date: 2002-07-29 17:28:01 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-
-#ifndef _LINGU2_HYPHENIMP_HXX_
-#define _LINGU2_HYPHENIMP_HXX_
-
-#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type
-#include <cppuhelper/implbase1.hxx> // helper for implementations
-#include <cppuhelper/implbase6.hxx> // helper for implementations
-
-#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_
-#include <com/sun/star/lang/XComponent.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_
-#include <com/sun/star/lang/XInitialization.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_XSERVICEDISPLAYNAME_HPP_
-#include <com/sun/star/lang/XServiceDisplayName.hpp>
-#endif
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/PropertyValues.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/linguistic2/XHyphenator.hpp>
-#include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp>
-#include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp>
-
-#ifndef _TOOLS_TABLE_HXX
-#include <tools/table.hxx>
-#endif
-
-#include <linguistic/misc.hxx>
-#include "hprophelp.hxx"
-#include <stdio.h>
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::linguistic2;
-
-
-#define A2OU(x) ::rtl::OUString::createFromAscii( x )
-
-#define OU2A(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_ASCII_US).getStr()
-
-#define OU2UTF8(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_UTF8).getStr()
-
-#define OU2ISO_1(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_ISO_8859_1).getStr()
-
-#define OU2ENC(rtlOUString, rtlEncoding) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), rtlEncoding).getStr()
-
-///////////////////////////////////////////////////////////////////////////
-
-
-struct HDInfo {
- HyphenDict * aPtr;
- OUString aName;
- Locale aLoc;
- rtl_TextEncoding aEnc;
-};
-
-
-
-class Hyphenator :
- public cppu::WeakImplHelper6
- <
- XHyphenator,
- XLinguServiceEventBroadcaster,
- XInitialization,
- XComponent,
- XServiceInfo,
- XServiceDisplayName
- >
-{
- Sequence< Locale > aSuppLocales;
- HDInfo * aDicts;
- sal_Int32 numdict;
-
- ::cppu::OInterfaceContainerHelper aEvtListeners;
- Reference< XPropertyChangeListener > xPropHelper;
- Reference< XMultiServiceFactory > rSMgr;
- PropertyHelper_Hyphen * pPropHelper;
- BOOL bDisposing;
-
- // disallow copy-constructor and assignment-operator for now
- Hyphenator(const Hyphenator &);
- Hyphenator & operator = (const Hyphenator &);
-
- PropertyHelper_Hyphen & GetPropHelper_Impl();
- PropertyHelper_Hyphen & GetPropHelper()
- {
- return pPropHelper ? *pPropHelper : GetPropHelper_Impl();
- }
-
-public:
- Hyphenator();
-
- virtual ~Hyphenator();
-
- // XSupportedLocales (for XHyphenator)
- virtual Sequence< Locale > SAL_CALL getLocales()
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL hasLocale( const Locale& rLocale )
- throw(RuntimeException);
-
- // XHyphenator
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenatedWord > SAL_CALL
- hyphenate( const ::rtl::OUString& aWord,
- const ::com::sun::star::lang::Locale& aLocale,
- sal_Int16 nMaxLeading,
- const ::com::sun::star::beans::PropertyValues& aProperties )
- throw(::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
-
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenatedWord > SAL_CALL
- queryAlternativeSpelling( const ::rtl::OUString& aWord,
- const ::com::sun::star::lang::Locale& aLocale,
- sal_Int16 nIndex,
- const ::com::sun::star::beans::PropertyValues& aProperties )
- throw(::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
-
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XPossibleHyphens > SAL_CALL
- createPossibleHyphens( const ::rtl::OUString& aWord,
- const ::com::sun::star::lang::Locale& aLocale,
- const ::com::sun::star::beans::PropertyValues& aProperties )
- throw(::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::uno::RuntimeException);
-
- // XLinguServiceEventBroadcaster
- virtual sal_Bool SAL_CALL
- addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL
- removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException);
-
- // XServiceDisplayName
- virtual OUString SAL_CALL
- getServiceDisplayName( const Locale& rLocale )
- throw(RuntimeException);
-
- // XInitialization
- virtual void SAL_CALL
- initialize( const Sequence< Any >& rArguments )
- throw(Exception, RuntimeException);
-
- // XComponent
- virtual void SAL_CALL
- dispose()
- throw(RuntimeException);
- virtual void SAL_CALL
- addEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException);
- virtual void SAL_CALL
- removeEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException);
-
- ////////////////////////////////////////////////////////////
- // Service specific part
- //
-
- // XServiceInfo
- virtual OUString SAL_CALL
- getImplementationName()
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL
- supportsService( const OUString& rServiceName )
- throw(RuntimeException);
- virtual Sequence< OUString > SAL_CALL
- getSupportedServiceNames()
- throw(RuntimeException);
-
-
- static inline OUString
- getImplementationName_Static() throw();
- static Sequence< OUString >
- getSupportedServiceNames_Static() throw();
-};
-
-inline OUString Hyphenator::getImplementationName_Static() throw()
-{
- return A2OU( "org.openoffice.lingu.LibHnjHyphenator" );
-}
-
-
-///////////////////////////////////////////////////////////////////////////
-
-#endif
-
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/makefile.mk b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/makefile.mk
deleted file mode 100644
index 39f277c189d3..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/makefile.mk
+++ /dev/null
@@ -1,180 +0,0 @@
-#*************************************************************************
-#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.4 $
-#
-# last change: $Author: svesik $ $Date: 2002-07-29 17:28:01 $
-#
-# The Contents of this file are made available subject to the terms of
-# either of the following licenses
-#
-# - GNU Lesser General Public License Version 2.1
-# - Sun Industry Standards Source License Version 1.1
-#
-# Sun Microsystems Inc., October, 2000
-#
-# GNU Lesser General Public License Version 2.1
-# =============================================
-# Copyright 2000 by Sun Microsystems, Inc.
-# 901 San Antonio Road, Palo Alto, CA 94303, USA
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License version 2.1, as published by the Free Software Foundation.
-#
-# This library 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 for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-#
-# Sun Industry Standards Source License Version 1.1
-# =================================================
-# The contents of this file are subject to the Sun Industry Standards
-# Source License Version 1.1 (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.openoffice.org/license.html.
-#
-# Software provided under this License is provided on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
-# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
-# See the License for the specific provisions governing your rights and
-# obligations concerning the Software.
-#
-# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
-#
-# Copyright: 2000 by Sun Microsystems, Inc.
-#
-# All Rights Reserved.
-#
-# Contributor(s): _______________________________________
-#
-#
-#
-#*************************************************************************
-
-PRJ = ..$/..$/..$/..
-
-PRJNAME = lingucomponent
-TARGET = hyphen
-ENABLE_EXCEPTIONS=TRUE
-USE_DEFFILE=TRUE
-
-.IF "$(GUI)"=="UNX"
-HNJLIB=-lhnj
-.ELSE
-HNJLIB=libhnj.lib
-.ENDIF
-
-.IF "$(ULINGULIB)"==""
-.IF "$(GUI)"=="UNX"
-ULINGULIB=-lulingu$(UPD)$(DLLPOSTFIX)
-.ENDIF # unx
-.IF "$(GUI)"=="WNT"
-ULINGULIB=$(LIBPRE) ulingu.lib
-.ENDIF # wnt
-.ENDIF
-
-
-
-#----- Settings ---------------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-UNOUCRDEP= $(SOLARBINDIR)$/applicat.rdb
-UNOUCRRDB= $(SOLARBINDIR)$/applicat.rdb
-
-UNOTYPES=\
- com.sun.star.linguistic2.DictionaryEvent\
- com.sun.star.linguistic2.DictionaryEventFlags\
- com.sun.star.linguistic2.DictionaryListEvent\
- com.sun.star.linguistic2.DictionaryListEventFlags\
- com.sun.star.linguistic2.DictionaryType\
- com.sun.star.linguistic2.LinguServiceEventFlags\
- com.sun.star.linguistic2.SpellFailure\
- com.sun.star.linguistic2.XDictionary\
- com.sun.star.linguistic2.XDictionary1\
- com.sun.star.linguistic2.XDictionaryEntry\
- com.sun.star.linguistic2.XDictionaryEventListener\
- com.sun.star.linguistic2.XDictionaryList\
- com.sun.star.linguistic2.XDictionaryListEventListener\
- com.sun.star.linguistic2.XHyphenatedWord\
- com.sun.star.linguistic2.XHyphenator\
- com.sun.star.linguistic2.XLinguServiceEventBroadcaster\
- com.sun.star.linguistic2.XLinguServiceEventListener\
- com.sun.star.linguistic2.XLinguServiceManager\
- com.sun.star.linguistic2.XMeaning\
- com.sun.star.linguistic2.XPossibleHyphens\
- com.sun.star.linguistic2.XSearchableDictionaryList\
- com.sun.star.linguistic2.XSpellAlternatives\
- com.sun.star.linguistic2.XSpellChecker\
- com.sun.star.linguistic2.XSupportedLocales\
- com.sun.star.linguistic2.XThesaurus
-
-CXXFLAGS += -I..$/libhnj -I..$/..$/..$/utility
-CFLAGSCXX += -I..$/libhnj -I..$/..$/..$/utility
-CFLAGSCC += -I..$/libhnj -I..$/..$/..$/utility
-
-.IF "$(header)" == ""
-
-EXCEPTIONSFILES= \
- $(SLO)$/hprophelp.obj\
- $(SLO)$/hyphenimp.obj
-
-SLOFILES= \
- $(SLO)$/hprophelp.obj\
- $(SLO)$/hreg.obj\
- $(SLO)$/hyphenimp.obj
-
-
-SHL1TARGET= $(TARGET)$(UPD)$(DLLPOSTFIX)
-
-SHL1STDLIBS= \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(UNOLIB) \
- $(VOSLIB) \
- $(TOOLSLIB) \
- $(SVTOOLLIB) \
- $(SVLLIB) \
- $(VCLLIB) \
- $(SFXLIB) \
- $(SALLIB) \
- $(UCBHELPERLIB) \
- $(UNOTOOLSLIB) \
- $(LNGLIB) \
- $(HNJLIB) \
- $(ULINGULIB)
-
-
-# build DLL
-SHL1LIBS= $(SLB)$/$(TARGET).lib
-SHL1IMPLIB= i$(TARGET)
-SHL1DEPN= $(SHL1LIBS)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-.IF "$(OS)"!="MACOSX"
-SHL1VERSIONMAP= $(TARGET).map
-.ENDIF
-
-# build DEF file
-DEF1NAME =$(SHL1TARGET)
-#DEF1DEPN =$(MISC)$/$(SHL1TARGET).flt
-#DEFLIB1NAME =$(TARGET)
-#DEF1DES =Linguistic2 main DLL
-DEF1EXPORTFILE= exports.dxp
-
-.ENDIF
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs/substrings.pl b/lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs/substrings.pl
deleted file mode 100755
index 2f27b6b8e95d..000000000000
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs/substrings.pl
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/perl
-# A utility for finding substring embeddings in patterns
-
-$fn = $ARGV[0];
-if (!-e $fn) { $fn = "hyphen.us"; }
-open HYPH, $fn;
-open OUT, ">$ARGV[1]";
-
-while (<HYPH>)
-{
- if (/^\%/) {
- #comment, ignore
- } elsif (/^(.+)\%/) {
- $origpat = $1;
- $pat = $1;
- $pat =~ s/\d//g;
- push @patlist, $pat;
- $pattab{$pat} = $origpat;
- } elsif (/^(.+)$/) {
- $origpat = $1;
- $pat = $1;
- $pat =~ s/\d//g;
- push @patlist, $pat;
- $pattab{$pat} = $origpat;
- }
-}
-
-foreach $pat (@patlist) {
- $patsize = length $pat;
- for $i (0..$patsize - 1) {
- for $j (1..$patsize - $i) {
- $subpat = substr ($pat, $i, $j);
-# print "$pattab{$pat} $i $j $subpat $pattab{$subpat}\n";
- if (defined $pattab{$subpat}) {
- print "$pattab{$subpat} is embedded in $pattab{$pat}\n";
- $newpat = substr $pat, 0, $i + $j;
- if (!defined $newpattab{$newpat}) {
- $newpattab{$newpat} =
- substr ($pat, 0, $i).$pattab{$subpat};
- $ss = substr ($pat, 0, $i);
- print "$ss+$pattab{$subpat}\n";
- push @newpatlist, $newpat;
- } else {
- $tmp = $newpattab{$newpat};
- $newpattab{$newpat} =
- combine ($newpattab{$newpat}, $pattab{$subpat});
- print "$tmp + $pattab{$subpat} -> $newpattab{$newpat}\n";
- }
- }
- }
- }
-}
-
-foreach $pat (@newpatlist) {
- print OUT $newpattab{$pat}."\n";
-}
-
-#convert 'n1im' to 0n1i0m0 expresed as a list
-sub expand {
- my ($pat) = @_;
- my $last = '.';
- my @exp = ();
-
- foreach $c (split (//, $pat)) {
- if ($last =~ /[\D]/ && $c =~ /[\D]/) {
- push @exp, 0;
- }
- push @exp, $c;
- $last = $c;
- }
- if ($last =~ /[\D]/) {
- push @exp, 0;
- }
- return @exp;
-}
-
-# Combine two patterns, i.e. .ad4der + a2d becomes .a2d4der
-# The second pattern needs to be a substring of the first (modulo digits)
-sub combine {
- my @exp = expand shift;
- my @subexp = expand shift;
- my $pat1, $pat2;
- my $i;
-
- $pat1 = join ('', map { $_ =~ /\d/ ? () : $_ } @exp);
- $pat2 = join ('', map { $_ =~ /\d/ ? () : $_ } @subexp);
-
- for $i (0..length ($pat1) - length ($pat2)) {
- if (substr ($pat1, $i, length $pat2) eq $subpat) {
- for ($j = 0; $j < @subexp; $j += 2) {
-# print ("$i $j $subexp[$j] $exp[2 * $i + $j]\n");
- if ($subexp[$j] > $exp[2 * $i + $j]) {
- $exp[2 * $i + $j] = $subexp[$j];
- }
- }
- print ("$pat1 includes $pat2 at pos $i\n");
- }
- }
- return join ('', map { $_ eq '0' ? () : $_ } @exp);
-}
-
-
diff --git a/lingucomponent/source/spellcheck/spell/exports.dxp b/lingucomponent/source/spellcheck/spell/exports.dxp
deleted file mode 100644
index b0f85bf7bebf..000000000000
--- a/lingucomponent/source/spellcheck/spell/exports.dxp
+++ /dev/null
@@ -1,3 +0,0 @@
-component_getFactory
-component_getImplementationEnvironment
-component_writeInfo
diff --git a/lingucomponent/source/spellcheck/spell/makefile.mk b/lingucomponent/source/spellcheck/spell/makefile.mk
deleted file mode 100644
index 84d88176ffe1..000000000000
--- a/lingucomponent/source/spellcheck/spell/makefile.mk
+++ /dev/null
@@ -1,185 +0,0 @@
-#*************************************************************************
-#
-# $RCSfile: makefile.mk,v $
-#
-# $Revision: 1.4 $
-#
-# last change: $Author: svesik $ $Date: 2002-07-29 17:28:22 $
-#
-# The Contents of this file are made available subject to the terms of
-# either of the following licenses
-#
-# - GNU Lesser General Public License Version 2.1
-# - Sun Industry Standards Source License Version 1.1
-#
-# Sun Microsystems Inc., October, 2000
-#
-# GNU Lesser General Public License Version 2.1
-# =============================================
-# Copyright 2000 by Sun Microsystems, Inc.
-# 901 San Antonio Road, Palo Alto, CA 94303, USA
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License version 2.1, as published by the Free Software Foundation.
-#
-# This library 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 for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-#
-# Sun Industry Standards Source License Version 1.1
-# =================================================
-# The contents of this file are subject to the Sun Industry Standards
-# Source License Version 1.1 (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.openoffice.org/license.html.
-#
-# Software provided under this License is provided on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
-# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
-# See the License for the specific provisions governing your rights and
-# obligations concerning the Software.
-#
-# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
-#
-# Copyright: 2000 by Sun Microsystems, Inc.
-#
-# All Rights Reserved.
-#
-# Contributor(s): _______________________________________
-#
-#
-#
-#*************************************************************************
-
-PRJ = ..$/..$/..
-
-PRJNAME = lingucomponent
-TARGET = spell
-ENABLE_EXCEPTIONS=TRUE
-USE_DEFFILE=TRUE
-
-.IF "$(MYSPELLLIB)"==""
-.IF "$(GUI)"=="UNX"
-MYSPELLLIB=-lmyspell
-.ENDIF # unx
-.IF "$(GUI)"=="WNT"
-MYSPELLLIB=libmyspell.lib
-.ENDIF # wnt
-.ENDIF
-
-.IF "$(ULINGULIB)"==""
-.IF "$(GUI)"=="UNX"
-ULINGULIB=-lulingu$(UPD)$(DLLPOSTFIX)
-.ENDIF # unx
-.IF "$(GUI)"=="WNT"
-ULINGULIB=$(LIBPRE) ulingu.lib
-.ENDIF # wnt
-.ENDIF
-
-
-
-
-#----- Settings ---------------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-UNOUCRDEP= $(SOLARBINDIR)$/applicat.rdb
-UNOUCRRDB= $(SOLARBINDIR)$/applicat.rdb
-
-UNOTYPES=\
- com.sun.star.linguistic2.DictionaryEvent\
- com.sun.star.linguistic2.DictionaryEventFlags\
- com.sun.star.linguistic2.DictionaryListEvent\
- com.sun.star.linguistic2.DictionaryListEventFlags\
- com.sun.star.linguistic2.DictionaryType\
- com.sun.star.linguistic2.LinguServiceEventFlags\
- com.sun.star.linguistic2.SpellFailure\
- com.sun.star.linguistic2.XDictionary\
- com.sun.star.linguistic2.XDictionary1\
- com.sun.star.linguistic2.XDictionaryEntry\
- com.sun.star.linguistic2.XDictionaryEventListener\
- com.sun.star.linguistic2.XDictionaryList\
- com.sun.star.linguistic2.XDictionaryListEventListener\
- com.sun.star.linguistic2.XHyphenatedWord\
- com.sun.star.linguistic2.XHyphenator\
- com.sun.star.linguistic2.XLinguServiceEventBroadcaster\
- com.sun.star.linguistic2.XLinguServiceEventListener\
- com.sun.star.linguistic2.XLinguServiceManager\
- com.sun.star.linguistic2.XMeaning\
- com.sun.star.linguistic2.XPossibleHyphens\
- com.sun.star.linguistic2.XSearchableDictionaryList\
- com.sun.star.linguistic2.XSpellAlternatives\
- com.sun.star.linguistic2.XSpellChecker\
- com.sun.star.linguistic2.XSupportedLocales\
- com.sun.star.linguistic2.XThesaurus
-
-
-CXXFLAGS += -I..$/myspell -I..$/..$/utility
-CFLAGSCXX += -I..$/myspell -I..$/..$/utility
-CFLAGSCC += -I..$/myspell -I..$/..$/utility
-
-.IF "$(header)" == ""
-
-EXCEPTIONSFILES= \
- $(SLO)$/sprophelp.obj\
- $(SLO)$/sspellimp.obj
-
-SLOFILES= \
- $(SLO)$/sprophelp.obj\
- $(SLO)$/sreg.obj\
- $(SLO)$/sspellimp.obj
-
-
-SHL1TARGET= $(TARGET)$(UPD)$(DLLPOSTFIX)
-
-SHL1STDLIBS= \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(UNOLIB) \
- $(VOSLIB) \
- $(TOOLSLIB) \
- $(SVTOOLLIB) \
- $(SVLLIB) \
- $(VCLLIB) \
- $(SFXLIB) \
- $(SALLIB) \
- $(UCBHELPERLIB) \
- $(UNOTOOLSLIB) \
- $(LNGLIB) \
- $(MYSPELLLIB) \
- $(ULINGULIB)
-
-
-# build DLL
-SHL1LIBS= $(SLB)$/$(TARGET).lib
-SHL1IMPLIB= i$(TARGET)
-SHL1DEPN= $(SHL1LIBS)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-.IF "$(OS)"!="MACOSX"
-SHL1VERSIONMAP= $(TARGET).map
-.ENDIF
-
-# build DEF file
-DEF1NAME =$(SHL1TARGET)
-#DEF1DEPN =$(MISC)$/$(SHL1TARGET).flt
-#DEFLIB1NAME =$(TARGET)
-#DEF1DES =Linguistic2 main DLL
-DEF1EXPORTFILE= exports.dxp
-
-.ENDIF
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/lingucomponent/source/spellcheck/spell/spell.map b/lingucomponent/source/spellcheck/spell/spell.map
deleted file mode 100644
index bf1fbe0696c8..000000000000
--- a/lingucomponent/source/spellcheck/spell/spell.map
+++ /dev/null
@@ -1,8 +0,0 @@
-LEXPS_1_0 {
- global:
- component_getFactory;
- component_getImplementationEnvironment;
- component_writeInfo;
- local:
- *;
-};
diff --git a/lingucomponent/source/spellcheck/spell/spelldta.cxx b/lingucomponent/source/spellcheck/spell/spelldta.cxx
deleted file mode 100644
index 8de124ba7faf..000000000000
--- a/lingucomponent/source/spellcheck/spell/spelldta.cxx
+++ /dev/null
@@ -1,244 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: spelldta.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: khendricks $ $Date: 2001-09-08 15:55:44 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_
-#include <com/sun/star/uno/Reference.h>
-#endif
-
-#include <com/sun/star/linguistic2/SpellFailure.hpp>
-
-#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
-#include <tools/debug.hxx>
-#endif
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
-#include <unotools/processfactory.hxx>
-#endif
-#ifndef _OSL_MUTEX_HXX_
-#include <osl/mutex.hxx>
-#endif
-
-#include "spelldta.hxx"
-#include "lngsvcmgr.hxx"
-
-
-using namespace utl;
-using namespace osl;
-using namespace rtl;
-using namespace com::sun::star;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::linguistic2;
-
-namespace linguistic
-{
-
-///////////////////////////////////////////////////////////////////////////
-
-
-#define MAX_PROPOSALS 40
-
-Reference< XSpellAlternatives > MergeProposals(
- Reference< XSpellAlternatives > &rxAlt1,
- Reference< XSpellAlternatives > &rxAlt2)
-{
- Reference< XSpellAlternatives > xMerged;
-
- if (!rxAlt1.is())
- xMerged = rxAlt2;
- else if (!rxAlt2.is())
- xMerged = rxAlt1;
- else
- {
- INT32 nAltCount1 = rxAlt1->getAlternativesCount();
- Sequence< OUString > aAlt1( rxAlt1->getAlternatives() );
- const OUString *pAlt1 = aAlt1.getConstArray();
-
- INT32 nAltCount2 = rxAlt2->getAlternativesCount();
- Sequence< OUString > aAlt2( rxAlt2->getAlternatives() );
- const OUString *pAlt2 = aAlt2.getConstArray();
-
- INT32 nCountNew = Min( nAltCount1 + nAltCount2, (INT32) MAX_PROPOSALS );
- Sequence< OUString > aAltNew( nCountNew );
- OUString *pAltNew = aAltNew.getArray();
-
- INT32 nIndex = 0;
- INT32 i = 0;
- for (int j = 0; j < 2; j++)
- {
- INT32 nCount = j == 0 ? nAltCount1 : nAltCount2;
- const OUString *pAlt = j == 0 ? pAlt1 : pAlt2;
- for (i = 0; i < nCount && nIndex < MAX_PROPOSALS; i++)
- {
- if (pAlt[i].getLength())
- pAltNew[ nIndex++ ] = pAlt[ i ];
- }
- }
- DBG_ASSERT(nIndex == nCountNew, "lng : wrong number of proposals");
-
- SpellAlternatives *pSpellAlt = new SpellAlternatives;
- pSpellAlt->SetWordLanguage( rxAlt1->getWord(),
- LocaleToLanguage( rxAlt1->getLocale() ) );
- pSpellAlt->SetFailureType( rxAlt1->getFailureType() );
- pSpellAlt->SetAlternatives( aAltNew );
- xMerged = pSpellAlt;
- }
-
- return xMerged;
-}
-
-
-///////////////////////////////////////////////////////////////////////////
-
-
-SpellAlternatives::SpellAlternatives()
-{
- nLanguage = LANGUAGE_NONE;
- nType = SpellFailure::IS_NEGATIVE_WORD;
-}
-
-
-SpellAlternatives::SpellAlternatives(
- const OUString &rWord, INT16 nLang,
- INT16 nFailureType, const OUString &rRplcWord ) :
- aWord (rWord),
- nLanguage (nLang),
- nType (nFailureType),
- aAlt ( Sequence< OUString >(1) )
-{
- if (rRplcWord.getLength())
- aAlt.getArray()[ 0 ] = rRplcWord;
- else
- aAlt.realloc( 0 );
-}
-
-
-SpellAlternatives::~SpellAlternatives()
-{
-}
-
-
-OUString SAL_CALL SpellAlternatives::getWord()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- return aWord;
-}
-
-
-Locale SAL_CALL SpellAlternatives::getLocale()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- return CreateLocale( nLanguage );
-}
-
-
-sal_Int16 SAL_CALL SpellAlternatives::getFailureType()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- return nType;
-}
-
-
-sal_Int16 SAL_CALL SpellAlternatives::getAlternativesCount()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- return (INT16) aAlt.getLength();
-}
-
-
-Sequence< OUString > SAL_CALL SpellAlternatives::getAlternatives()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- return aAlt;
-}
-
-
-void SpellAlternatives::SetWordLanguage(const OUString &rWord, INT16 nLang)
-{
- MutexGuard aGuard( GetLinguMutex() );
- aWord = rWord;
- nLanguage = nLang;
-}
-
-
-void SpellAlternatives::SetFailureType(INT16 nTypeP)
-{
- MutexGuard aGuard( GetLinguMutex() );
- nType = nTypeP;
-}
-
-
-void SpellAlternatives::SetAlternatives( const Sequence< OUString > &rAlt )
-{
- MutexGuard aGuard( GetLinguMutex() );
- aAlt = rAlt;
-}
-
-
-///////////////////////////////////////////////////////////////////////////
-
-} // namespace linguistic
-
diff --git a/lingucomponent/source/spellcheck/spell/spelldta.hxx b/lingucomponent/source/spellcheck/spell/spelldta.hxx
deleted file mode 100644
index ea15f1001ebf..000000000000
--- a/lingucomponent/source/spellcheck/spell/spelldta.hxx
+++ /dev/null
@@ -1,143 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: spelldta.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: khendricks $ $Date: 2001-09-08 15:55:44 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef _LINGUISTIC_SPELLDTA_HXX_
-#define _LINGUISTIC_SPELLDTA_HXX_
-
-
-#ifndef _COM_SUN_STAR_LINGUISTIC2_XSPELLALTERNATIVES_HPP_
-#include <com/sun/star/linguistic2/XSpellAlternatives.hpp>
-#endif
-
-#include <tools/solar.h>
-
-#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type
-#include <cppuhelper/implbase1.hxx> // helper for implementations
-
-
-namespace linguistic
-{
-
-///////////////////////////////////////////////////////////////////////////
-
-::com::sun::star::uno::Reference<
- ::com::sun::star::linguistic2::XSpellAlternatives >
- MergeProposals(
- ::com::sun::star::uno::Reference<
- ::com::sun::star::linguistic2::XSpellAlternatives > &rxAlt1,
- ::com::sun::star::uno::Reference<
- ::com::sun::star::linguistic2::XSpellAlternatives > &rxAlt2 );
-
-///////////////////////////////////////////////////////////////////////////
-
-
-class SpellAlternatives :
- public cppu::WeakImplHelper1
- <
- ::com::sun::star::linguistic2::XSpellAlternatives
- >
-{
- ::com::sun::star::uno::Sequence< ::rtl::OUString > aAlt; // list of alternatives, may be empty.
- ::rtl::OUString aWord;
- INT16 nType; // type of failure
- INT16 nLanguage;
-
- // disallow copy-constructor and assignment-operator for now
- SpellAlternatives(const SpellAlternatives &);
- SpellAlternatives & operator = (const SpellAlternatives &);
-
-public:
- SpellAlternatives();
- SpellAlternatives(const ::rtl::OUString &rWord, INT16 nLang, INT16 nFailureType,
- const ::rtl::OUString &rRplcWord );
- virtual ~SpellAlternatives();
-
- // XSpellAlternatives
- virtual ::rtl::OUString SAL_CALL
- getWord()
- throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::lang::Locale SAL_CALL
- getLocale()
- throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL
- getFailureType()
- throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL
- getAlternativesCount()
- throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
- getAlternatives()
- throw(::com::sun::star::uno::RuntimeException);
-
- // non-interface specific functions
- void SetWordLanguage(const ::rtl::OUString &rWord, INT16 nLang);
- void SetFailureType(INT16 nTypeP);
- void SetAlternatives(
- const ::com::sun::star::uno::Sequence< ::rtl::OUString > &rAlt );
-};
-
-
-///////////////////////////////////////////////////////////////////////////
-
-} // namespace linguistic
-
-#endif
-
diff --git a/lingucomponent/source/spellcheck/spell/sprophelp.cxx b/lingucomponent/source/spellcheck/spell/sprophelp.cxx
deleted file mode 100644
index 2117c13bc545..000000000000
--- a/lingucomponent/source/spellcheck/spell/sprophelp.cxx
+++ /dev/null
@@ -1,411 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: sprophelp.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: khendricks $ $Date: 2001-09-08 15:55:44 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#include <linguistic/misc.hxx>
-
-#include "sprophelp.hxx"
-#include <linguistic/lngprops.hxx>
-
-#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
-#include <tools/debug.hxx>
-#endif
-
-#include <com/sun/star/linguistic2/LinguServiceEvent.hpp>
-#include <com/sun/star/linguistic2/LinguServiceEventFlags.hpp>
-#include <com/sun/star/linguistic2/XLinguServiceEventListener.hpp>
-
-#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
-#include <com/sun/star/beans/XPropertySet.hpp>
-#endif
-#ifndef _OSL_MUTEX_HXX_
-#include <osl/mutex.hxx>
-#endif
-
-//using namespace utl;
-using namespace osl;
-using namespace rtl;
-using namespace com::sun::star;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::linguistic2;
-using namespace linguistic;
-
-
-#define A2OU(x) ::rtl::OUString::createFromAscii( x )
-
-///////////////////////////////////////////////////////////////////////////
-
-
-PropertyChgHelper::PropertyChgHelper(
- const Reference< XInterface > & rxSource,
- Reference< XPropertySet > &rxPropSet,
- const char *pPropNames[], USHORT nPropCount ) :
- xMyEvtObj (rxSource),
- xPropSet (rxPropSet),
- aPropNames (nPropCount),
- aLngSvcEvtListeners (GetLinguMutex())
-{
- OUString *pName = aPropNames.getArray();
- for (INT32 i = 0; i < nPropCount; ++i)
- {
- pName[i] = A2OU( pPropNames[i] );
- }
-}
-
-
-PropertyChgHelper::PropertyChgHelper( const PropertyChgHelper &rHelper ) :
- aLngSvcEvtListeners (GetLinguMutex())
-{
- xPropSet = rHelper.xPropSet;
- aPropNames = rHelper.aPropNames;
- AddAsPropListener();
-
- xMyEvtObj = rHelper.xMyEvtObj;
-}
-
-
-PropertyChgHelper::~PropertyChgHelper()
-{
-}
-
-
-void PropertyChgHelper::AddAsPropListener()
-{
- if (xPropSet.is())
- {
- INT32 nLen = aPropNames.getLength();
- const OUString *pPropName = aPropNames.getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- if (pPropName[i].getLength())
- xPropSet->addPropertyChangeListener( pPropName[i], this );
- }
- }
-}
-
-void PropertyChgHelper::RemoveAsPropListener()
-{
- if (xPropSet.is())
- {
- INT32 nLen = aPropNames.getLength();
- const OUString *pPropName = aPropNames.getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- if (pPropName[i].getLength())
- xPropSet->removePropertyChangeListener( pPropName[i], this );
- }
- }
-}
-
-
-void PropertyChgHelper::LaunchEvent( const LinguServiceEvent &rEvt )
-{
- cppu::OInterfaceIteratorHelper aIt( aLngSvcEvtListeners );
- while (aIt.hasMoreElements())
- {
- Reference< XLinguServiceEventListener > xRef( aIt.next(), UNO_QUERY );
- if (xRef.is())
- xRef->processLinguServiceEvent( rEvt );
- }
-}
-
-
-void SAL_CALL PropertyChgHelper::disposing( const EventObject& rSource )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- if (rSource.Source == xPropSet)
- {
- RemoveAsPropListener();
- xPropSet = NULL;
- aPropNames.realloc( 0 );
- }
-}
-
-
-sal_Bool SAL_CALL
- PropertyChgHelper::addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (rxListener.is())
- {
- INT32 nCount = aLngSvcEvtListeners.getLength();
- bRes = aLngSvcEvtListeners.addInterface( rxListener ) != nCount;
- }
- return bRes;
-}
-
-
-sal_Bool SAL_CALL
- PropertyChgHelper::removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (rxListener.is())
- {
- INT32 nCount = aLngSvcEvtListeners.getLength();
- bRes = aLngSvcEvtListeners.removeInterface( rxListener ) != nCount;
- }
- return bRes;
-}
-
-///////////////////////////////////////////////////////////////////////////
-
-static const char *aSP[] =
-{
- UPN_IS_GERMAN_PRE_REFORM,
- UPN_IS_IGNORE_CONTROL_CHARACTERS,
- UPN_IS_USE_DICTIONARY_LIST,
- UPN_IS_SPELL_UPPER_CASE,
- UPN_IS_SPELL_WITH_DIGITS,
- UPN_IS_SPELL_CAPITALIZATION
-};
-
-
-PropertyHelper_Spell::PropertyHelper_Spell(
- const Reference< XInterface > & rxSource,
- Reference< XPropertySet > &rxPropSet ) :
- PropertyChgHelper ( rxSource, rxPropSet, aSP, sizeof(aSP) / sizeof(aSP[0]) )
-{
- SetDefault();
- INT32 nLen = GetPropNames().getLength();
- if (rxPropSet.is() && nLen)
- {
- const OUString *pPropName = GetPropNames().getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- BOOL *pbVal = NULL,
- *pbResVal = NULL;
-
- if (A2OU( UPN_IS_GERMAN_PRE_REFORM ) == pPropName[i])
- {
- pbVal = &bIsGermanPreReform;
- pbResVal = &bResIsGermanPreReform;
- }
- else if (A2OU( UPN_IS_IGNORE_CONTROL_CHARACTERS ) == pPropName[i])
- {
- pbVal = &bIsIgnoreControlCharacters;
- pbResVal = &bResIsIgnoreControlCharacters;
- }
- else if (A2OU( UPN_IS_USE_DICTIONARY_LIST ) == pPropName[i])
- {
- pbVal = &bIsUseDictionaryList;
- pbResVal = &bResIsUseDictionaryList;
- }
- else if (A2OU( UPN_IS_SPELL_UPPER_CASE ) == pPropName[i])
- {
- pbVal = &bIsSpellUpperCase;
- pbResVal = &bResIsSpellUpperCase;
- }
- else if (A2OU( UPN_IS_SPELL_WITH_DIGITS ) == pPropName[i])
- {
- pbVal = &bIsSpellWithDigits;
- pbResVal = &bResIsSpellWithDigits;
- }
- else if (A2OU( UPN_IS_SPELL_CAPITALIZATION ) == pPropName[i])
- {
- pbVal = &bIsSpellCapitalization;
- pbResVal = &bResIsSpellCapitalization;
- }
-
- if (pbVal && pbResVal)
- {
- rxPropSet->getPropertyValue( pPropName[i] ) >>= *pbVal;
- *pbResVal = *pbVal;
- }
- }
- }
-}
-
-
-PropertyHelper_Spell::~PropertyHelper_Spell()
-{
-}
-
-
-void PropertyHelper_Spell::SetDefault()
-{
- bResIsGermanPreReform = bIsGermanPreReform = FALSE;
- bResIsIgnoreControlCharacters = bIsIgnoreControlCharacters = TRUE;
- bResIsUseDictionaryList = bIsUseDictionaryList = TRUE;
- bResIsSpellUpperCase = bIsSpellUpperCase = FALSE;
- bResIsSpellWithDigits = bIsSpellWithDigits = FALSE;
- bResIsSpellCapitalization = bIsSpellCapitalization = TRUE;
-}
-
-
-void SAL_CALL
- PropertyHelper_Spell::propertyChange( const PropertyChangeEvent& rEvt )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (GetPropSet().is() && rEvt.Source == GetPropSet())
- {
- INT16 nLngSvcFlags = 0;
- BOOL bSCWA = FALSE, // SPELL_CORRECT_WORDS_AGAIN ?
- bSWWA = FALSE; // SPELL_WRONG_WORDS_AGAIN ?
-
- BOOL *pbVal = NULL;
- switch (rEvt.PropertyHandle)
- {
- case UPH_IS_IGNORE_CONTROL_CHARACTERS :
- {
- pbVal = &bIsIgnoreControlCharacters;
- break;
- }
- case UPH_IS_GERMAN_PRE_REFORM :
- {
- pbVal = &bIsGermanPreReform;
- bSCWA = bSWWA = TRUE;
- break;
- }
- case UPH_IS_USE_DICTIONARY_LIST :
- {
- pbVal = &bIsUseDictionaryList;
- bSCWA = bSWWA = TRUE;
- break;
- }
- case UPH_IS_SPELL_UPPER_CASE :
- {
- pbVal = &bIsSpellUpperCase;
- bSCWA = FALSE == *pbVal; // FALSE->TRUE change?
- bSWWA = !bSCWA; // TRUE->FALSE change?
- break;
- }
- case UPH_IS_SPELL_WITH_DIGITS :
- {
- pbVal = &bIsSpellWithDigits;
- bSCWA = FALSE == *pbVal; // FALSE->TRUE change?
- bSWWA = !bSCWA; // TRUE->FALSE change?
- break;
- }
- case UPH_IS_SPELL_CAPITALIZATION :
- {
- pbVal = &bIsSpellCapitalization;
- bSCWA = FALSE == *pbVal; // FALSE->TRUE change?
- bSWWA = !bSCWA; // TRUE->FALSE change?
- break;
- }
- default:
- DBG_ERROR( "unknown property" );
- }
- if (pbVal)
- rEvt.NewValue >>= *pbVal;
-
- if (bSCWA)
- nLngSvcFlags |= LinguServiceEventFlags::SPELL_CORRECT_WORDS_AGAIN;
- if (bSWWA)
- nLngSvcFlags |= LinguServiceEventFlags::SPELL_WRONG_WORDS_AGAIN;
- if (nLngSvcFlags)
- {
- LinguServiceEvent aEvt( GetEvtObj(), nLngSvcFlags );
- LaunchEvent( aEvt );
- }
- }
-}
-
-
-void PropertyHelper_Spell::SetTmpPropVals( const PropertyValues &rPropVals )
-{
- // set return value to default value unless there is an
- // explicitly supplied temporary value
- bResIsGermanPreReform = bIsGermanPreReform;
- bResIsIgnoreControlCharacters = bIsIgnoreControlCharacters;
- bResIsUseDictionaryList = bIsUseDictionaryList;
- bResIsSpellUpperCase = bIsSpellUpperCase;
- bResIsSpellWithDigits = bIsSpellWithDigits;
- bResIsSpellCapitalization = bIsSpellCapitalization;
- //
- INT32 nLen = rPropVals.getLength();
- if (nLen)
- {
- const PropertyValue *pVal = rPropVals.getConstArray();
- for (INT32 i = 0; i < nLen; ++i)
- {
- BOOL *pbResVal = NULL;
- switch (pVal[i].Handle)
- {
- case UPH_IS_GERMAN_PRE_REFORM : pbResVal = &bResIsGermanPreReform; break;
- case UPH_IS_IGNORE_CONTROL_CHARACTERS : pbResVal = &bResIsIgnoreControlCharacters; break;
- case UPH_IS_USE_DICTIONARY_LIST : pbResVal = &bResIsUseDictionaryList; break;
- case UPH_IS_SPELL_UPPER_CASE : pbResVal = &bResIsSpellUpperCase; break;
- case UPH_IS_SPELL_WITH_DIGITS : pbResVal = &bResIsSpellWithDigits; break;
- case UPH_IS_SPELL_CAPITALIZATION : pbResVal = &bResIsSpellCapitalization; break;
- default:
- DBG_ERROR( "unknown property" );
- }
- if (pbResVal)
- pVal[i].Value >>= *pbResVal;
- }
- }
-}
-
-///////////////////////////////////////////////////////////////////////////
-
diff --git a/lingucomponent/source/spellcheck/spell/sprophelp.hxx b/lingucomponent/source/spellcheck/spell/sprophelp.hxx
deleted file mode 100644
index 6cd920f84448..000000000000
--- a/lingucomponent/source/spellcheck/spell/sprophelp.hxx
+++ /dev/null
@@ -1,214 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: sprophelp.hxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: khendricks $ $Date: 2001-09-08 15:55:44 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef _LINGU2_PROPHELP_HXX_
-#define _LINGU2_PROPHELP_HXX_
-
-#include <tools/solar.h>
-
-#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type
-#include <cppuhelper/implbase2.hxx> // helper for implementations
-
-#ifndef _CPPUHELPER_INTERFACECONTAINER_H_
-#include <cppuhelper/interfacecontainer.h>
-#endif
-
-#ifndef _COM_SUN_STAR_BEANS_XPROPERTYCHANGELISTENER_HPP_
-#include <com/sun/star/beans/XPropertyChangeListener.hpp>
-#endif
-#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_HPP_
-#include <com/sun/star/beans/PropertyValues.hpp>
-#endif
-
-#include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp>
-
-namespace com { namespace sun { namespace star { namespace beans {
- class XPropertySet;
-}}}};
-
-namespace com { namespace sun { namespace star { namespace linguistic2 {
- struct LinguServiceEvent;
-}}}};
-
-
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::linguistic2;
-
-///////////////////////////////////////////////////////////////////////////
-// PropertyChgHelper
-// virtual base class for all XPropertyChangeListener members of the
-// various lingu services.
-// Only propertyChange needs to be implemented.
-
-class PropertyChgHelper :
- public cppu::WeakImplHelper2
- <
- XPropertyChangeListener,
- XLinguServiceEventBroadcaster
- >
-{
- Sequence< OUString > aPropNames;
- Reference< XInterface > xMyEvtObj;
- ::cppu::OInterfaceContainerHelper aLngSvcEvtListeners;
- Reference< XPropertySet > xPropSet;
-
- // disallow use of copy-constructor and assignment-operator
- PropertyChgHelper( const PropertyChgHelper & );
- PropertyChgHelper & operator = ( const PropertyChgHelper & );
-
-public:
- PropertyChgHelper(
- const Reference< XInterface > &rxSource,
- Reference< XPropertySet > &rxPropSet,
- const char *pPropNames[], USHORT nPropCount );
- virtual ~PropertyChgHelper();
-
- // XEventListener
- virtual void SAL_CALL
- disposing( const EventObject& rSource )
- throw(RuntimeException);
-
- // XPropertyChangeListener
- virtual void SAL_CALL
- propertyChange( const PropertyChangeEvent& rEvt )
- throw(RuntimeException) = 0;
-
- // XLinguServiceEventBroadcaster
- virtual sal_Bool SAL_CALL
- addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL
- removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxListener )
- throw(RuntimeException);
-
- // non UNO functions
- void AddAsPropListener();
- void RemoveAsPropListener();
- void LaunchEvent( const LinguServiceEvent& rEvt );
-
- const Sequence< OUString > &
- GetPropNames() const { return aPropNames; }
- const Reference< XPropertySet > &
- GetPropSet() const { return xPropSet; }
- const Reference< XInterface > &
- GetEvtObj() const { return xMyEvtObj; }
-};
-
-
-///////////////////////////////////////////////////////////////////////////
-
-
-class PropertyHelper_Spell :
- public PropertyChgHelper
-{
- // default values
- BOOL bIsGermanPreReform;
- BOOL bIsIgnoreControlCharacters;
- BOOL bIsUseDictionaryList;
- BOOL bIsSpellUpperCase;
- BOOL bIsSpellWithDigits;
- BOOL bIsSpellCapitalization;
-
- // return values, will be set to default value or current temporary value
- BOOL bResIsGermanPreReform;
- BOOL bResIsIgnoreControlCharacters;
- BOOL bResIsUseDictionaryList;
- BOOL bResIsSpellUpperCase;
- BOOL bResIsSpellWithDigits;
- BOOL bResIsSpellCapitalization;
-
-
- // disallow use of copy-constructor and assignment-operator
- PropertyHelper_Spell( const PropertyHelper_Spell & );
- PropertyHelper_Spell & operator = ( const PropertyHelper_Spell & );
-
- void SetDefault();
-
-public:
- PropertyHelper_Spell(
- const Reference< XInterface > &rxSource,
- Reference< XPropertySet > &rxPropSet );
- virtual ~PropertyHelper_Spell();
-
- // XPropertyChangeListener
- virtual void SAL_CALL
- propertyChange( const PropertyChangeEvent& rEvt )
- throw(RuntimeException);
-
- void SetTmpPropVals( const PropertyValues &rPropVals );
-
- BOOL IsGermanPreReform() const { return bResIsGermanPreReform; }
- BOOL IsIgnoreControlCharacters() const { return bResIsIgnoreControlCharacters; }
- BOOL IsUseDictionaryList() const { return bResIsUseDictionaryList; }
- BOOL IsSpellUpperCase() const { return bResIsSpellUpperCase; }
- BOOL IsSpellWithDigits() const { return bResIsSpellWithDigits; }
- BOOL IsSpellCapitalization() const { return bResIsSpellCapitalization; }
-};
-
-///////////////////////////////////////////////////////////////////////////
-
-#endif
-
diff --git a/lingucomponent/source/spellcheck/spell/sreg.cxx b/lingucomponent/source/spellcheck/spell/sreg.cxx
deleted file mode 100644
index 3ca952a9cd3d..000000000000
--- a/lingucomponent/source/spellcheck/spell/sreg.cxx
+++ /dev/null
@@ -1,118 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: sreg.cxx,v $
- *
- * $Revision: 1.1 $
- *
- * last change: $Author: khendricks $ $Date: 2001-09-08 15:55:44 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-
-#include <cppuhelper/factory.hxx> // helper for factories
-#ifndef _RTL_STRING_HXX_
-#include <rtl/string.hxx>
-#endif
-
-#include <com/sun/star/registry/XRegistryKey.hpp>
-
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-
-////////////////////////////////////////
-// declaration of external RegEntry-functions defined by the service objects
-//
-
-extern sal_Bool SAL_CALL SpellChecker_writeInfo(
- void * /*pServiceManager*/, XRegistryKey * pRegistryKey );
-
-extern void * SAL_CALL SpellChecker_getFactory(
- const sal_Char * pImplName,
- XMultiServiceFactory * pServiceManager,
- void * /*pRegistryKey*/ );
-
-////////////////////////////////////////
-// definition of the two functions that are used to provide the services
-//
-
-extern "C"
-{
-
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, XRegistryKey * pRegistryKey )
-{
- return SpellChecker_writeInfo( pServiceManager, pRegistryKey );
-}
-
-void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-void * SAL_CALL component_getFactory(
- const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
-{
- void * pRet = SpellChecker_getFactory(
- pImplName,
- reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
- pRegistryKey );
-
- return pRet;
-}
-
-}
-
-///////////////////////////////////////////////////////////////////////////
-
diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.cxx b/lingucomponent/source/spellcheck/spell/sspellimp.cxx
deleted file mode 100644
index 482f18d2a1a5..000000000000
--- a/lingucomponent/source/spellcheck/spell/sspellimp.cxx
+++ /dev/null
@@ -1,737 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: sspellimp.cxx,v $
- *
- * $Revision: 1.7 $
- *
- * last change: $Author: svesik $ $Date: 2002-07-29 17:28:22 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_
-#include <com/sun/star/uno/Reference.h>
-#endif
-#ifndef _COM_SUN_STAR_LINGUISTIC2_XSEARCHABLEDICTIONARYLIST_HPP_
-#include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp>
-#endif
-
-#include <com/sun/star/linguistic2/SpellFailure.hpp>
-#include <cppuhelper/factory.hxx> // helper for factories
-#include <com/sun/star/registry/XRegistryKey.hpp>
-
-#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
-#include <tools/debug.hxx>
-#endif
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
-#include <unotools/processfactory.hxx>
-#endif
-#ifndef _OSL_MUTEX_HXX_
-#include <osl/mutex.hxx>
-#endif
-
-#include <myspell.hxx>
-#include <dictmgr.hxx>
-
-#ifndef _SPELLIMP_HXX
-#include <sspellimp.hxx>
-#endif
-
-#include <linguistic/lngprops.hxx>
-#include "spelldta.hxx"
-
-#ifndef INCLUDED_SVTOOLS_PATHOPTIONS_HXX
-#include <svtools/pathoptions.hxx>
-#endif
-#ifndef INCLUDED_SVTOOLS_USEROPTIONS_HXX
-#include <svtools/useroptions.hxx>
-#endif
-#include <osl/file.hxx>
-
-
-
-using namespace utl;
-using namespace osl;
-using namespace rtl;
-using namespace com::sun::star;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::linguistic2;
-using namespace linguistic;
-
-
-///////////////////////////////////////////////////////////////////////////
-
-BOOL operator == ( const Locale &rL1, const Locale &rL2 )
-{
- return rL1.Language == rL2.Language &&
- rL1.Country == rL2.Country &&
- rL1.Variant == rL2.Variant;
-}
-
-///////////////////////////////////////////////////////////////////////////
-
-SpellChecker::SpellChecker() :
- aEvtListeners ( GetLinguMutex() )
-{
- bDisposing = FALSE;
- pPropHelper = NULL;
- numdict = 0;
-}
-
-
-SpellChecker::~SpellChecker()
-{
-
- for (int i = 0; i < numdict; i++) {
- if (aDicts[i]) delete aDicts[i];
- aDicts[i] = NULL;
- }
- delete[] aDicts;
- aDicts = NULL;
- delete[] aDEncs;
- aDEncs = NULL;
- delete[] aDLocs;
- aDLocs = NULL;
- delete[] aDNames;
- aDNames = NULL;
- numdict = 0;
- if (pPropHelper)
- pPropHelper->RemoveAsPropListener();
-}
-
-
-PropertyHelper_Spell & SpellChecker::GetPropHelper_Impl()
-{
- if (!pPropHelper)
- {
- Reference< XPropertySet > xPropSet( GetLinguProperties(), UNO_QUERY );
-
- pPropHelper = new PropertyHelper_Spell( (XSpellChecker *) this, xPropSet );
- xPropHelper = pPropHelper;
- pPropHelper->AddAsPropListener(); //! after a reference is established
- }
- return *pPropHelper;
-}
-
-
-Sequence< Locale > SAL_CALL SpellChecker::getLocales()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- // this routine should return the locales supported by the installed
- // dictionaries. So here we need to parse both the user edited
- // dictionary list and the shared dictionary list
- // to see what dictionaries the admin/user has installed
-
- int numusr; // number of user dictionary entries
- int numshr; // number of shared dictionary entries
- dictentry * spdict; // shared dict entry pointer
- dictentry * updict; // user dict entry pointer
- SvtPathOptions aPathOpt;
-
- if (!numdict) {
-
- // invoke a dictionary manager to get the user dictionary list
- OUString usrlst = aPathOpt.GetUserDictionaryPath() + A2OU("/dictionary.lst");
- OUString ulst;
- osl::FileBase::getSystemPathFromFileURL(usrlst,ulst);
- OString uTmp(OU2ENC(ulst, osl_getThreadTextEncoding()));
- DictMgr* udMgr = new DictMgr(uTmp.getStr(),"DICT");
- numusr = 0;
- if (udMgr)
- numusr = udMgr->get_list(&updict);
-
-
- // invoke a second dictionary manager to get the shared dictionary list
- OUString shrlst = aPathOpt.GetLinguisticPath() + A2OU("/ooo/dictionary.lst");
- OUString slst;
- osl::FileBase::getSystemPathFromFileURL(shrlst,slst);
- OString sTmp(OU2ENC(slst, osl_getThreadTextEncoding()));
- DictMgr* sdMgr = new DictMgr(sTmp.getStr(),"DICT");
- numshr = 0;
- if (sdMgr)
- numshr = sdMgr->get_list(&spdict);
-
- // we really should merge these and remove duplicates but since
- // users can name their dictionaries anything they want it would
- // be impossible to know if a real duplication exists unless we
- // add some unique key to each myspell dictionary
- numdict = numshr + numusr;
-
- if (numdict) {
- aDicts = new MySpell* [numdict];
- aDEncs = new rtl_TextEncoding [numdict];
- aDLocs = new Locale [numdict];
- aDNames = new OUString [numdict];
- aSuppLocales.realloc(numdict);
- Locale * pLocale = aSuppLocales.getArray();
- int numlocs = 0;
- int newloc;
- int i,j;
- int k = 0;
-
- //first add the user dictionaries
- for (i = 0; i < numusr; i++) {
- Locale nLoc( A2OU(updict->lang), A2OU(updict->region), OUString() );
- newloc = 1;
- for (j = 0; j < numlocs; j++) {
- if (nLoc == pLocale[j]) newloc = 0;
- }
- if (newloc) {
- pLocale[numlocs] = nLoc;
- numlocs++;
- }
- aDLocs[k] = nLoc;
- aDicts[k] = NULL;
- aDEncs[k] = 0;
- aDNames[k] = aPathOpt.GetUserDictionaryPath() + A2OU("/") + A2OU(updict->filename);
- k++;
- updict++;
- }
-
- // now add the shared dictionaries
- for (i = 0; i < numshr; i++) {
- Locale nLoc( A2OU(spdict->lang), A2OU(spdict->region), OUString() );
- newloc = 1;
- for (j = 0; j < numlocs; j++) {
- if (nLoc == pLocale[j]) newloc = 0;
- }
- if (newloc) {
- pLocale[numlocs] = nLoc;
- numlocs++;
- }
- aDLocs[k] = nLoc;
- aDicts[k] = NULL;
- aDEncs[k] = 0;
- aDNames[k] = aPathOpt.GetLinguisticPath() + A2OU("/ooo/") + A2OU(spdict->filename);
- k++;
- spdict++;
- }
-
- aSuppLocales.realloc(numlocs);
-
- } else {
- /* no dictionary.lst so just use default en_US dictionary at shared location */
- numdict = 1;
- aDicts = new MySpell*[1];
- aDEncs = new rtl_TextEncoding[1];
- aDLocs = new Locale[1];
- aDNames = new OUString[1];
- aSuppLocales.realloc(1);
- Locale *pLocale = aSuppLocales.getArray();
- Locale nLoc( A2OU("en"), A2OU("US"), OUString() );
- pLocale[0] = nLoc;
- aDLocs[0] = nLoc;
- aDicts[0] = NULL;
- aDNames[0] = aPathOpt.GetLinguisticPath() + A2OU("/ooo/") + A2OU("en_US");
- }
-
- /* de-allocation of memory is handled inside the DictMgr */
- updict = NULL;
- if (udMgr) {
- delete udMgr;
- udMgr = NULL;
- }
- spdict = NULL;
- if (sdMgr) {
- delete sdMgr;
- sdMgr = NULL;
- }
-
- }
-
- return aSuppLocales;
-}
-
-
-sal_Bool SAL_CALL SpellChecker::hasLocale(const Locale& rLocale)
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (!aSuppLocales.getLength())
- getLocales();
-
- INT32 nLen = aSuppLocales.getLength();
- for (INT32 i = 0; i < nLen; ++i)
- {
- const Locale *pLocale = aSuppLocales.getConstArray();
- if (rLocale == pLocale[i])
- {
- bRes = TRUE;
- break;
- }
- }
- return bRes;
-}
-
-
-INT16 SpellChecker::GetSpellFailure( const OUString &rWord, const Locale &rLocale )
-{
- MySpell * pMS;
- rtl_TextEncoding aEnc;
-
- // initialize a myspell object for each dictionary once
- // (note: mutex is held higher up in isValid)
-
-
- INT16 nRes = -1;
- String aTmp( rWord );
-
- if (aTmp.Len())
- {
-
- for (int i =0; i < numdict; i++) {
- pMS = NULL;
- aEnc = 0;
-
- if (rLocale == aDLocs[i])
- {
- if (!aDicts[i])
- {
- OUString dicpath = aDNames[i] + A2OU(".dic");
- OUString affpath = aDNames[i] + A2OU(".aff");
- OUString dict;
- OUString aff;
- osl::FileBase::getSystemPathFromFileURL(dicpath,dict);
- osl::FileBase::getSystemPathFromFileURL(affpath,aff);
- OString aTmpaff(OU2ENC(aff,osl_getThreadTextEncoding()));
- OString aTmpdict(OU2ENC(dict,osl_getThreadTextEncoding()));
- aDicts[i] = new MySpell(aTmpaff.getStr(),aTmpdict.getStr());
- aDEncs[i] = 0;
- if (aDicts[i]) {
- aDEncs[i] = rtl_getTextEncodingFromUnixCharset(aDicts[i]->get_dic_encoding());
- }
- }
- pMS = aDicts[i];
- aEnc = aDEncs[i];
- }
- if (pMS)
- {
- OString aWrd(OU2ENC(rWord,aEnc));
- int rVal = pMS->spell((char*)aWrd.getStr());
- if (rVal != 1)
- {
- nRes = SpellFailure::SPELLING_ERROR;
- } else {
- return -1;
- }
- pMS = NULL;
- }
- }
- }
-
- return nRes;
-}
-
-
-sal_Bool SAL_CALL
- SpellChecker::isValid( const OUString& rWord, const Locale& rLocale,
- const PropertyValues& rProperties )
- throw(IllegalArgumentException, RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (rLocale == Locale() || !rWord.getLength())
- return TRUE;
-
- if (!hasLocale( rLocale ))
-#ifdef LINGU_EXCEPTIONS
- throw( IllegalArgumentException() );
-#else
- return TRUE;
-#endif
-
- // Get property values to be used.
- // These are be the default values set in the SN_LINGU_PROPERTIES
- // PropertySet which are overridden by the supplied ones from the
- // last argument.
- // You'll probably like to use a simplier solution than the provided
- // one using the PropertyHelper_Spell.
-
- PropertyHelper_Spell &rHelper = GetPropHelper();
- rHelper.SetTmpPropVals( rProperties );
-
- INT16 nFailure = GetSpellFailure( rWord, rLocale );
- if (nFailure != -1)
- {
- INT16 nLang = LocaleToLanguage( rLocale );
- // postprocess result for errors that should be ignored
- if ( (!rHelper.IsSpellUpperCase() && IsUpper( rWord, nLang ))
- || (!rHelper.IsSpellWithDigits() && HasDigits( rWord ))
- || (!rHelper.IsSpellCapitalization()
- && nFailure == SpellFailure::CAPTION_ERROR)
- )
- nFailure = -1;
- }
-
- return (nFailure == -1);
-}
-
-
-Reference< XSpellAlternatives >
- SpellChecker::GetProposals( const OUString &rWord, const Locale &rLocale )
-{
- // Retrieves the return values for the 'spell' function call in case
- // of a misspelled word.
- // Especially it may give a list of suggested (correct) words:
-
- Reference< XSpellAlternatives > xRes;
- // note: mutex is held by higher up by spell which covers both
-
- MySpell* pMS;
- rtl_TextEncoding aEnc;
- int count;
-
- String aTmp( rWord );
- if (aTmp.Len())
- {
- INT16 nLang = LocaleToLanguage( rLocale );
-
- for (int i =0; i < numdict; i++) {
- pMS = NULL;
- aEnc = 0;
- count = 0;
-
- if (rLocale == aDLocs[i])
- {
- pMS = aDicts[i];
- aEnc = aDEncs[i];
- }
-
-
- if (pMS)
- {
- char ** suglst = NULL;
- OString aWrd(OU2ENC(rWord,aEnc));
- count = pMS->suggest(&suglst, (const char *) aWrd.getStr());
-
- if (count) {
- Sequence< OUString > aStr( count );
- OUString *pStr = aStr.getArray();
- for (int i=0; i < count; i++)
- {
- OUString cvtwrd(suglst[i],strlen(suglst[i]),aEnc);
- String aAlt(cvtwrd);
- pStr[i] = aAlt;
- free(suglst[i]);
- }
- free(suglst);
-
- SpellAlternatives *pAlt = new SpellAlternatives;
- pAlt->SetWordLanguage( aTmp, nLang );
- pAlt->SetFailureType( SpellFailure::SPELLING_ERROR );
- pAlt->SetAlternatives( aStr );
- xRes = pAlt;
- return xRes;
- }
- }
- }
-
- /* no suggestions were found but still need to return an empty alternative */
- Sequence< OUString > aStr( 0 );
- SpellAlternatives *pAlt = new SpellAlternatives;
- pAlt->SetWordLanguage( aTmp, nLang );
- pAlt->SetFailureType( SpellFailure::SPELLING_ERROR );
- pAlt->SetAlternatives( aStr );
- xRes = pAlt;
- return xRes;
- }
- return xRes;
-}
-
-
-
-
-Reference< XSpellAlternatives > SAL_CALL
- SpellChecker::spell( const OUString& rWord, const Locale& rLocale,
- const PropertyValues& rProperties )
- throw(IllegalArgumentException, RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (rLocale == Locale() || !rWord.getLength())
- return NULL;
-
- if (!hasLocale( rLocale ))
-#ifdef LINGU_EXCEPTIONS
- throw( IllegalArgumentException() );
-#else
- return NULL;
-#endif
-
- Reference< XSpellAlternatives > xAlt;
- if (!isValid( rWord, rLocale, rProperties ))
- {
- xAlt = GetProposals( rWord, rLocale );
- }
- return xAlt;
-}
-
-
-Reference< XInterface > SAL_CALL SpellChecker_CreateInstance(
- const Reference< XMultiServiceFactory > & rSMgr )
- throw(Exception)
-{
-
- Reference< XInterface > xService = (cppu::OWeakObject*) new SpellChecker;
- return xService;
-}
-
-
-sal_Bool SAL_CALL
- SpellChecker::addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (!bDisposing && rxLstnr.is())
- {
- bRes = GetPropHelper().addLinguServiceEventListener( rxLstnr );
- }
- return bRes;
-}
-
-
-sal_Bool SAL_CALL
- SpellChecker::removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- BOOL bRes = FALSE;
- if (!bDisposing && rxLstnr.is())
- {
- DBG_ASSERT( xPropHelper.is(), "xPropHelper non existent" );
- bRes = GetPropHelper().removeLinguServiceEventListener( rxLstnr );
- }
- return bRes;
-}
-
-
-OUString SAL_CALL
- SpellChecker::getServiceDisplayName( const Locale& rLocale )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
- return A2OU( "OpenOffice MySpell SpellChecker" );
-}
-
-
-void SAL_CALL
- SpellChecker::initialize( const Sequence< Any >& rArguments )
- throw(Exception, RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!pPropHelper)
- {
- INT32 nLen = rArguments.getLength();
- if (2 == nLen)
- {
- Reference< XPropertySet > xPropSet;
- rArguments.getConstArray()[0] >>= xPropSet;
- //rArguments.getConstArray()[1] >>= xDicList;
-
- //! Pointer allows for access of the non-UNO functions.
- //! And the reference to the UNO-functions while increasing
- //! the ref-count and will implicitly free the memory
- //! when the object is not longer used.
- pPropHelper = new PropertyHelper_Spell( (XSpellChecker *) this, xPropSet );
- xPropHelper = pPropHelper;
- pPropHelper->AddAsPropListener(); //! after a reference is established
- }
- else
- DBG_ERROR( "wrong number of arguments in sequence" );
-
- }
-}
-
-
-void SAL_CALL
- SpellChecker::dispose()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!bDisposing)
- {
- bDisposing = TRUE;
- EventObject aEvtObj( (XSpellChecker *) this );
- aEvtListeners.disposeAndClear( aEvtObj );
- }
-}
-
-
-void SAL_CALL
- SpellChecker::addEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!bDisposing && rxListener.is())
- aEvtListeners.addInterface( rxListener );
-}
-
-
-void SAL_CALL
- SpellChecker::removeEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- if (!bDisposing && rxListener.is())
- aEvtListeners.removeInterface( rxListener );
-}
-
-
-///////////////////////////////////////////////////////////////////////////
-// Service specific part
-//
-
-OUString SAL_CALL SpellChecker::getImplementationName()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- return getImplementationName_Static();
-}
-
-
-sal_Bool SAL_CALL SpellChecker::supportsService( const OUString& ServiceName )
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- Sequence< OUString > aSNL = getSupportedServiceNames();
- const OUString * pArray = aSNL.getConstArray();
- for( INT32 i = 0; i < aSNL.getLength(); i++ )
- if( pArray[i] == ServiceName )
- return TRUE;
- return FALSE;
-}
-
-
-Sequence< OUString > SAL_CALL SpellChecker::getSupportedServiceNames()
- throw(RuntimeException)
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- return getSupportedServiceNames_Static();
-}
-
-
-Sequence< OUString > SpellChecker::getSupportedServiceNames_Static()
- throw()
-{
- MutexGuard aGuard( GetLinguMutex() );
-
- Sequence< OUString > aSNS( 1 ); // auch mehr als 1 Service moeglich
- aSNS.getArray()[0] = A2OU( SN_SPELLCHECKER );
- return aSNS;
-}
-
-
-sal_Bool SAL_CALL SpellChecker_writeInfo(
- void * /*pServiceManager*/, registry::XRegistryKey * pRegistryKey )
-{
-
- try
- {
- String aImpl( '/' );
- aImpl += SpellChecker::getImplementationName_Static().getStr();
- aImpl.AppendAscii( "/UNO/SERVICES" );
- Reference< registry::XRegistryKey > xNewKey =
- pRegistryKey->createKey( aImpl );
- Sequence< OUString > aServices =
- SpellChecker::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- return sal_True;
- }
- catch(Exception &)
- {
- return sal_False;
- }
-}
-
-
-void * SAL_CALL SpellChecker_getFactory( const sal_Char * pImplName,
- XMultiServiceFactory * pServiceManager, void * )
-{
- void * pRet = 0;
- if ( !SpellChecker::getImplementationName_Static().compareToAscii( pImplName ) )
- {
- Reference< XSingleServiceFactory > xFactory =
- cppu::createOneInstanceFactory(
- pServiceManager,
- SpellChecker::getImplementationName_Static(),
- SpellChecker_CreateInstance,
- SpellChecker::getSupportedServiceNames_Static());
- // acquire, because we return an interface pointer instead of a reference
- xFactory->acquire();
- pRet = xFactory.get();
- }
- return pRet;
-}
-
-
-///////////////////////////////////////////////////////////////////////////
diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.hxx b/lingucomponent/source/spellcheck/spell/sspellimp.hxx
deleted file mode 100644
index cf2317b96eff..000000000000
--- a/lingucomponent/source/spellcheck/spell/sspellimp.hxx
+++ /dev/null
@@ -1,237 +0,0 @@
-/*************************************************************************
- *
- * $RCSfile: sspellimp.hxx,v $
- *
- * $Revision: 1.3 $
- *
- * last change: $Author: khendricks $ $Date: 2001-12-04 00:34:55 $
- *
- * The Contents of this file are made available subject to the terms of
- * either of the following licenses
- *
- * - GNU Lesser General Public License Version 2.1
- * - Sun Industry Standards Source License Version 1.1
- *
- * Sun Microsystems Inc., October, 2000
- *
- * GNU Lesser General Public License Version 2.1
- * =============================================
- * Copyright 2000 by Sun Microsystems, Inc.
- * 901 San Antonio Road, Palo Alto, CA 94303, USA
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software Foundation.
- *
- * This library 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 for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- *
- * Sun Industry Standards Source License Version 1.1
- * =================================================
- * The contents of this file are subject to the Sun Industry Standards
- * Source License Version 1.1 (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.openoffice.org/license.html.
- *
- * Software provided under this License is provided on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
- * See the License for the specific provisions governing your rights and
- * obligations concerning the Software.
- *
- * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
- *
- * Copyright: 2000 by Sun Microsystems, Inc.
- *
- * All Rights Reserved.
- *
- * Contributor(s): _______________________________________
- *
- *
- ************************************************************************/
-
-#ifndef _LINGU2_SPELLIMP_HXX_
-#define _LINGU2_SPELLIMP_HXX_
-
-#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type
-#include <cppuhelper/implbase1.hxx> // helper for implementations
-#include <cppuhelper/implbase6.hxx> // helper for implementations
-
-#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_
-#include <com/sun/star/lang/XComponent.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_
-#include <com/sun/star/lang/XInitialization.hpp>
-#endif
-#ifndef _COM_SUN_STAR_LANG_XSERVICEDISPLAYNAME_HPP_
-#include <com/sun/star/lang/XServiceDisplayName.hpp>
-#endif
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/PropertyValues.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/linguistic2/XSpellChecker.hpp>
-#include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp>
-#include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp>
-
-#ifndef _TOOLS_TABLE_HXX
-#include <tools/table.hxx>
-#endif
-
-#include <linguistic/misc.hxx>
-#include "sprophelp.hxx"
-
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::linguistic2;
-
-
-#define A2OU(x) ::rtl::OUString::createFromAscii( x )
-
-#define OU2A(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_ASCII_US).getStr()
-
-#define OU2UTF8(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_UTF8).getStr()
-
-#define OU2ISO_1(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_ISO_8859_1).getStr()
-
-#define OU2ENC(rtlOUString, rtlEncoding) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), rtlEncoding).getStr()
-
-
-///////////////////////////////////////////////////////////////////////////
-
-
-class SpellChecker :
- public cppu::WeakImplHelper6
- <
- XSpellChecker,
- XLinguServiceEventBroadcaster,
- XInitialization,
- XComponent,
- XServiceInfo,
- XServiceDisplayName
- >
-{
- Sequence< Locale > aSuppLocales;
- MySpell ** aDicts;
- rtl_TextEncoding * aDEncs;
- Locale * aDLocs;
- OUString * aDNames;
- sal_Int32 numdict;
-
- ::cppu::OInterfaceContainerHelper aEvtListeners;
- Reference< XPropertyChangeListener > xPropHelper;
- PropertyHelper_Spell * pPropHelper;
- BOOL bDisposing;
-
- // disallow copy-constructor and assignment-operator for now
- SpellChecker(const SpellChecker &);
- SpellChecker & operator = (const SpellChecker &);
-
- PropertyHelper_Spell & GetPropHelper_Impl();
- PropertyHelper_Spell & GetPropHelper()
- {
- return pPropHelper ? *pPropHelper : GetPropHelper_Impl();
- }
-
- INT16 GetSpellFailure( const OUString &rWord, const Locale &rLocale );
- Reference< XSpellAlternatives >
- GetProposals( const OUString &rWord, const Locale &rLocale );
-
-public:
- SpellChecker();
- virtual ~SpellChecker();
-
- // XSupportedLocales (for XSpellChecker)
- virtual Sequence< Locale > SAL_CALL
- getLocales()
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL
- hasLocale( const Locale& rLocale )
- throw(RuntimeException);
-
- // XSpellChecker
- virtual sal_Bool SAL_CALL
- isValid( const OUString& rWord, const Locale& rLocale,
- const PropertyValues& rProperties )
- throw(IllegalArgumentException,
- RuntimeException);
- virtual Reference< XSpellAlternatives > SAL_CALL
- spell( const OUString& rWord, const Locale& rLocale,
- const PropertyValues& rProperties )
- throw(IllegalArgumentException,
- RuntimeException);
-
- // XLinguServiceEventBroadcaster
- virtual sal_Bool SAL_CALL
- addLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL
- removeLinguServiceEventListener(
- const Reference< XLinguServiceEventListener >& rxLstnr )
- throw(RuntimeException);
-
- // XServiceDisplayName
- virtual OUString SAL_CALL
- getServiceDisplayName( const Locale& rLocale )
- throw(RuntimeException);
-
- // XInitialization
- virtual void SAL_CALL
- initialize( const Sequence< Any >& rArguments )
- throw(Exception, RuntimeException);
-
- // XComponent
- virtual void SAL_CALL
- dispose()
- throw(RuntimeException);
- virtual void SAL_CALL
- addEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException);
- virtual void SAL_CALL
- removeEventListener( const Reference< XEventListener >& rxListener )
- throw(RuntimeException);
-
- ////////////////////////////////////////////////////////////
- // Service specific part
- //
-
- // XServiceInfo
- virtual OUString SAL_CALL
- getImplementationName()
- throw(RuntimeException);
- virtual sal_Bool SAL_CALL
- supportsService( const OUString& rServiceName )
- throw(RuntimeException);
- virtual Sequence< OUString > SAL_CALL
- getSupportedServiceNames()
- throw(RuntimeException);
-
-
- static inline OUString
- getImplementationName_Static() throw();
- static Sequence< OUString >
- getSupportedServiceNames_Static() throw();
-};
-
-inline OUString SpellChecker::getImplementationName_Static() throw()
-{
- return A2OU( "org.openoffice.lingu.MySpellSpellChecker" );
-}
-
-
-
-///////////////////////////////////////////////////////////////////////////
-
-#endif
-