diff options
Diffstat (limited to 'linguistic/source/dlistimp.hxx')
-rw-r--r-- | linguistic/source/dlistimp.hxx | 140 |
1 files changed, 36 insertions, 104 deletions
diff --git a/linguistic/source/dlistimp.hxx b/linguistic/source/dlistimp.hxx index e549d96e5f00..d6d2d7654f91 100644 --- a/linguistic/source/dlistimp.hxx +++ b/linguistic/source/dlistimp.hxx @@ -39,9 +39,11 @@ #include <cppuhelper/implbase1.hxx> // helper for implementations #include <cppuhelper/implbase3.hxx> // helper for implementations #include <cppuhelper/interfacecontainer.h> -#include <svtools/svarray.hxx> #include <tools/debug.hxx> +#include <vector> +#include <memory> + #include "misc.hxx" #include "lngopt.hxx" @@ -49,18 +51,6 @@ class DicEvtListenerHelper; /////////////////////////////////////////////////////////////////////////// -class ActDic -{ -public: - const ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionary > xDic; - - ActDic() {} - ActDic(const ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionary > &rDic) : xDic(rDic) {} -}; -SV_DECL_OBJARR( ActDicArray, ActDic, 16, 16 ) - class DicList : public cppu::WeakImplHelper3 < @@ -81,7 +71,9 @@ class DicList : LinguOptions aOpt; ::cppu::OInterfaceContainerHelper aEvtListeners; - ActDicArray* pDicList; + + typedef std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary > > DictionaryVec_t; + DictionaryVec_t aDicList; ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2:: XDictionaryEventListener > xDicEvtLstnrHelper; @@ -92,24 +84,25 @@ class DicList : MyAppExitListener *pExitListener; BOOL bDisposing; + BOOL bInCreation; // disallow copy-constructor and assignment-operator for now DicList( const DicList & ); DicList & operator = (const DicList &); - void _CreateDicList(); - ActDicArray& GetDicList() + void _CreateDicList(); + DictionaryVec_t & GetOrCreateDicList() { - if( !pDicList ) + if (!bInCreation && aDicList.size() == 0) _CreateDicList(); - return *pDicList; + return aDicList; } - void launchEvent(INT16 nEvent, com::sun::star::uno::Sequence< + void LaunchEvent(INT16 nEvent, com::sun::star::uno::Sequence< ::com::sun::star::linguistic2::XDictionary > xDic); - void searchForDictionaries( ActDicArray &rDicList, + void SearchForDictionaries( DictionaryVec_t &rDicList, const String &rDicDir, BOOL bIsWritePath ); - INT32 getDicPos(const com::sun::star::uno::Reference< + INT32 GetDicPos(const com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary > &xDic); public: @@ -117,95 +110,34 @@ public: virtual ~DicList(); // XDictionaryList - virtual sal_Int16 SAL_CALL - getCount() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< - ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionary > > SAL_CALL - getDictionaries() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionary > SAL_CALL - getDictionaryByName( const ::rtl::OUString& aDictionaryName ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL - addDictionary( const ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionary >& xDictionary ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL - removeDictionary( const ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionary >& xDictionary ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL - addDictionaryListEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionaryListEventListener >& xListener, - sal_Bool bReceiveVerbose ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL - removeDictionaryListEventListener( - const ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionaryListEventListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL - beginCollectEvents() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL - endCollectEvents() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL - flushEvents() - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionary > SAL_CALL - createDictionary( const ::rtl::OUString& aName, - const ::com::sun::star::lang::Locale& aLocale, - ::com::sun::star::linguistic2::DictionaryType eDicType, - const ::rtl::OUString& aURL ) - throw(::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary > > SAL_CALL getDictionaries( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary > SAL_CALL getDictionaryByName( const ::rtl::OUString& aDictionaryName ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL addDictionary( const ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary >& xDictionary ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL removeDictionary( const ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary >& xDictionary ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL addDictionaryListEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionaryListEventListener >& xListener, ::sal_Bool bReceiveVerbose ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL removeDictionaryListEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionaryListEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL beginCollectEvents( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL endCollectEvents( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL flushEvents( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary > SAL_CALL createDictionary( const ::rtl::OUString& aName, const ::com::sun::star::lang::Locale& aLocale, ::com::sun::star::linguistic2::DictionaryType eDicType, const ::rtl::OUString& aURL ) throw (::com::sun::star::uno::RuntimeException); // XSearchableDictionaryList - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::linguistic2::XDictionaryEntry > SAL_CALL - queryDictionaryEntry( const ::rtl::OUString& aWord, - const ::com::sun::star::lang::Locale& aLocale, - sal_Bool bSearchPosDics, sal_Bool bSpellEntry ) - throw(::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionaryEntry > SAL_CALL queryDictionaryEntry( const ::rtl::OUString& aWord, const ::com::sun::star::lang::Locale& aLocale, sal_Bool bSearchPosDics, sal_Bool bSpellEntry ) throw(::com::sun::star::uno::RuntimeException); // XComponent - virtual void SAL_CALL - dispose() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL - addEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener >& xListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL - removeEventListener( const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XEventListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - - - //////////////////////////////////////////////////////////// - // Service specific part - // + virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw(::com::sun::star::uno::RuntimeException); // XServiceInfo - virtual ::rtl::OUString SAL_CALL - getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL - supportsService( const ::rtl::OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL - getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException); - - - static inline ::rtl::OUString - getImplementationName_Static() throw(); - static com::sun::star::uno::Sequence< ::rtl::OUString > - getSupportedServiceNames_Static() throw(); + virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException); + virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException); + + + static inline ::rtl::OUString getImplementationName_Static() throw(); + static com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static() throw(); // non UNO-specific void SaveDics(); |