1 #ifndef COBRADATAFORMAT_H
2 #define COBRADATAFORMAT_H
11 class CobraDataFormat :
26 int getSizeInBytes()
const {
30 void mySerialize(
char *
const byteArray,
31 int *
const offset )
const
33 pack(id_, byteArray, offset);
34 pack(band_, byteArray, offset);
35 pack(nauto_, byteArray, offset);
36 pack(nauto_samples_, byteArray, offset);
37 pack(ncross_, byteArray, offset);
38 pack(ncross_samples_, byteArray, offset);
39 pack(sample_type_, byteArray, offset);
40 pack(sample_domain_, byteArray, offset);
41 pack(sample_format_, byteArray, offset);
42 pack(scale_factor_, byteArray, offset);
43 pack(nint_, byteArray, offset);
44 pack(bandwidth_, byteArray, offset);
45 pack(tint_, byteArray, offset);
46 pack(tpsw_, byteArray, offset);
47 pack(nintegrations_, byteArray, offset);
50 void deserializeVer0(
const char *
const byteArray,
54 unpack(id_, byteArray, offset, byteArraySize);
55 unpack(band_, byteArray, offset, byteArraySize);
56 unpack(nauto_, byteArray, offset, byteArraySize);
57 unpack(nauto_samples_, byteArray, offset, byteArraySize);
58 unpack(ncross_, byteArray, offset, byteArraySize);
59 unpack(ncross_samples_, byteArray, offset, byteArraySize);
60 unpack(sample_type_, byteArray, offset, byteArraySize);
61 unpack(sample_domain_, byteArray, offset, byteArraySize);
62 unpack(sample_format_, byteArray, offset, byteArraySize);
63 unpack(scale_factor_, byteArray, offset, byteArraySize);
64 unpack(nint_, byteArray, offset, byteArraySize);
65 unpack(bandwidth_, byteArray, offset, byteArraySize);
66 unpack(tint_, byteArray, offset, byteArraySize);
67 unpack(tpsw_, byteArray, offset, byteArraySize);
68 unpack(nintegrations_, byteArray, offset, byteArraySize);
71 void deserializeVer1(
const char *
const byteArray,
75 unpack(id_, byteArray, offset, byteArraySize);
76 unpack(band_, byteArray, offset, byteArraySize);
77 unpack(nauto_, byteArray, offset, byteArraySize);
78 unpack(nauto_samples_, byteArray, offset, byteArraySize);
79 unpack(ncross_, byteArray, offset, byteArraySize);
80 unpack(ncross_samples_, byteArray, offset, byteArraySize);
81 unpack(sample_type_, byteArray, offset, byteArraySize);
82 unpack(sample_domain_, byteArray, offset, byteArraySize);
83 unpack(sample_format_, byteArray, offset, byteArraySize);
84 unpack(scale_factor_, byteArray, offset, byteArraySize);
85 unpack(nint_, byteArray, offset, byteArraySize);
86 unpack(bandwidth_, byteArray, offset, byteArraySize);
87 unpack(tint_, byteArray, offset, byteArraySize);
88 unpack(tpsw_, byteArray, offset, byteArraySize);
89 unpack(nintegrations_, byteArray, offset, byteArraySize);
92 void deserializeSwapVer0(
const char *
const byteArray,
96 unpackSwap(id_, byteArray, offset, byteArraySize);
97 unpackSwap(band_, byteArray, offset, byteArraySize);
98 unpackSwap(nauto_, byteArray, offset, byteArraySize);
99 unpackSwap(nauto_samples_, byteArray, offset, byteArraySize);
100 unpackSwap(ncross_, byteArray, offset, byteArraySize);
101 unpackSwap(ncross_samples_, byteArray, offset, byteArraySize);
102 unpackSwap(sample_type_, byteArray, offset, byteArraySize);
103 unpackSwap(sample_domain_, byteArray, offset, byteArraySize);
104 unpackSwap(sample_format_, byteArray, offset, byteArraySize);
105 unpackSwap(scale_factor_, byteArray, offset, byteArraySize);
106 unpackSwap(nint_, byteArray, offset, byteArraySize);
107 unpackSwap(bandwidth_, byteArray, offset, byteArraySize);
108 unpackSwap(tint_, byteArray, offset, byteArraySize);
109 unpackSwap(tpsw_, byteArray, offset, byteArraySize);
110 unpackSwap(nintegrations_, byteArray, offset, byteArraySize);
113 void deserializeSwapVer1(
const char *
const byteArray,
117 unpackSwap(id_, byteArray, offset, byteArraySize);
118 unpackSwap(band_, byteArray, offset, byteArraySize);
119 unpackSwap(nauto_, byteArray, offset, byteArraySize);
120 unpackSwap(nauto_samples_, byteArray, offset, byteArraySize);
121 unpackSwap(ncross_, byteArray, offset, byteArraySize);
122 unpackSwap(ncross_samples_, byteArray, offset, byteArraySize);
123 unpackSwap(sample_type_, byteArray, offset, byteArraySize);
124 unpackSwap(sample_domain_, byteArray, offset, byteArraySize);
125 unpackSwap(sample_format_, byteArray, offset, byteArraySize);
126 unpackSwap(scale_factor_, byteArray, offset, byteArraySize);
127 unpackSwap(nint_, byteArray, offset, byteArraySize);
128 unpackSwap(bandwidth_, byteArray, offset, byteArraySize);
129 unpackSwap(tint_, byteArray, offset, byteArraySize);
130 unpackSwap(tpsw_, byteArray, offset, byteArraySize);
131 unpackSwap(nintegrations_, byteArray, offset, byteArraySize);
135 bool operator== (
const CobraDataFormat &rhs)
137 return ((id_ == rhs.id_) &&
138 (band_ == rhs.band_) &&
139 (nauto_ == rhs.nauto_) &&
140 (nauto_samples_ == rhs.nauto_samples_) &&
141 (ncross_ == rhs.ncross_) &&
142 (ncross_samples_ == rhs.ncross_samples_) &&
143 (sample_type_ == rhs.sample_type_) &&
144 (sample_domain_ == rhs.sample_domain_) &&
145 (sample_format_ == rhs.sample_format_) &&
146 (scale_factor_ == rhs.scale_factor_) &&
147 (nint_ == rhs.nint_) &&
148 (bandwidth_ == rhs.bandwidth_) &&
149 (tint_ == rhs.tint_) &&
150 (tpsw_ == rhs.tpsw_) &&
151 (nintegrations_ == rhs.nintegrations_));
153 bool operator!= (
const CobraDataFormat &rhs)
155 return !(*
this == rhs);
169 int getNautoSamples()
170 {
return nauto_samples_;}
173 int getNcrossSamples()
174 {
return ncross_samples_;}
176 {
return sample_type_;}
177 int getSampleDomain()
178 {
return sample_domain_;}
179 int getSampleFormat()
180 {
return sample_format_;}
182 {
return scale_factor_;}
191 int getNintegrations()
192 {
return nintegrations_;}
199 void setBand(
int band)
201 void setNauto(
int nauto)
203 void setNautoSamples(
int nauto_samples)
204 {nauto_samples_ = nauto_samples;}
205 void setNcross(
int ncross)
207 void setNcrossSamples(
int ncross_samples)
208 {ncross_samples_ = ncross_samples;}
209 void setSampleType(
int sample_type)
210 {sample_type_ = sample_type;}
211 void setSampleDomain(
int sample_domain)
212 {sample_domain_ = sample_domain;}
213 void setSampleFormat(
int sample_format)
214 {sample_format_ = sample_format;}
215 void setScaleFactor(
int scale_factor)
216 {scale_factor_ = scale_factor;}
217 void setNint(
int nint)
219 void setBandwidth(
float bandwidth)
220 {bandwidth_ = bandwidth;}
221 void setTint(
float tint)
223 void setTpsw(
float tpsw)
225 void setNintegrations(
int nintegrations)
226 {nintegrations_ = nintegrations;}
248 #endif // COBRADATAFORMAT_H
Abstract Class used to allow object to serialize themselves into a byte array.