forked from usnistgov/rcslib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcgtester.hh
186 lines (139 loc) · 4.63 KB
/
cgtester.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#ifndef CGTESTER_HH
#define CGTESTER_HH
#define DO_NOT_ADD_INDEXES_TO_ARRAY_NAMES 1
#include "rcs.hh"
#define EXAMPLE_MESSAGE_TYPE (101)
#define INSIDE_COMMAND_TYPE (1001)
#define INSIDE_STATUS_TYPE (2001)
enum enumtest{ c=7,d, e, a=7, b};
class nonupdateableClass : public NML {
public:
nonupdateableClass();
void *ptr;
};
class INSIDE_COMMAND_BASE: public RCS_CMD_MSG
{
public:
INSIDE_COMMAND_BASE(NMLTYPE t,size_t s) : RCS_CMD_MSG(t,s) {};
void update(CMS *);
int inside_command_base_int;
};
class INSIDE_COMMAND: public INSIDE_COMMAND_BASE
{
public:
INSIDE_COMMAND() : INSIDE_COMMAND_BASE(INSIDE_COMMAND_TYPE,sizeof(INSIDE_COMMAND)) {};
void update(CMS *);
int inside_command_int;
};
class INSIDE_STATUS_BASE: public RCS_STAT_MSG
{
public:
INSIDE_STATUS_BASE(NMLTYPE t,size_t s) : RCS_STAT_MSG(t,s) {};
void update(CMS *);
int inside_status_base_int;
};
class INSIDE_STATUS: public INSIDE_STATUS_BASE
{
public:
INSIDE_STATUS() : INSIDE_STATUS_BASE(INSIDE_STATUS_TYPE,sizeof(INSIDE_STATUS)) {};
void update(CMS *);
int inside_status_int;
};
typedef struct _mystruct {
INSIDE_STATUS is;
int i; /* default=10 */
char c;
float f;
double d;
int ia[3];
char ca[3];
unsigned char hexdata[10];
char name[60];
int i_attribute; //attribute,default=10
char c_attribute; //attribute
float f_attribute; //attribute
double d_attribute; //attribute
char ca_attribute[10]; //attribute
enum enumtest enumtestvar;
enum enumtest enumtestvar_array[5];
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(enum enumtest, enumtest_dla,5);
//DECLARE_NML_UNBOUNDED_ARRAY(enum enumtest, enumtest_unbounded);
float fa[3];
double da[3];
PM_CARTESIAN cart;
PM_CARTESIAN cart_array[3];
PM_HOMOGENEOUS homo;
PM_HOMOGENEOUS homo_array[3];
INSIDE_COMMAND ic;
INSIDE_COMMAND ic_array[3];
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN,cart_dynamic_array,10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_HOMOGENEOUS, homo_dynamic_array,10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(INSIDE_COMMAND, ic_dynamic_array,10);
DECLARE_NML_UNBOUNDED_ARRAY(char,initialized_cda_unbounded); //default=foobar
DECLARE_NML_UNBOUNDED_ARRAY(char,cda_unbounded);
DECLARE_NML_UNBOUNDED_ARRAY(int,ida_unbounded);
DECLARE_NML_UNBOUNDED_ARRAY(float,fda_unbounded);
DECLARE_NML_UNBOUNDED_ARRAY(double,dda_unbounded);
//DECLARE_NML_UNBOUNDED_ARRAY(PM_CARTESIAN,cart_unbounded);
//DECLARE_NML_UNBOUNDED_ARRAY(PM_HOMOGENEOUS, homo_unbounded);
DECLARE_NML_UNBOUNDED_ARRAY(INSIDE_COMMAND, ic_unbounded);
}mystruct;
class EXAMPLE_MESSAGE: public NMLmsg
{
public:
EXAMPLE_MESSAGE();
void update(CMS *);
INSIDE_STATUS is;
int i; /* default=10 */
char c;
float f;
double d;
int ia[3];
char ca[3];
unsigned char hexdata[10];
char name[60];
int i_attribute; //attribute,default=10
char c_attribute; //attribute
float f_attribute; //attribute
double d_attribute; //attribute
char ca_attribute[10]; //attribute
enum enumtest enumtestvar;
enum RCS_STATUS rcsstatus;
enum enumtest enumtestvar_array[5];
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(enum enumtest, enumtest_dla,5);
//DECLARE_NML_UNBOUNDED_ARRAY(enum enumtest, enumtest_unbounded);
float fa[3]; /*default=5.0*/
double da[3];
PM_CARTESIAN cart;
PM_CARTESIAN cart_array[3];
PM_HOMOGENEOUS homo;
PM_HOMOGENEOUS homo_array[3];
INSIDE_COMMAND ic;
INSIDE_COMMAND ic_array[3];
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN,cart_dynamic_array,10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_HOMOGENEOUS, homo_dynamic_array,10);
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(INSIDE_COMMAND, ic_dynamic_array,10);
DECLARE_NML_UNBOUNDED_ARRAY(char,cda_unbounded);
DECLARE_NML_UNBOUNDED_ARRAY(int,ida_unbounded);
DECLARE_NML_UNBOUNDED_ARRAY(float,fda_unbounded);
DECLARE_NML_UNBOUNDED_ARRAY(double,dda_unbounded);
//DECLARE_NML_UNBOUNDED_ARRAY(PM_CARTESIAN,cart_unbounded_array);
//DECLARE_NML_UNBOUNDED_ARRAY(PM_HOMOGENEOUS, homo_unbounded_array);
DECLARE_NML_UNBOUNDED_ARRAY(INSIDE_COMMAND, ic_unbounded_array);
mystruct s;
mystruct sa[3];
DECLARE_NML_DYNAMIC_LENGTH_ARRAY(mystruct,sda, 10);
DECLARE_NML_UNBOUNDED_ARRAY(mystruct,sda_unbounded);
long lastvar;
};
/* Declare the NML Format function. */
int cgtester_format(NMLTYPE type, void *buf, CMS *cms);
#endif