/libreoffice-3.6.0.2/lingucomponent/source/thesaurus/libnth/nthesimp.hxx
C++ Header | 170 lines | 91 code | 36 blank | 43 comment | 0 complexity | 8afc25715814ce7b60709517c765edbf MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, LGPL-2.1, AGPL-1.0, BSD-3-Clause-No-Nuclear-License-2014, GPL-3.0, LGPL-3.0
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
- /*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
- #ifndef _LINGU2_THESIMP_HXX_
- #define _LINGU2_THESIMP_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/implbase5.hxx> // helper for implementations
- #include <com/sun/star/uno/Reference.h>
- #include <com/sun/star/uno/Sequence.h>
- #include <com/sun/star/lang/XComponent.hpp>
- #include <com/sun/star/lang/XInitialization.hpp>
- #include <com/sun/star/lang/XServiceDisplayName.hpp>
- #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/XMeaning.hpp>
- #include <com/sun/star/linguistic2/XThesaurus.hpp>
- #include <com/sun/star/linguistic2/XLinguServiceManager.hpp>
- #include <com/sun/star/linguistic2/XSpellChecker1.hpp>
- #include <unotools/charclass.hxx>
- #include <lingutil.hxx>
- #include <linguistic/misc.hxx>
- #include <linguistic/lngprophelp.hxx>
- #include <osl/file.hxx>
- #include "mythes.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;
- namespace com { namespace sun { namespace star { namespace beans {
- class XPropertySet;
- }}}}
- ///////////////////////////////////////////////////////////////////////////
- class Thesaurus :
- public cppu::WeakImplHelper5
- <
- XThesaurus,
- XInitialization,
- XComponent,
- XServiceInfo,
- XServiceDisplayName
- >
- {
- Sequence< Locale > aSuppLocales;
- ::cppu::OInterfaceContainerHelper aEvtListeners;
- linguistic::PropertyHelper_Thesaurus* pPropHelper;
- sal_Bool bDisposing;
- CharClass ** aCharSetInfo;
- MyThes ** aThes;
- rtl_TextEncoding * aTEncs;
- Locale * aTLocs;
- OUString * aTNames;
- sal_Int32 numthes;
- // cache for the Thesaurus dialog
- Sequence < Reference < ::com::sun::star::linguistic2::XMeaning > > prevMeanings;
- OUString prevTerm;
- sal_Int16 prevLocale;
- // disallow copy-constructor and assignment-operator for now
- Thesaurus(const Thesaurus &);
- Thesaurus & operator = (const Thesaurus &);
- linguistic::PropertyHelper_Thesaurus& GetPropHelper_Impl();
- linguistic::PropertyHelper_Thesaurus& GetPropHelper()
- {
- return pPropHelper ? *pPropHelper : GetPropHelper_Impl();
- }
- public:
- Thesaurus();
- virtual ~Thesaurus();
- // XSupportedLocales (for XThesaurus)
- virtual Sequence< Locale > SAL_CALL getLocales() throw(RuntimeException);
- virtual sal_Bool SAL_CALL hasLocale( const Locale& rLocale ) throw(RuntimeException);
- // XThesaurus
- virtual Sequence< Reference < ::com::sun::star::linguistic2::XMeaning > > SAL_CALL queryMeanings( const OUString& rTerm, const Locale& rLocale, const PropertyValues& rProperties ) throw(IllegalArgumentException, 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);
- // 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();
- private:
- sal_uInt16 SAL_CALL capitalType(const OUString&, CharClass *);
- OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
- OUString SAL_CALL makeUpperCase(const OUString&, CharClass *);
- OUString SAL_CALL makeInitCap(const OUString&, CharClass *);
- /* static ::com::sun::star::uno::Reference<
- ::com::sun::star::linguistic2::XLinguServiceManager > xLngSvcMgr;
- static ::com::sun::star::uno::Reference<
- ::com::sun::star::linguistic2::XSpellChecker1 > xSpell;
- */
- static ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XLinguServiceManager > GetLngSvcMgr();
- };
- inline OUString Thesaurus::getImplementationName_Static() throw()
- {
- return A2OU( "org.openoffice.lingu.new.Thesaurus" );
- }
- ///////////////////////////////////////////////////////////////////////////
- #endif
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */