10 #include <boost/signals2/signal.hpp> 13 namespace duds {
namespace data {
15 template <
class SVT,
class SQT,
class TVT,
class TQT>
20 namespace duds {
namespace hardware {
22 template<
class SVT,
class SQT,
class TVT,
class TQT>
31 template <
class SVT,
class SQT,
class TVT,
class TQT>
39 typedef boost::signals2::signal<
40 void (
const std::shared_ptr<Instrument> &,
41 const std::shared_ptr<const Measurement> &)
76 const typename MesurementSignal::slot_type &slot,
77 boost::signals2::connect_position at = boost::signals2::at_back
79 return newMeasure.connect(slot, at);
88 const typename MesurementSignal::group_type &group,
89 const typename MesurementSignal::slot_type &slot,
90 boost::signals2::connect_position at = boost::signals2::at_back
92 return newMeasure.connect(group, slot, at);
101 const typename MesurementSignal::extended_slot_type &slot,
102 boost::signals2::connect_position at = boost::signals2::at_back
104 return newMeasure.connect_extended(slot, at);
113 const typename MesurementSignal::group_type &group,
114 const typename MesurementSignal::extended_slot_type &slot,
115 boost::signals2::connect_position at = boost::signals2::at_back
117 return newMeasure.connect_extended(group, slot, at);
126 const typename MesurementSignal::group_type &group
128 newMeasure.disconnect(group);
138 newMeasure.disconnect(slotFunc);
148 const typename MesurementSignal::slot_type &slot,
149 boost::signals2::connect_position at = boost::signals2::at_back
151 return oldMeasure.connect(slot, at);
160 const typename MesurementSignal::group_type &group,
161 const typename MesurementSignal::slot_type &slot,
162 boost::signals2::connect_position at = boost::signals2::at_back
164 return oldMeasure.connect(group, slot, at);
173 const typename MesurementSignal::extended_slot_type &slot,
174 boost::signals2::connect_position at = boost::signals2::at_back
176 return oldMeasure.connect_extended(slot, at);
185 const typename MesurementSignal::group_type &group,
186 const typename MesurementSignal::extended_slot_type &slot,
187 boost::signals2::connect_position at = boost::signals2::at_back
189 return oldMeasure.connect_extended(group, slot, at);
198 const typename MesurementSignal::group_type &group
200 oldMeasure.disconnect(group);
210 oldMeasure.disconnect(slotFunc);
boost::variant< std::string, duds::general::LanguageTaggedString, std::array< std::int32_t, 4 >, std::array< std::int64_t, 2 >, duds::data::int128_w, std::array< float, 4 >, std::array< double, 2 >, double, duds::data::Quantity, boost::recursive_wrapper< duds::data::QuantityNddArray >, duds::time::interstellar::Femtoseconds, duds::time::interstellar::Nanoseconds, duds::time::interstellar::FemtoTime, duds::time::interstellar::NanoTime, boost::uuids::uuid, boost::recursive_wrapper< duds::data::GenericValueTable >, std::shared_ptr< std::vector< char > >> GenericValue
A general value of a type can be serialized for transmission over a network and can be used with a re...
boost::signals2::connection oldMeasurementConnectExtended(const typename MesurementSignal::extended_slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for old measurements.
boost::signals2::connection oldMeasurementConnect(const typename MesurementSignal::slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for old measurements.
boost::signals2::connection newMeasurementConnect(const typename MesurementSignal::slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for new measurements.
MesurementSignal newMeasure
A set of signals that are invoked when a meaurement on this Instrument is recorded that is newer than...
boost::signals2::connection newMeasurementConnectExtended(const typename MesurementSignal::group_type &group, const typename MesurementSignal::extended_slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for new measurements.
Handles sending signals of measurements taken by an instrument.
void newMeasurementDisconnect(const S &slotFunc)
Disconnect from the new measurement signal.
boost::signals2::connection oldMeasurementConnect(const typename MesurementSignal::group_type &group, const typename MesurementSignal::slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for old measurements.
MesurementSignal oldMeasure
A set of signals that are invoked when a meaurement on this Instrument is recorded that is older than...
boost::signals2::connection oldMeasurementConnectExtended(const typename MesurementSignal::group_type &group, const typename MesurementSignal::extended_slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for old measurements.
void oldMeasurementDisconnect(const S &slotFunc)
Disconnect from the old measurement signal.
void newMeasurementDisconnect(const typename MesurementSignal::group_type &group)
Disconnect from the new measurement signal.
duds::data::GenericMeasurement< SVT, SQT, TVT, TQT > Measurement
Stores a sample of something along with a timestamp stored as a sample from a clock.
boost::signals2::signal< void(const std::shared_ptr< Instrument > &, const std::shared_ptr< const Measurement > &) > MesurementSignal
The type used for event listeners that are told of measurments.
GenericInstrument< SVT, SQT, TVT, TQT > Instrument
GenericMeasurementSignalSource< duds::data::GenericValue, double, duds::time::interstellar::NanoTime, float > MeasurementSignalSource
boost::signals2::connection newMeasurementConnectExtended(const typename MesurementSignal::extended_slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for new measurements.
NanoClock::time_point NanoTime
A point in time in Interstellar Time stored in Nanoseconds.
boost::signals2::connection newMeasurementConnect(const typename MesurementSignal::group_type &group, const typename MesurementSignal::slot_type &slot, boost::signals2::connect_position at=boost::signals2::at_back)
Make a connection to receive signals for new measurements.
void oldMeasurementDisconnect(const typename MesurementSignal::group_type &group)
Disconnect from the old measurement signal.