diff options
author | Louis Suárez-Potts <louis@openoffice.org> | 2002-11-18 06:59:24 +0000 |
---|---|---|
committer | Louis Suárez-Potts <louis@openoffice.org> | 2002-11-18 06:59:24 +0000 |
commit | a561af855646784133dc16a8130c434be2b5b3e7 (patch) | |
tree | fa268d4bc81a2e6a8fcfa5bb396d1d225ec45a0a /lingucomponent/source | |
parent | e5f219a9473debd1af96ac8b052d39866954e2fd (diff) |
temporary removal
Diffstat (limited to 'lingucomponent/source')
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 - |