VR-Link API Documentation for HLA Evolved
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vlutil
vlDeclNotifier.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*********************************************************************/
8
#pragma once
9
10
#include "
vlAbsNotifyObs.h
"
11
26
#define DtDECLARE_OBSERVER_NOTIFIER(ClassName) \
27
class DT_DLL_VLUTIL DtObservee; \
28
class DT_DLL_VLUTIL ClassName##Notifier : public DtAbsNotifyObserver \
29
{ \
30
public: \
31
\
32
ClassName##Notifier(ClassName* observer); \
33
\
34
virtual ~ClassName##Notifier(); \
35
\
36
ClassName##Notifier(const ClassName##Notifier& orig); \
37
\
38
ClassName##Notifier& operator=(const ClassName##Notifier& orig); \
39
\
40
virtual bool notifyFromObserved(DtObservee* observed, \
41
const DtObservee::DtWhyNotifyObserver& why); \
42
\
43
protected: \
44
\
45
ClassName* myObjectToNotify; \
46
\
47
}; \
48
49
50
56
#define DtDEFINE_OBSERVER_NOTIFIER(ClassName) \
57
ClassName##Notifier::ClassName##Notifier(ClassName* observer) : \
58
DtAbsNotifyObserver(), \
59
myObjectToNotify(observer) \
60
{ \
61
} \
62
\
63
ClassName##Notifier::~ClassName##Notifier() \
64
{ \
65
} \
66
\
67
ClassName##Notifier::ClassName##Notifier( \
68
const ClassName##Notifier& orig) : \
69
DtAbsNotifyObserver(orig), \
70
myObjectToNotify(orig.myObjectToNotify) \
71
{ \
72
} \
73
\
74
ClassName##Notifier& ClassName##Notifier::operator=( \
75
const ClassName##Notifier& orig) \
76
{ \
77
if (this == &orig) \
78
{ \
79
return *this; \
80
} \
81
\
82
DtAbsNotifyObserver::operator=(orig); \
83
\
84
myObjectToNotify = orig.myObjectToNotify; \
85
\
86
return *this; \
87
} \
88
\
89
bool ClassName##Notifier::notifyFromObserved( \
90
DtObservee* observed, \
91
const DtObservee::DtWhyNotifyObserver& why) \
92
{ \
93
if (!myObjectToNotify) \
94
{ \
95
return false; \
96
} \
97
\
98
myObjectToNotify->notifyFromYourObserved(observed, why); \
99
\
100
return true; \
101
} \
102
Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)