0.08.01
C++ Open Travel Request Parsing Library
Toggle main menu visibility
Loading...
Searching...
No Matches
FacPlaceHolder.cpp
Go to the documentation of this file.
1
// //////////////////////////////////////////////////////////////////////
2
// Import section
3
// //////////////////////////////////////////////////////////////////////
4
// C
5
#include <cassert>
6
// OPENTREP
7
#include <
opentrep/bom/PlaceHolder.hpp
>
8
#include <
opentrep/bom/Place.hpp
>
9
#include <
opentrep/factory/FacSupervisor.hpp
>
10
#include <
opentrep/factory/FacPlaceHolder.hpp
>
11
#include <
opentrep/service/Logger.hpp
>
12
13
namespace
OPENTREP
{
14
15
FacPlaceHolder
* FacPlaceHolder::_instance = NULL;
16
17
// //////////////////////////////////////////////////////////////////////
18
FacPlaceHolder::FacPlaceHolder () {
19
}
20
21
// //////////////////////////////////////////////////////////////////////
22
FacPlaceHolder::FacPlaceHolder (
const
FacPlaceHolder
&) {
23
}
24
25
// //////////////////////////////////////////////////////////////////////
26
FacPlaceHolder::~FacPlaceHolder
() {
27
_instance = NULL;
28
}
29
30
// //////////////////////////////////////////////////////////////////////
31
FacPlaceHolder&
FacPlaceHolder::instance
() {
32
33
if
(_instance == NULL) {
34
_instance =
new
FacPlaceHolder();
35
assert (_instance != NULL);
36
37
FacSupervisor::instance
().
registerBomFactory
(_instance);
38
}
39
return
*_instance;
40
}
41
42
// //////////////////////////////////////////////////////////////////////
43
PlaceHolder
&
FacPlaceHolder::create
() {
44
PlaceHolder
* oPlaceHolder_ptr = NULL;
45
46
oPlaceHolder_ptr =
new
PlaceHolder
();
47
assert (oPlaceHolder_ptr != NULL);
48
49
// The new object is added to the Bom pool
50
_pool
.push_back (oPlaceHolder_ptr);
51
52
return
*oPlaceHolder_ptr;
53
}
54
55
// //////////////////////////////////////////////////////////////////////
56
void
FacPlaceHolder::initLinkWithPlace
(
PlaceHolder
& ioPlaceHolder,
57
Place
& ioPlace) {
58
// Link the PlaceHolder to the Place, and vice versa
59
ioPlace._placeHolder = &ioPlaceHolder;
60
61
// Add the Place to the PlaceHolder internal map (of Place objects)
62
// const bool insertSucceeded =
63
ioPlaceHolder._placeList.
64
insert (PlaceList_T::value_type (ioPlace.
describeShortKey
(), &ioPlace));
65
66
// if (insertSucceeded == false) {
67
// OPENTREP_LOG_ERROR ("Insertion failed for "
68
// << ioPlaceHolder.describeKey()
69
// << " and " << ioPlace.describeShortKey());
70
// assert (insertSucceeded == true);
71
// }
72
73
// Add the Place to the PlaceHolder internal list (of Place objects)
74
ioPlaceHolder._placeOrderedList.push_back (&ioPlace);
75
}
76
77
}
FacPlaceHolder.hpp
FacSupervisor.hpp
Logger.hpp
PlaceHolder.hpp
Place.hpp
OPENTREP::FacBomAbstract::_pool
BomPool_T _pool
Definition
FacBomAbstract.hpp:53
OPENTREP::FacPlaceHolder
Definition
FacPlaceHolder.hpp:17
OPENTREP::FacPlaceHolder::instance
static FacPlaceHolder & instance()
Definition
FacPlaceHolder.cpp:31
OPENTREP::FacPlaceHolder::~FacPlaceHolder
virtual ~FacPlaceHolder()
Definition
FacPlaceHolder.cpp:26
OPENTREP::FacPlaceHolder::create
PlaceHolder & create()
Definition
FacPlaceHolder.cpp:43
OPENTREP::FacPlaceHolder::initLinkWithPlace
static void initLinkWithPlace(PlaceHolder &, Place &)
Definition
FacPlaceHolder.cpp:56
OPENTREP::FacSupervisor::instance
static FacSupervisor & instance()
Definition
FacSupervisor.cpp:21
OPENTREP::FacSupervisor::registerBomFactory
void registerBomFactory(FacBomAbstract *)
Definition
FacSupervisor.cpp:31
OPENTREP::PlaceHolder
Definition
PlaceHolder.hpp:16
OPENTREP::Place
Class modelling a place/POR (point of reference).
Definition
Place.hpp:29
OPENTREP::Place::describeShortKey
std::string describeShortKey() const
Definition
Place.hpp:1060
OPENTREP
Definition
BasChronometer.cpp:10
Generated on
for OpenTREP by
1.17.0