VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfExtObjects
reflExtAgg.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2004 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: reflExtAgg.h,v $ $Revision: 1.14 $ $State: Exp $
7
*******************************************************************************/
8
9
#ifndef REFLEXTAGG_H
10
#define REFLEXTAGG_H
11
12
#if DtHLA
13
#include <vl/hReflectedObj.h>
14
#define DtAggReflectedObjectType DtReflectedObject
15
#elif DtDIS
16
#include <vl/dReflectedAgg.h>
17
#define DtAggReflectedObjectType DtReflectedAggregate
18
#elif DtTENA
19
#include <vl/tReflectedAgg.h>
20
#define DtAggReflectedObjectType DtReflectedAggregate
21
#else
22
# pragma message ( "No protocol defined." )
23
#endif
24
25
#include <
vrfExtObjects/extAggSR.h
>
26
27
// Callback function that takes a DtReflectedExtAggregate
28
// and usr data.
29
30
class
DtReflectedExtAggregate
;
31
32
typedef
void (*
DtExtAggregateCallbackFunction
)
33
(
34
DtReflectedExtAggregate
* obj,
void
* userData
35
);
36
37
class
DtExerciseConn;
38
39
#include <
vrfExtObjects/vrfExtObjectsDefines.h
>
40
class
DT_DLL_vrfExtObjects
DtReflectedExtAggregate
:
public
DtAggReflectedObjectType
41
{
42
43
public
:
44
45
#if DtHLA
46
DtReflectedExtAggregate
47
(
48
DtHlaObject* obj,
49
DtExerciseConn* conn
50
);
51
DtReflectedExtAggregate
(DtExerciseConn* conn,
DtAggregateStateRepository
* esrToUse);
52
#elif (DtDIS || DtTENA)
53
// constructor
54
DtReflectedExtAggregate
55
(
56
DtExerciseConn* conn,
57
const
DtEntityIdentifier&
id
,
58
const
DtEntityType& type
59
);
60
#else
61
# pragma message ( "No protocol defined." )
62
#endif
63
64
// destructor
65
virtual
~
DtReflectedExtAggregate
();
66
67
// Returns a pointer to an aggregate state repository through which you can
68
// inspect current state info.
69
virtual
DtExtAggregateStateRepository
* extAggregateStateRep()
const
;
70
71
// Synonym for extAggregateStateRep.
72
virtual
DtExtAggregateStateRepository
* easr()
const
;
73
74
// Implementation for abstract base class. Calls cosr().
75
virtual
DtStateRepository* stateRep()
const
;
76
77
#if DtDIS
78
// Process an aggregate state PDU.
79
// Calls DtReflectedAggregate::processStateMessage().
80
virtual
void
processStateMessage(
const
DtStateMsg& msg);
81
#endif
82
83
// Get the next and previous elements in the reflected aggregate list.
84
virtual
DtReflectedExtAggregate
* nextEA()
const
;
85
virtual
DtReflectedExtAggregate
* prevEA()
const
;
86
87
// Get the next and previous elements, wrap at the ends of the list.
88
virtual
DtReflectedExtAggregate
* wrapNextEA()
const
;
89
virtual
DtReflectedExtAggregate
* wrapPrevEA()
const
;
90
91
// Aggregate callback registration/deregistration.
92
virtual
void
addPostUpdateCallback
93
(
94
DtExtAggregateCallbackFunction
cb,
void
* userData
95
);
96
virtual
void
removePostUpdateCallback
97
(
98
DtExtAggregateCallbackFunction
cb,
void
* userData
99
);
100
101
static
void
postUpdateCallback
102
(
103
DtReflectedExtAggregate
* agg,
void
* userData
104
);
105
106
virtual
void
processPostUpdateCallback(
DtReflectedExtAggregate
* agg);
107
108
virtual
void
updateExtensions();
109
110
// Overridden from bast class to make public.
111
virtual
void
processPostUpdateCallbacks();
112
113
private
:
114
115
// copy constructor
116
DtReflectedExtAggregate
(
const
DtReflectedExtAggregate
& orig);
117
118
// assignment operator
119
DtReflectedExtAggregate
& operator=(
const
DtReflectedExtAggregate
& orig);
120
121
};
122
123
#endif
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)