LibreOffice Module linguistic (master) 1
dlistimp.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp>
23#include <com/sun/star/lang/XComponent.hpp>
24#include <com/sun/star/lang/XServiceInfo.hpp>
25
28#include <rtl/ref.hxx>
29
30#include <vector>
31
32#include <linguistic/misc.hxx>
33#include "lngopt.hxx"
34
36
37
38class DicList :
39 public cppu::WeakImplHelper
40 <
41 css::linguistic2::XSearchableDictionaryList,
42 css::lang::XComponent,
43 css::lang::XServiceInfo
44 >
45{
47 {
49
50 public:
51 explicit MyAppExitListener( DicList &rDicList ) : rMyDicList( rDicList ) {}
52 virtual void AtExit() override;
53 };
54
56
58
59 typedef std::vector< css::uno::Reference< css::linguistic2::XDictionary > > DictionaryVec_t;
61
64
67
68 DicList( const DicList & ) = delete;
69 DicList & operator = (const DicList &) = delete;
70
71 void CreateDicList();
73 {
74 if ( !bInCreation && aDicList.empty() )
76 return aDicList;
77 }
78
80 const OUString &rDicDir, bool bIsWritePath );
81 sal_Int32 GetDicPos(const css::uno::Reference<
82 css::linguistic2::XDictionary > &xDic);
83
84public:
85 DicList();
86 virtual ~DicList() override;
87
88 // XDictionaryList
89 virtual ::sal_Int16 SAL_CALL getCount( ) override;
90 virtual css::uno::Sequence< css::uno::Reference< css::linguistic2::XDictionary > > SAL_CALL getDictionaries( ) override;
91 virtual css::uno::Reference< css::linguistic2::XDictionary > SAL_CALL getDictionaryByName( const OUString& aDictionaryName ) override;
92 virtual sal_Bool SAL_CALL addDictionary( const css::uno::Reference< css::linguistic2::XDictionary >& xDictionary ) override;
93 virtual sal_Bool SAL_CALL removeDictionary( const css::uno::Reference< css::linguistic2::XDictionary >& xDictionary ) override;
94 virtual sal_Bool SAL_CALL addDictionaryListEventListener( const css::uno::Reference< css::linguistic2::XDictionaryListEventListener >& xListener, sal_Bool bReceiveVerbose ) override;
95 virtual sal_Bool SAL_CALL removeDictionaryListEventListener( const css::uno::Reference< css::linguistic2::XDictionaryListEventListener >& xListener ) override;
96 virtual ::sal_Int16 SAL_CALL beginCollectEvents( ) override;
97 virtual ::sal_Int16 SAL_CALL endCollectEvents( ) override;
98 virtual ::sal_Int16 SAL_CALL flushEvents( ) override;
99 virtual css::uno::Reference< css::linguistic2::XDictionary > SAL_CALL createDictionary( const OUString& aName, const css::lang::Locale& aLocale, css::linguistic2::DictionaryType eDicType, const OUString& aURL ) override;
100
101 // XSearchableDictionaryList
102 virtual css::uno::Reference< css::linguistic2::XDictionaryEntry > SAL_CALL queryDictionaryEntry( const OUString& aWord, const css::lang::Locale& aLocale, sal_Bool bSearchPosDics, sal_Bool bSpellEntry ) override;
103
104 // XComponent
105 virtual void SAL_CALL dispose() override;
106 virtual void SAL_CALL addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) override;
107 virtual void SAL_CALL removeEventListener( const css::uno::Reference< css::lang::XEventListener >& aListener ) override;
108
109 // XServiceInfo
110 virtual OUString SAL_CALL getImplementationName() override;
111 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
112 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
113
114 // non UNO-specific
115 void SaveDics();
116};
117
118/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
MyAppExitListener(DicList &rDicList)
Definition: dlistimp.hxx:51
virtual void AtExit() override
Definition: dlistimp.cxx:245
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: dlistimp.cxx:669
DictionaryVec_t aDicList
Definition: dlistimp.hxx:60
virtual void SAL_CALL dispose() override
Definition: dlistimp.cxx:512
virtual sal_Bool SAL_CALL addDictionary(const css::uno::Reference< css::linguistic2::XDictionary > &xDictionary) override
Definition: dlistimp.cxx:384
void SaveDics()
Definition: dlistimp.cxx:627
rtl::Reference< DicEvtListenerHelper > mxDicEvtLstnrHelper
Definition: dlistimp.hxx:62
bool bInCreation
Definition: dlistimp.hxx:66
virtual css::uno::Reference< css::linguistic2::XDictionaryEntry > SAL_CALL queryDictionaryEntry(const OUString &aWord, const css::lang::Locale &aLocale, sal_Bool bSearchPosDics, sal_Bool bSpellEntry) override
Definition: dlistimp.cxx:502
void SearchForDictionaries(DictionaryVec_t &rDicList, const OUString &rDicDir, bool bIsWritePath)
Definition: dlistimp.cxx:268
virtual css::uno::Reference< css::linguistic2::XDictionary > SAL_CALL getDictionaryByName(const OUString &aDictionaryName) override
Definition: dlistimp.cxx:364
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: dlistimp.cxx:664
virtual ::sal_Int16 SAL_CALL flushEvents() override
Definition: dlistimp.cxx:483
virtual css::uno::Reference< css::linguistic2::XDictionary > SAL_CALL createDictionary(const OUString &aName, const css::lang::Locale &aLocale, css::linguistic2::DictionaryType eDicType, const OUString &aURL) override
Definition: dlistimp.cxx:490
std::vector< css::uno::Reference< css::linguistic2::XDictionary > > DictionaryVec_t
Definition: dlistimp.hxx:59
LinguOptions aOpt
Definition: dlistimp.hxx:55
virtual ~DicList() override
Definition: dlistimp.cxx:262
DicList(const DicList &)=delete
virtual ::sal_Int16 SAL_CALL beginCollectEvents() override
Definition: dlistimp.cxx:471
void CreateDicList()
Definition: dlistimp.cxx:574
DicList & operator=(const DicList &)=delete
rtl::Reference< MyAppExitListener > mxExitListener
Definition: dlistimp.hxx:63
DictionaryVec_t & GetOrCreateDicList()
Definition: dlistimp.hxx:72
bool bDisposing
Definition: dlistimp.hxx:65
sal_Int32 GetDicPos(const css::uno::Reference< css::linguistic2::XDictionary > &xDic)
Definition: dlistimp.cxx:333
virtual sal_Bool SAL_CALL addDictionaryListEventListener(const css::uno::Reference< css::linguistic2::XDictionaryListEventListener > &xListener, sal_Bool bReceiveVerbose) override
Definition: dlistimp.cxx:436
virtual ::sal_Int16 SAL_CALL endCollectEvents() override
Definition: dlistimp.cxx:477
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
Definition: dlistimp.cxx:566
virtual sal_Bool SAL_CALL removeDictionary(const css::uno::Reference< css::linguistic2::XDictionary > &xDictionary) override
Definition: dlistimp.cxx:406
virtual sal_Bool SAL_CALL removeDictionaryListEventListener(const css::uno::Reference< css::linguistic2::XDictionaryListEventListener > &xListener) override
Definition: dlistimp.cxx:455
virtual ::sal_Int16 SAL_CALL getCount() override
Definition: dlistimp.cxx:347
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
Definition: dlistimp.cxx:557
::comphelper::OInterfaceContainerHelper3< css::lang::XEventListener > aEvtListeners
Definition: dlistimp.hxx:57
virtual OUString SAL_CALL getImplementationName() override
Definition: dlistimp.cxx:658
virtual css::uno::Sequence< css::uno::Reference< css::linguistic2::XDictionary > > SAL_CALL getDictionaries() override
Definition: dlistimp.cxx:354
unsigned char sal_Bool