DUDS
Distributed Update of Data from Something
MeasurementSignalGroup.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of the DUDS project. It is subject to the BSD-style
3  * license terms in the LICENSE file found in the top-level directory of this
4  * distribution and at https://github.com/jjackowski/duds/blob/master/LICENSE.
5  * No part of DUDS, including this file, may be copied, modified, propagated,
6  * or distributed except according to the terms contained in the LICENSE file.
7  *
8  * Copyright (C) 2017 Jeff Jackowski
9  */
11 
12 namespace duds { namespace hardware {
13 
78 template <class SVT, class SQT, class TVT, class TQT>
80  public GenericMeasurementSignalSource<SVT, SQT, TVT, TQT>,
81  public GenericMeasurementSignalSink<SVT, SQT, TVT, TQT>
82 {
83 protected:
89  const std::shared_ptr<Instrument> &i,
90  const std::shared_ptr<const Measurement> &m
91  ) {
92  newMeasure(i, m);
93  }
99  const std::shared_ptr<Instrument> &i,
100  const std::shared_ptr<const Measurement> &m
101  ) {
102  oldMeasure(i, m);
103  }
104 public:
108  virtual ~GenericMeasurementSignalGroup() = default;
109 };
110 
113  double,
115  float
117 
118 } }
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...
MesurementSignal newMeasure
A set of signals that are invoked when a meaurement on this Instrument is recorded that is newer than...
Handles sending signals of measurements taken by an instrument.
A base class for receiving measurement signals from multiple Instruments.
GenericMeasurementSignalGroup< duds::data::GenericValue, double, duds::time::interstellar::NanoTime, float > MeasurementSignalGroup
void handleOldMeasure(const std::shared_ptr< Instrument > &i, const std::shared_ptr< const Measurement > &m)
Receives an old measurement signal and resends it on this object&#39;s corresponding signal.
MesurementSignal oldMeasure
A set of signals that are invoked when a meaurement on this Instrument is recorded that is older than...
Distributes measurement signals from one or more instruments to one or more listeners.
virtual ~GenericMeasurementSignalGroup()=default
Disconnects from all signals.
void handleNewMeasure(const std::shared_ptr< Instrument > &i, const std::shared_ptr< const Measurement > &m)
Receives a new measurement signal and resends it on this object&#39;s corresponding signal.
NanoClock::time_point NanoTime
A point in time in Interstellar Time stored in Nanoseconds.