Convenience Class for NTScalarMultiChannel.
More...
#include "ntscalarMultiChannel.h"
Convenience Class for NTScalarMultiChannel.
- Author
- dgh
-
mrk
Definition at line 184 of file ntscalarMultiChannel.h.
epics::nt::NTScalarMultiChannel::~NTScalarMultiChannel |
( |
| ) |
|
|
inline |
Attaches a PVAlarm to the wrapped PVStructure. Does nothing if no alarm field.
- Parameters
-
pvAlarm | the PVAlarm that will be attached. |
- Returns
- true if the operation was successfull (i.e. this instance has an alarm field), otherwise false.
Definition at line 313 of file ntscalarMultiChannel.cpp.
316 return pv.attach(pvAlarm);
Attaches a PVTimeStamp to the wrapped PVStructure. Does nothing if no timeStamp field.
- Parameters
-
pvTimeStamp | the PVTimeStamp that will be attached. |
- Returns
- true if the operation was successfull (i.e. this instance has a timeStamp field), otherwise false.
Definition at line 305 of file ntscalarMultiChannel.cpp.
308 return pv.attach(pvTimeStamp);
Creates an NTScalarMultiChannelBuilder instance
- Returns
- builder instance.
Definition at line 281 of file ntscalarMultiChannel.cpp.
std::tr1::shared_ptr< detail::NTScalarMultiChannelBuilder > NTScalarMultiChannelBuilderPtr
Returns the alarm field.
- Returns
- the alarm field or null if no such field.
Definition at line 325 of file ntscalarMultiChannel.h.
Returns the field with the channelName of each channel.
- Returns
- the channelName field
Definition at line 352 of file ntscalarMultiChannel.h.
353 {
return pvChannelName;};
Return the descriptor field.
- Returns
- the descriptor field or null if no descriptor field.
Definition at line 311 of file ntscalarMultiChannel.h.
312 {
return pvDescriptor;}
Returns the field with the connection state of each channel.
- Returns
- the isConnected field or null if no such field
Definition at line 359 of file ntscalarMultiChannel.h.
360 {
return pvIsConnected;};
Returns the field with the message of each channel.
- Returns
- message field or null if no such field.
Definition at line 380 of file ntscalarMultiChannel.h.
Returns the field with the nanoseconds of each channel.
- Returns
- nanoseconds field or null if no such field.
Definition at line 394 of file ntscalarMultiChannel.h.
395 {
return pvNanoseconds;}
Returns the PVStructure wrapped by this instance.
- Returns
- the PVStructure wrapped by this instance.
Definition at line 304 of file ntscalarMultiChannel.h.
305 {
return pvNTScalarMultiChannel;}
Returns the field with the secondsPastEpoch of each channel.
- Returns
- the secondsPastEpoch field or null if no such field.
Definition at line 387 of file ntscalarMultiChannel.h.
388 {
return pvSecondsPastEpoch;}
Returns the field with the severity of each channel.
- Returns
- the severity field or null if no such field
Definition at line 366 of file ntscalarMultiChannel.h.
Returns the field with the status of each channel.
- Returns
- the status field or null if no such field
Definition at line 373 of file ntscalarMultiChannel.h.
Returns the timeStamp field.
- Returns
- the timeStamp field or null if no such field.
Definition at line 318 of file ntscalarMultiChannel.h.
319 {
return pvTimeStamp;}
Returns the field with the userTag of each channel.
- Returns
- the userTag field or null if no such field.
Definition at line 401 of file ntscalarMultiChannel.h.
Returns the field with the value of each channel.
- Returns
- the value field.
Definition at line 332 of file ntscalarMultiChannel.h.
template<typename PVT >
std::tr1::shared_ptr<PVT> epics::nt::NTScalarMultiChannel::getValue |
( |
| ) |
const |
|
inline |
Returns the value of each channel of a specified expected type (for example, PVDoubleArray).
- Template Parameters
-
PVT | the expected type of the value field which should be be PVScalarArray or a derived class. |
- Returns
- the value field or null if it is not of the expected type.
Definition at line 343 of file ntscalarMultiChannel.h.
shared_ptr< T > dynamic_pointer_cast(shared_ptr< U > const &r) BOOST_NOEXCEPT
Returns whether the specified Structure reports to be a compatible NTScalarMultiChannel.
Checks if the specified Structure reports compatibility with this version of NTScalarMultiChannel through its type ID, including checking version numbers. The return value does not depend on whether the structure is actually compatible in terms of its introspection type.
- Parameters
-
structure | the Structure to test |
- Returns
- (false,true) if the specified Structure (is not, is) a compatible NTScalarMultiChannel
Definition at line 220 of file ntscalarMultiChannel.cpp.
static bool is_a(const std::string &u1, const std::string &u2)
static const std::string URI
Returns whether the specified PVStructure reports to be a compatible NTScalarMultiChannel.
Checks if the specified PVStructure reports compatibility with this version of NTScalarMultiChannel through its type ID, including checking version numbers. The return value does not depend on whether the structure is actually compatible in terms of its introspection type.
- Parameters
-
pvStructure | the PVStructure to test |
- Returns
- (false,true) if the specified PVStructure (is not, is) a compatible NTScalarMultiChannel
Definition at line 225 of file ntscalarMultiChannel.cpp.
227 return is_a(pvStructure->getStructure());
static bool is_a(epics::pvData::StructureConstPtr const &structure)
Returns whether the specified Structure is compatible with NTScalarMultiChannel.
Checks if the specified Structure is compatible with this version of NTScalarMultiChannel through the introspection interface.
- Parameters
-
structure | the Structure to test |
- Returns
- (false,true) if the specified Structure (is not, is) a compatible NTScalarMultiChannel
Definition at line 230 of file ntscalarMultiChannel.cpp.
239 .has<ScalarArray>(
"value")
241 .maybeHas<ScalarArray>(
"severity")
243 .maybeHas<ScalarArray>(
"message")
245 .maybeHas<ScalarArray>(
"nanoseconds")
247 .maybeHas<Scalar>(
"descriptor")
249 .maybeHas<&NTField::isTimeStamp, Structure>(
"timeStamp")
This class implements introspection object for a structure.
bool isAlarm(epics::pvData::FieldConstPtr const &field)
This class implements introspection object for scalar array.
bool epics::nt::NTScalarMultiChannel::isValid |
( |
| ) |
|
Returns whether the specified PVStructure is a valid NTScalarMultiChannel.
Unlike isCompatible(), isValid() may perform checks on the value data as well as the introspection data.
- Returns
- (false,true) if wrapped PVStructure (is not, is) a valid NTScalarMultiChannel.
Definition at line 260 of file ntscalarMultiChannel.cpp.
262 size_t valueLength =
getValue()->getLength();
269 size_t N =
sizeof(arrayFields)/
sizeof(arrayFields[0]);
275 if (arrayField.get() && arrayField->getLength() != valueLength)
epics::pvData::PVScalarArrayPtr getValue() const
epics::pvData::PVIntArrayPtr getStatus() const
epics::pvData::PVStringArrayPtr getMessage() const
epics::pvData::PVIntArrayPtr getSeverity() const
epics::pvData::PVStringArrayPtr getChannelName() const
epics::pvData::PVIntArrayPtr getUserTag() const
epics::pvData::PVLongArrayPtr getSecondsPastEpoch() const
epics::pvData::PVIntArrayPtr getNanoseconds() const
std::tr1::shared_ptr< PVScalarArray > PVScalarArrayPtr
Creates an NTScalarMultiChannel wrapping the specified PVStructure if the latter is compatible.
Checks the supplied PVStructure is compatible with NTScalarMultiChannel and if so returns an NTScalarMultiChannel which wraps it. This method will return null if the structure is is not compatible or is null.
- Parameters
-
pvStructure | the PVStructure to be wrapped |
- Returns
- NTScalarMultiChannel instance wrapping pvStructure on success, null otherwise
Definition at line 209 of file ntscalarMultiChannel.cpp.
static bool isCompatible(epics::pvData::StructureConstPtr const &structure)
static shared_pointer wrapUnsafe(epics::pvData::PVStructurePtr const &pvStructure)
Creates an NTScalarMultiChannel wrapping the specified PVStructure, regardless of the latter's compatibility.
No checks are made as to whether the specified PVStructure is compatible with NTScalarMultiChannel or is non-null.
- Parameters
-
pvStructure | the PVStructure to be wrapped |
- Returns
- NTScalarMultiChannel instance wrapping pvStructure
Definition at line 215 of file ntscalarMultiChannel.cpp.
217 return shared_pointer(
new NTScalarMultiChannel(pvStructure));
const std::string epics::nt::NTScalarMultiChannel::URI |
|
static |
The documentation for this class was generated from the following files: