VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
iffEncoder.h
Go to the documentation of this file.
1 /*********************************************************************
2  * ** Copyright (c) 1992-2010 MAK Technologies, Inc
3  * ** All rights reserved.
4  * *********************************************************************/
5 /*********************************************************************
6  * ** $RCSfile: hIffEnc.h,v $ $Revision: 1.1 $ $State: Exp $
7  * *********************************************************************/
8 
9 #if DtHLA
10 
11 #ifndef DtIffEncoder_H_
12 #define DtIffEncoder_H_
13 
14 
16 
20 
24 
27 
30 #define DtDECLARE_IFF_ATTR_CHECKER(attrName) \
31  DtDECLARE_ATTR_CHECKER(DtIffStateRepository, attrName)
32 
35 #define DtDECLARE_IFF_ATTR_ENCODER(attrName) \
36  DtDECLARE_ATTR_ENCODER(DtIffStateRepository, attrName)
37 
42 #define DtDEFINE_SIMPLE_IFF_ATTR_ENCODER( \
43  attrName, netType, inspector) \
44  DtDEFINE_SIMPLE_ATTR_ENCODER(DtIffEncoder, \
45  DtIffStateRepository, attrName, netType, inspector)
46 
52 #define DtDEFINE_SIMPLE_IFF_ATTR_CHECKER( \
53  attrName, inspector) \
54  DtDEFINE_SIMPLE_ATTR_CHECKER(DtIffEncoder, \
55  DtIffStateRepository, attrName, inspector)
56 
57 #define DtDEFINE_SIMPLE_IFF_ATTR_ENCODER_WITH_PARAM( \
58  encClass, attrName, netType, inspector, param) \
59  DtDEFINE_SIMPLE_ATTR_ENCODER_WITH_PARAM(\
60  encClass, DtIffStateRepository, attrName, netType, inspector, param)
61 
62 #define DtDEFINE_SIMPLE_IFF_ATTR_CHECKER_WITH_PARAM( \
63  encClass, attrName, inspector, param) \
64  DtDEFINE_SIMPLE_ATTR_CHECKER_WITH_PARAM(\
65  encClass, DtIffStateRepository, attrName, inspector, param)
66 
68 
70 {
71 public:
72 
75  DtExerciseConn* exConn,
76  DtObjClassDesc* classDesc);
77 
79  virtual ~DtIffEncoder();
80 
82  DtIffEncoder(const DtIffEncoder& orig);
83 
85  DtIffEncoder& operator=(const DtIffEncoder& orig);
86 
87 public:
88 
89  static DtHlaStateEncoder* create(
90  DtExerciseConn* exConn,
91  DtObjClassDesc* classDesc);
92 
93 protected:
94 
95  DtDECLARE_IFF_ATTR_CHECKER(EventIdentifier);
96  DtDECLARE_IFF_ATTR_CHECKER(SystemMode);
97  DtDECLARE_IFF_ATTR_CHECKER(SystemName);
98  DtDECLARE_IFF_ATTR_CHECKER(SystemType);
99  DtDECLARE_IFF_ATTR_CHECKER(SystemIsOn);
100  DtDECLARE_IFF_ATTR_CHECKER(SystemIsOperational);
101 
103  DtDECLARE_IFF_ATTR_CHECKER(BeamAzimuthCenter);
104  DtDECLARE_IFF_ATTR_CHECKER(BeamAzimuthSweep);
105  DtDECLARE_IFF_ATTR_CHECKER(BeamElevationCenter);
106  DtDECLARE_IFF_ATTR_CHECKER(BeamElevationSweep);
107  DtDECLARE_IFF_ATTR_CHECKER(BeamSweepSync);
108  DtDECLARE_IFF_ATTR_CHECKER(Layer2DataAvailable);
109  DtDECLARE_IFF_ATTR_CHECKER(FundamentalParameterData);
110  DtDECLARE_IFF_ATTR_CHECKER(SecondaryOperationalDataParameter1);
111  DtDECLARE_IFF_ATTR_CHECKER(SecondaryOperationalDataParameter2);
112 
113 
114  DtDECLARE_IFF_ATTR_ENCODER(EventIdentifier);
115  DtDECLARE_IFF_ATTR_ENCODER(SystemMode);
116  DtDECLARE_IFF_ATTR_ENCODER(SystemName);
117  DtDECLARE_IFF_ATTR_ENCODER(SystemType);
118  DtDECLARE_IFF_ATTR_ENCODER(SystemIsOn);
119  DtDECLARE_IFF_ATTR_ENCODER(SystemIsOperational);
120 
122  DtDECLARE_IFF_ATTR_ENCODER(BeamAzimuthCenter);
123  DtDECLARE_IFF_ATTR_ENCODER(BeamAzimuthSweep);
124  DtDECLARE_IFF_ATTR_ENCODER(BeamElevationCenter);
125  DtDECLARE_IFF_ATTR_ENCODER(BeamElevationSweep);
126  DtDECLARE_IFF_ATTR_ENCODER(BeamSweepSync);
127  DtDECLARE_IFF_ATTR_ENCODER(Layer2DataAvailable);
128  DtDECLARE_IFF_ATTR_ENCODER(FundamentalParameterData);
129  DtDECLARE_IFF_ATTR_ENCODER(SecondaryOperationalDataParameter1);
130  DtDECLARE_IFF_ATTR_ENCODER(SecondaryOperationalDataParameter2);
131 
133  DtDECLARE_IFF_ATTR_CHECKER(SystemDesignator);
134  DtDECLARE_IFF_ATTR_ENCODER(SystemDesignator);
135 };
136 
137 #endif
138 #endif
139 
140 
DtBaseEmbeddedSystemEncoder & operator=(const DtBaseEmbeddedSystemEncoder &orig)
assignment operator
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
Instances of DtBaseEmbeddedSystemEncoder are used to encode a base embedded system state repository i...
Definition: baseEmbeddedSystemEncoder.h:35
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
#define DtDECLARE_IFF_ATTR_CHECKER(attrName)
We define several macros that can be helpful in defining the class, and the individual decoding funct...
Definition: iffEncoder.h:30
Defines a protocol independent repository of attributes for IFF objects.
Definition: iffStateRepository.h:39
#define DtDECLARE_IFF_ATTR_ENCODER(attrName)
This is used to declare static member functions that perform attribute encoding.
Definition: iffEncoder.h:35
DtHlaStateEncoder is used to provide encoding of a state repository into a state message in an HLA (a...
Definition: hlaStateEncoder.h:30
This file provides a declaration of the class DtBaseEmbeddedSystemEncoder.
An instance of DtObjClassDesc is a "class descriptor" for an HLA Object class.
Definition: objClassDesc13.h:41
The DtIffEncoder class:
Definition: iffEncoder.h:69
static DtHlaStateEncoder * create(DtExerciseConn *exConn, DtObjClassDesc *classDesc)
Create a DtBaseEntityEncoder. Caller is responsible for deletion.

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)