26 #include <boost/thread/condition_variable.hpp> 27 #include <boost/thread/locks.hpp> 28 #include <boost/make_shared.hpp> 29 #include <boost/ref.hpp> 31 #define CORBA_MAX_TRANSFER_BYTES omniORB::giopMaxMsgSize() 33 #include <ossie/CF/QueryablePort.h> 35 #include <redhawk/FRONTEND/RFInfo.h> 36 #include <redhawk/FRONTEND/GPS.h> 37 #include <redhawk/FRONTEND/NavigationData.h> 39 #include <ossie/CorbaUtils.h> 59 FRONTEND::RFInfoPkt* tmpVal =
new FRONTEND::RFInfoPkt();
60 tmpVal->rf_flow_id = CORBA::string_dup(val.rf_flow_id.c_str());
61 tmpVal->rf_center_freq = val.rf_center_freq;
62 tmpVal->rf_bandwidth = val.rf_bandwidth;
63 tmpVal->if_center_freq = val.if_center_freq;
64 tmpVal->spectrum_inverted = val.spectrum_inverted;
65 tmpVal->sensor.collector = CORBA::string_dup(val.sensor.collector.c_str());
66 tmpVal->sensor.mission = CORBA::string_dup(val.sensor.mission.c_str());
67 tmpVal->sensor.rx = CORBA::string_dup(val.sensor.rx.c_str());
68 tmpVal->sensor.antenna.description = CORBA::string_dup(val.sensor.antenna.description.c_str());
69 tmpVal->sensor.antenna.name = CORBA::string_dup(val.sensor.antenna.name.c_str());
70 tmpVal->sensor.antenna.size = CORBA::string_dup(val.sensor.antenna.size.c_str());
71 tmpVal->sensor.antenna.type = CORBA::string_dup(val.sensor.antenna.type.c_str());
72 tmpVal->sensor.feed.name = CORBA::string_dup(val.sensor.feed.name.c_str());
73 tmpVal->sensor.feed.polarization = CORBA::string_dup(val.sensor.feed.polarization.c_str());
74 tmpVal->sensor.feed.freq_range.max_val = val.sensor.feed.freq_range.max_val;
75 tmpVal->sensor.feed.freq_range.min_val = val.sensor.feed.freq_range.min_val;
76 tmpVal->sensor.feed.freq_range.values.length(val.sensor.feed.freq_range.values.size());
77 for (
unsigned int i=0; i<val.sensor.feed.freq_range.values.size(); i++) {
78 tmpVal->sensor.feed.freq_range.values[i] = val.sensor.feed.freq_range.values[i];
84 val.rf_flow_id = ossie::corba::returnString(tmpVal.rf_flow_id);
85 val.rf_center_freq = tmpVal.rf_center_freq;
86 val.rf_bandwidth = tmpVal.rf_bandwidth;
87 val.if_center_freq = tmpVal.if_center_freq;
88 val.spectrum_inverted = tmpVal.spectrum_inverted;
89 val.sensor.collector = ossie::corba::returnString(tmpVal.sensor.collector);
90 val.sensor.mission = ossie::corba::returnString(tmpVal.sensor.mission);
91 val.sensor.rx = ossie::corba::returnString(tmpVal.sensor.rx);
92 val.sensor.antenna.description = ossie::corba::returnString(tmpVal.sensor.antenna.description);
93 val.sensor.antenna.name = ossie::corba::returnString(tmpVal.sensor.antenna.name);
94 val.sensor.antenna.size = ossie::corba::returnString(tmpVal.sensor.antenna.size);
95 val.sensor.antenna.type = ossie::corba::returnString(tmpVal.sensor.antenna.type);
96 val.sensor.feed.name = ossie::corba::returnString(tmpVal.sensor.feed.name);
97 val.sensor.feed.polarization = ossie::corba::returnString(tmpVal.sensor.feed.polarization);
98 val.sensor.feed.freq_range.max_val = tmpVal.sensor.feed.freq_range.max_val;
99 val.sensor.feed.freq_range.min_val = tmpVal.sensor.feed.freq_range.min_val;
100 val.sensor.feed.freq_range.values.resize(tmpVal.sensor.feed.freq_range.values.length());
101 for (
unsigned int i=0; i<val.sensor.feed.freq_range.values.size(); i++) {
102 val.sensor.feed.freq_range.values[i] = tmpVal.sensor.feed.freq_range.values[i];
108 FRONTEND::GPSInfo* tmpVal =
new FRONTEND::GPSInfo();
109 tmpVal->source_id = CORBA::string_dup(val.source_id.c_str());
110 tmpVal->rf_flow_id = CORBA::string_dup(val.rf_flow_id.c_str());
111 tmpVal->mode = CORBA::string_dup(val.mode.c_str());
112 tmpVal->fom = val.fom;
113 tmpVal->tfom = val.tfom;
114 tmpVal->datumID = val.datumID;
115 tmpVal->time_offset = val.time_offset;
116 tmpVal->freq_offset = val.freq_offset;
117 tmpVal->time_variance = val.time_variance;
118 tmpVal->freq_variance = val.freq_variance;
119 tmpVal->satellite_count = val.satellite_count;
120 tmpVal->snr = val.snr;
121 tmpVal->status_message = CORBA::string_dup(val.status_message.c_str());
122 tmpVal->timestamp = val.timestamp;
123 tmpVal->additional_info = val.additional_info;
127 frontend::GPSInfo val;
128 val.source_id = ossie::corba::returnString(tmpVal.source_id);
129 val.rf_flow_id = ossie::corba::returnString(tmpVal.rf_flow_id);
130 val.mode = ossie::corba::returnString(tmpVal.mode);
131 val.fom = tmpVal.fom;
132 val.tfom = tmpVal.tfom;
133 val.datumID = tmpVal.datumID;
134 val.time_offset = tmpVal.time_offset;
135 val.freq_offset = tmpVal.freq_offset;
136 val.time_variance = tmpVal.time_variance;
137 val.freq_variance = tmpVal.freq_variance;
138 val.satellite_count = tmpVal.satellite_count;
139 val.snr = tmpVal.snr;
140 val.status_message = ossie::corba::returnString(tmpVal.status_message);
141 val.timestamp = tmpVal.timestamp;
142 val.additional_info = tmpVal.additional_info;
147 FRONTEND::GpsTimePos* tmpVal =
new FRONTEND::GpsTimePos();
148 tmpVal->position.valid = val.position.valid;
149 tmpVal->position.datum = CORBA::string_dup(val.position.datum.c_str());
150 tmpVal->position.lat = val.position.lat;
151 tmpVal->position.lon = val.position.lon;
152 tmpVal->position.alt = val.position.alt;
153 tmpVal->timestamp = val.timestamp;
157 frontend::GpsTimePos val;
158 val.position.valid = tmpVal.position.valid;
159 val.position.datum = ossie::corba::returnString(tmpVal.position.datum);
160 val.position.lat = tmpVal.position.lat;
161 val.position.lon = tmpVal.position.lon;
162 val.position.alt = tmpVal.position.alt;
163 val.timestamp = tmpVal.timestamp;
167 FRONTEND::NavigationPacket* tmpVal =
new FRONTEND::NavigationPacket();
168 tmpVal->source_id = CORBA::string_dup(val.source_id.c_str());
169 tmpVal->rf_flow_id = CORBA::string_dup(val.rf_flow_id.c_str());
170 tmpVal->position.valid = val.position.valid;
171 tmpVal->position.datum = CORBA::string_dup(val.position.datum.c_str());
172 tmpVal->position.lat = val.position.lat;
173 tmpVal->position.lon = val.position.lon;
174 tmpVal->position.alt = val.position.alt;
175 tmpVal->cposition.valid = val.cposition.valid;
176 tmpVal->cposition.datum = CORBA::string_dup(val.cposition.datum.c_str());
177 tmpVal->cposition.x = val.cposition.x;
178 tmpVal->cposition.y = val.cposition.y;
179 tmpVal->cposition.z = val.cposition.z;
180 tmpVal->velocity.valid = val.velocity.valid;
181 tmpVal->velocity.datum = CORBA::string_dup(val.velocity.datum.c_str());
182 tmpVal->velocity.coordinate_system = CORBA::string_dup(val.velocity.coordinate_system.c_str());
183 tmpVal->velocity.x = val.velocity.x;
184 tmpVal->velocity.y = val.velocity.y;
185 tmpVal->velocity.z = val.velocity.z;
186 tmpVal->acceleration.valid = val.acceleration.valid;
187 tmpVal->acceleration.datum = CORBA::string_dup(val.acceleration.datum.c_str());
188 tmpVal->acceleration.coordinate_system = CORBA::string_dup(val.acceleration.coordinate_system.c_str());
189 tmpVal->acceleration.x = val.acceleration.x;
190 tmpVal->acceleration.y = val.acceleration.y;
191 tmpVal->acceleration.z = val.acceleration.z;
192 tmpVal->attitude.valid = val.attitude.valid;
193 tmpVal->attitude.pitch = val.attitude.pitch;
194 tmpVal->attitude.yaw = val.attitude.yaw;
195 tmpVal->attitude.roll = val.attitude.roll;
196 tmpVal->timestamp = val.timestamp;
197 tmpVal->additional_info = val.additional_info;
201 frontend::NavigationPacket val;
202 val.source_id = ossie::corba::returnString(tmpVal.source_id);
203 val.rf_flow_id = ossie::corba::returnString(tmpVal.rf_flow_id);
204 val.position.valid = tmpVal.position.valid;
205 val.position.datum = ossie::corba::returnString(tmpVal.position.datum);
206 val.position.lat = tmpVal.position.lat;
207 val.position.lon = tmpVal.position.lon;
208 val.position.alt = tmpVal.position.alt;
209 val.cposition.valid = tmpVal.cposition.valid;
210 val.cposition.datum = ossie::corba::returnString(tmpVal.cposition.datum);
211 val.cposition.x = tmpVal.cposition.x;
212 val.cposition.y = tmpVal.cposition.y;
213 val.cposition.z = tmpVal.cposition.z;
214 val.velocity.valid = tmpVal.velocity.valid;
215 val.velocity.datum = ossie::corba::returnString(tmpVal.velocity.datum);
216 val.velocity.coordinate_system = ossie::corba::returnString(tmpVal.velocity.coordinate_system);
217 val.velocity.x = tmpVal.velocity.x;
218 val.velocity.y = tmpVal.velocity.y;
219 val.velocity.z = tmpVal.velocity.z;
220 val.acceleration.valid = tmpVal.acceleration.valid;
221 val.acceleration.datum = ossie::corba::returnString(tmpVal.acceleration.datum);
222 val.acceleration.coordinate_system = ossie::corba::returnString(tmpVal.acceleration.coordinate_system);
223 val.acceleration.x = tmpVal.acceleration.x;
224 val.acceleration.y = tmpVal.acceleration.y;
225 val.acceleration.z = tmpVal.acceleration.z;
226 val.attitude.valid = tmpVal.attitude.valid;
227 val.attitude.pitch = tmpVal.attitude.pitch;
228 val.attitude.yaw = tmpVal.attitude.yaw;
229 val.attitude.roll = tmpVal.attitude.roll;
230 val.timestamp = tmpVal.timestamp;
231 val.additional_info = tmpVal.additional_info;
237 template <
typename PortType_var,
typename PortType>
261 ExtendedCF::UsesConnectionSequence_var retVal =
new ExtendedCF::UsesConnectionSequence(
recConnections);
263 return retVal._retn();
266 void connectPort(CORBA::Object_ptr connection,
const char* connectionId)
269 PortType_var port = PortType::_narrow(connection);
297 return PortType::_PD_repoId;
301 std::vector < std::pair<PortType_var, std::string> >
outConnections;
void operator()(void const *) const
Definition: fe_port_impl.h:52
FRONTEND::GPSInfo * returnGPSInfo(const frontend::GPSInfo &val)
Definition: fe_port_impl.h:107
std::string getRepid() const
Definition: fe_port_impl.h:296
FRONTEND::RFInfoPkt * returnRFInfoPkt(const RFInfoPkt &val)
Definition: fe_port_impl.h:58
boost::mutex updatingPortsLock
Definition: Port_impl.h:360
Definition: fe_tuner_device.h:37
OutFrontendPort(std::string port_name)
Definition: fe_port_impl.h:241
std::vector< std::pair< PortType_var, std::string > > outConnections
Definition: fe_port_impl.h:298
ExtendedCF::UsesConnectionSequence recConnections
Definition: fe_port_impl.h:302
Definition: fe_port_impl.h:50
void disconnectPort(const char *connectionId)
Definition: fe_port_impl.h:275
FRONTEND::GpsTimePos * returnGpsTimePos(const frontend::GpsTimePos &val)
Definition: fe_port_impl.h:146
ExtendedCF::UsesConnectionSequence * connections()
Definition: fe_port_impl.h:250
~OutFrontendPort()
Definition: fe_port_impl.h:247
bool active
Definition: Port_impl.h:359
void connectPort(CORBA::Object_ptr connection, const char *connectionId)
Definition: fe_port_impl.h:266
bool recConnectionsRefresh
Definition: fe_port_impl.h:303
FRONTEND::NavigationPacket * returnNavigationPacket(const frontend::NavigationPacket &val)
Definition: fe_port_impl.h:166
std::vector< std::pair< PortType_var, std::string > > _getConnections()
Definition: fe_port_impl.h:291
Definition: Port_impl.h:320
Definition: fe_port_impl.h:238