MAK Data Logger API Documentation for HLA
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
lgrUtil
observeConnection.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
******************************************************************************/
5
9
10
#ifndef observeConnection_H_
11
#define observeConnection_H_
12
13
#include "
lgrUtil.h
"
14
15
#include <list>
16
#include <vlutil/vlSmartPointers.h>
17
18
namespace
MAKLogger
19
{
20
22
template
<
typename
SubjectType>
23
class
DtObserveEvent;
24
25
template
<
typename
SubjectType>
26
class
DtObserver;
27
28
class
DtObserveConnection
;
29
typedef
DtBoost::shared_ptr<DtObserveConnection>
DtObserveConnectionSP
;
30
31
class
DtObserveConnectionComponent
;
32
33
37
class
DT_DLL_LGRUTIL
DtObserveConnection
38
{
39
public
:
40
45
template
<
typename
SubjectType>
46
static
void
connect(
DtObserveEvent<SubjectType>
* event,
47
DtObserver<SubjectType>
* observer)
48
{
50
if
(event->
isConnected
(observer))
return
;
51
DtObserveConnection
* connection =
52
new
DtObserveConnection
(event,observer);
53
DtObserveConnectionSP
sharedCon(connection);
54
event
->connect(sharedCon);
55
observer->
connect
(sharedCon);
56
}
57
59
void
disconnect(
DtObserveConnectionSP
);
60
62
DtObserveConnectionComponent
* event();
63
65
DtObserveConnectionComponent
* observer();
66
67
protected
:
68
72
DtObserveConnection
(
DtObserveConnectionComponent
* event,
DtObserveConnectionComponent
* observer);
73
75
DtObserveConnectionComponent
*
myEvent
;
76
78
DtObserveConnectionComponent
*
myObserver
;
79
};
80
84
class
DT_DLL_LGRUTIL
DtObserveConnectionComponent
85
{
86
public
:
87
88
typedef
std::list<DtObserveConnectionSP>
ConnectionList
;
89
90
virtual
~
DtObserveConnectionComponent
();
91
92
virtual
void
connect(
DtObserveConnectionSP
con);
93
94
virtual
void
disconnect(
DtObserveConnectionSP
con);
95
96
virtual
void
disconnect(
DtObserveConnectionComponent
* component);
97
98
virtual
bool
isConnected(
DtObserveConnectionComponent
* component);
99
101
void
disconnectAll();
102
103
protected
:
104
106
DtObserveConnectionComponent
();
107
109
DtObserveConnectionComponent
(
const
DtObserveConnectionComponent
&);
110
112
DtObserveConnectionComponent
& operator=(
113
const
DtObserveConnectionComponent
&);
114
115
DtObserveConnectionSP
findEventObserverConnection(
116
DtObserveConnectionComponent
* event,
117
DtObserveConnectionComponent
* observer);
118
119
ConnectionList
myConnections
;
120
};
121
122
}
123
124
#endif
125
Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (
www.mak.com
)