LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
MainFactoriesMap.cpp
Go to the documentation of this file.
1
// Copyright 2002-2019 CEA LIST
2
// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3
//
4
// SPDX-License-Identifier: MIT
5
6
#include <iostream>
7
8
#include "
common/LimaCommon.h
"
9
#include "
MainFactoriesMap.h
"
10
11
namespace
Lima
12
{
13
14
class
MainFactoriesMap::MainFactoriesMapPrivate
15
{
16
17
friend
class
MainFactoriesMap
;
18
19
~MainFactoriesMapPrivate
()
20
{
21
if
(
nullptr
!= s_mainFactoriesMap)
22
{
23
delete
s_mainFactoriesMap;
24
s_mainFactoriesMap =
nullptr
;
25
shuttingDown =
true
;
26
}
27
}
28
29
private
:
30
31
static
bool
shuttingDown;
32
static
MainFactoryMap
*s_mainFactoriesMap;
33
};
34
35
MainFactoryMap
* MainFactoriesMap::MainFactoriesMapPrivate::s_mainFactoriesMap =
nullptr
;
36
bool
MainFactoriesMap::MainFactoriesMapPrivate::shuttingDown =
false
;
37
38
MainFactoryMap
&
MainFactoriesMap::get
()
39
{
40
if
(MainFactoriesMap::MainFactoriesMapPrivate::shuttingDown)
41
throw
LimaException
(
"Access to s_mainFactoriesMap while shutting down"
);
42
43
if
(
nullptr
== MainFactoriesMap::MainFactoriesMapPrivate::s_mainFactoriesMap)
44
MainFactoriesMap::MainFactoriesMapPrivate::s_mainFactoriesMap =
new
MainFactoryMap
;
45
46
return
*MainFactoriesMap::MainFactoriesMapPrivate::s_mainFactoriesMap;
47
}
48
49
}
LimaCommon.h
MainFactoriesMap.h
Lima::LimaException
The main LIMA exception class.
Definition
LimaCommon.h:262
Lima::MainFactoriesMap::MainFactoriesMapPrivate
Definition
MainFactoriesMap.cpp:15
Lima::MainFactoriesMap
Definition
MainFactoriesMap.h:20
Lima::MainFactoriesMap::get
static MainFactoryMap & get()
Definition
MainFactoriesMap.cpp:38
Lima
NAUTITIA.
Definition
AmosePluginsManager.h:15
Lima::MainFactoryMap
std::map< std::string, void * > MainFactoryMap
Definition
MainFactoriesMap.h:17
lima_common
src
common
AbstractFactoryPattern
MainFactoriesMap.cpp
Generated by
1.9.8