Convenience Class for NTMultiChannel.
More...
#include "ntmultiChannel.h"
Convenience Class for NTMultiChannel.
- Author
- mrk
Definition at line 181 of file ntmultiChannel.h.
epics::nt::NTMultiChannel::~NTMultiChannel |
( |
| ) |
|
|
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 319 of file ntmultiChannel.cpp.
322 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 311 of file ntmultiChannel.cpp.
314 return pv.attach(pvTimeStamp);
Creates an NTMultiChannelBuilder instance
- Returns
- builder instance.
Definition at line 288 of file ntmultiChannel.cpp.
std::tr1::shared_ptr< detail::NTMultiChannelBuilder > NTMultiChannelBuilderPtr
Returns the alarm field.
- Returns
- the alarm field or null if no such field.
Definition at line 324 of file ntmultiChannel.h.
Returns the field with the channelName of each channel.
- Returns
- the channelName field
Definition at line 338 of file ntmultiChannel.h.
339 {
return pvChannelName;};
Return the descriptor field.
- Returns
- the descriptor field or null if no descriptor field.
Definition at line 310 of file ntmultiChannel.h.
311 {
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 345 of file ntmultiChannel.h.
346 {
return pvIsConnected;};
Returns the field with the message of each channel.
- Returns
- message field or null if no such field.
Definition at line 366 of file ntmultiChannel.h.
Returns the field with the nanoseconds of each channel.
- Returns
- nanoseconds field or null if no such field.
Definition at line 380 of file ntmultiChannel.h.
381 {
return pvNanoseconds;}
Returns the PVStructure wrapped by this instance.
- Returns
- the PVStructure wrapped by this instance.
Definition at line 303 of file ntmultiChannel.h.
304 {
return pvNTMultiChannel;}
Returns the field with the secondsPastEpoch of each channel.
- Returns
- the secondsPastEpoch field or null if no such field.
Definition at line 373 of file ntmultiChannel.h.
374 {
return pvSecondsPastEpoch;}
Returns the field with the severity of each channel.
- Returns
- the severity field or null if no such field.
Definition at line 352 of file ntmultiChannel.h.
Returns the field with the status of each channel.
- Returns
- the status field or null if no such field
Definition at line 359 of file ntmultiChannel.h.
Returns the timeStamp field.
- Returns
- the timeStamp field or null if no such field.
Definition at line 317 of file ntmultiChannel.h.
318 {
return pvTimeStamp;}
Returns the field with the userTag of each channel.
- Returns
- the userTag field or null if no such field.
Definition at line 387 of file ntmultiChannel.h.
Returns the field with the value of each channel.
- Returns
- the value field.
Definition at line 331 of file ntmultiChannel.h.
Returns whether the specified Structure reports to be a compatible NTMultiChannel.
Checks whether the specified Structure reports compatibility with this version of NTMultiChannel 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 NTMultiChannel
Definition at line 225 of file ntmultiChannel.cpp.
static const std::string URI
static bool is_a(const std::string &u1, const std::string &u2)
Returns whether the specified PVStructure reports to be a compatible NTMultiChannel.
Checks whether the specified PVStructure reports compatibility with this version of NTMultiChannel 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 NTMultiChannel
Definition at line 230 of file ntmultiChannel.cpp.
232 return is_a(pvStructure->getStructure());
static bool is_a(epics::pvData::StructureConstPtr const &structure)
Returns whether the specified Structure is compatible with NTMultiChannel.
Checks whether the specified Structure is compatible with this version of NTMultiChannel through the introspection interface.
- Parameters
-
structure | the Structure to test |
- Returns
- (false,true) if the specified Structure (is not, is) a compatible NTMultiChannel
Definition at line 235 of file ntmultiChannel.cpp.
244 .has<UnionArray>(
"value")
246 .maybeHas<ScalarArray>(
"severity")
248 .maybeHas<ScalarArray>(
"message")
250 .maybeHas<ScalarArray>(
"nanoseconds")
252 .maybeHas<Scalar>(
"descriptor")
254 .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.
Returns whether the specified PVStructure is compatible with NTMultiChannel.
Checks whether the specified PVStructure is compatible with this version of NTMultiChannel through the introspection interface.
- Parameters
-
pvStructure | the PVStructure to test |
- Returns
- (false,true) if the specified PVStructure (is not, is) a compatible NTMultiChannel
Definition at line 258 of file ntmultiChannel.cpp.
260 if(!pvStructure.get())
return false;
static bool isCompatible(epics::pvData::StructureConstPtr const &structure)
bool epics::nt::NTMultiChannel::isValid |
( |
| ) |
|
Checks whether the wrapped PVStructure is valid with respect to this version of NTMultiChannel.
Unlike isCompatible(), isValid() may perform checks on the value data as well as the introspection data.
- Returns
- (false,true) if the wrapped PVStructure (is not, is) a valid NTMultiChannel
Definition at line 266 of file ntmultiChannel.cpp.
268 size_t valueLength =
getValue()->getLength();
275 size_t N =
sizeof(arrayFields)/
sizeof(arrayFields[0]);
281 if (arrayField.get() && arrayField->getLength() != valueLength)
epics::pvData::PVIntArrayPtr getUserTag() const
epics::pvData::PVIntArrayPtr getStatus() const
epics::pvData::PVLongArrayPtr getSecondsPastEpoch() const
epics::pvData::PVIntArrayPtr getNanoseconds() const
epics::pvData::PVStringArrayPtr getChannelName() const
epics::pvData::PVUnionArrayPtr getValue() const
epics::pvData::PVStringArrayPtr getMessage() const
std::tr1::shared_ptr< PVScalarArray > PVScalarArrayPtr
epics::pvData::PVIntArrayPtr getSeverity() const
Creates an NTMultiChannel wrapping the specified PVStructure if the latter is compatible.
Checks the supplied PVStructure is compatible with NTMultiChannel and if so returns an NTMultiChannel 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
- NTMultiChannel instance wrapping pvStructure on success, null otherwise
Definition at line 214 of file ntmultiChannel.cpp.
static shared_pointer wrapUnsafe(epics::pvData::PVStructurePtr const &pvStructure)
static bool isCompatible(epics::pvData::StructureConstPtr const &structure)
Creates an NTMultiChannel wrapping the specified PVStructure, regardless of the latter's compatibility.
No checks are made as to whether the specified PVStructure is compatible with NTMultiChannel or is non-null.
- Parameters
-
pvStructure | the PVStructure to be wrapped |
- Returns
- NTMultiChannel instance wrapping pvStructure
Definition at line 220 of file ntmultiChannel.cpp.
222 return shared_pointer(
new NTMultiChannel(pvStructure));
const std::string epics::nt::NTMultiChannel::URI |
|
static |
The documentation for this class was generated from the following files: