summaryrefslogtreecommitdiff
path: root/linguistic/source/dlistimp.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'linguistic/source/dlistimp.hxx')
-rw-r--r--linguistic/source/dlistimp.hxx140
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();