normativeTypesCPP
Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
epics::nt::NTMultiChannel Class Reference

Convenience Class for NTMultiChannel. More...

#include <ntmultiChannel.h>

Public Member Functions

 POINTER_DEFINITIONS (NTMultiChannel)
 
bool isValid ()
 
 ~NTMultiChannel ()
 
bool attachTimeStamp (epics::pvData::PVTimeStamp &pvTimeStamp) const
 
bool attachAlarm (epics::pvData::PVAlarm &pvAlarm) const
 
epics::pvData::PVStructurePtr getPVStructure () const
 
epics::pvData::PVStringPtr getDescriptor () const
 
epics::pvData::PVStructurePtr getTimeStamp () const
 
epics::pvData::PVStructurePtr getAlarm () const
 
epics::pvData::PVUnionArrayPtr getValue () const
 
epics::pvData::PVStringArrayPtr getChannelName () const
 
epics::pvData::PVBooleanArrayPtr getIsConnected () const
 
epics::pvData::PVIntArrayPtr getSeverity () const
 
epics::pvData::PVIntArrayPtr getStatus () const
 
epics::pvData::PVStringArrayPtr getMessage () const
 
epics::pvData::PVLongArrayPtr getSecondsPastEpoch () const
 
epics::pvData::PVIntArrayPtr getNanoseconds () const
 
epics::pvData::PVIntArrayPtr getUserTag () const
 

Static Public Member Functions

static shared_pointer wrap (epics::pvData::PVStructurePtr const &pvStructure)
 
static shared_pointer wrapUnsafe (epics::pvData::PVStructurePtr const &pvStructure)
 
static bool is_a (epics::pvData::StructureConstPtr const &structure)
 
static bool is_a (epics::pvData::PVStructurePtr const &pvStructure)
 
static bool isCompatible (epics::pvData::StructureConstPtr const &structure)
 
static bool isCompatible (epics::pvData::PVStructurePtr const &pvStructure)
 
static NTMultiChannelBuilderPtr createBuilder ()
 

Static Public Attributes

static const std::string URI
 

Friends

class detail::NTMultiChannelBuilder
 

Detailed Description

Convenience Class for NTMultiChannel.

Author
mrk

Definition at line 181 of file ntmultiChannel.h.

Constructor & Destructor Documentation

◆ ~NTMultiChannel()

epics::nt::NTMultiChannel::~NTMultiChannel ( )
inline

Destructor

Definition at line 282 of file ntmultiChannel.h.

Member Function Documentation

◆ attachAlarm()

bool epics::nt::NTMultiChannel::attachAlarm ( epics::pvData::PVAlarm &  pvAlarm) const

Attaches a PVAlarm to the wrapped PVStructure. Does nothing if no alarm field.

Parameters
pvAlarmthe 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.

◆ attachTimeStamp()

bool epics::nt::NTMultiChannel::attachTimeStamp ( epics::pvData::PVTimeStamp &  pvTimeStamp) const

Attaches a PVTimeStamp to the wrapped PVStructure. Does nothing if no timeStamp field.

Parameters
pvTimeStampthe 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.

◆ createBuilder()

NTMultiChannelBuilderPtr epics::nt::NTMultiChannel::createBuilder ( )
static

Creates an NTMultiChannelBuilder instance

Returns
builder instance.

Definition at line 288 of file ntmultiChannel.cpp.

◆ getAlarm()

epics::pvData::PVStructurePtr epics::nt::NTMultiChannel::getAlarm ( ) const
inline

Returns the alarm field.

Returns
the alarm field or null if no such field.

Definition at line 324 of file ntmultiChannel.h.

◆ getChannelName()

epics::pvData::PVStringArrayPtr epics::nt::NTMultiChannel::getChannelName ( ) const
inline

Returns the field with the channelName of each channel.

Returns
the channelName field

Definition at line 338 of file ntmultiChannel.h.

◆ getDescriptor()

epics::pvData::PVStringPtr epics::nt::NTMultiChannel::getDescriptor ( ) const
inline

Return the descriptor field.

Returns
the descriptor field or null if no descriptor field.

Definition at line 310 of file ntmultiChannel.h.

◆ getIsConnected()

epics::pvData::PVBooleanArrayPtr epics::nt::NTMultiChannel::getIsConnected ( ) const
inline

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.

◆ getMessage()

epics::pvData::PVStringArrayPtr epics::nt::NTMultiChannel::getMessage ( ) const
inline

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.

◆ getNanoseconds()

epics::pvData::PVIntArrayPtr epics::nt::NTMultiChannel::getNanoseconds ( ) const
inline

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.

◆ getPVStructure()

epics::pvData::PVStructurePtr epics::nt::NTMultiChannel::getPVStructure ( ) const
inline

Returns the PVStructure wrapped by this instance.

Returns
the PVStructure wrapped by this instance.

Definition at line 303 of file ntmultiChannel.h.

◆ getSecondsPastEpoch()

epics::pvData::PVLongArrayPtr epics::nt::NTMultiChannel::getSecondsPastEpoch ( ) const
inline

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.

◆ getSeverity()

epics::pvData::PVIntArrayPtr epics::nt::NTMultiChannel::getSeverity ( ) const
inline

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.

◆ getStatus()

epics::pvData::PVIntArrayPtr epics::nt::NTMultiChannel::getStatus ( ) const
inline

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.

◆ getTimeStamp()

epics::pvData::PVStructurePtr epics::nt::NTMultiChannel::getTimeStamp ( ) const
inline

Returns the timeStamp field.

Returns
the timeStamp field or null if no such field.

Definition at line 317 of file ntmultiChannel.h.

◆ getUserTag()

epics::pvData::PVIntArrayPtr epics::nt::NTMultiChannel::getUserTag ( ) const
inline

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.

◆ getValue()

epics::pvData::PVUnionArrayPtr epics::nt::NTMultiChannel::getValue ( ) const
inline

Returns the field with the value of each channel.

Returns
the value field.

Definition at line 331 of file ntmultiChannel.h.

◆ is_a() [1/2]

static bool epics::nt::NTMultiChannel::is_a ( epics::pvData::StructureConstPtr const &  structure)
static

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
structurethe Structure to test
Returns
(false,true) if the specified Structure (is not, is) a compatible NTMultiChannel

◆ is_a() [2/2]

static bool epics::nt::NTMultiChannel::is_a ( epics::pvData::PVStructurePtr const &  pvStructure)
static

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
pvStructurethe PVStructure to test
Returns
(false,true) if the specified PVStructure (is not, is) a compatible NTMultiChannel

◆ isCompatible() [1/2]

static bool epics::nt::NTMultiChannel::isCompatible ( epics::pvData::StructureConstPtr const &  structure)
static

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
structurethe Structure to test
Returns
(false,true) if the specified Structure (is not, is) a compatible NTMultiChannel

◆ isCompatible() [2/2]

static bool epics::nt::NTMultiChannel::isCompatible ( epics::pvData::PVStructurePtr const &  pvStructure)
static

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
pvStructurethe PVStructure to test
Returns
(false,true) if the specified PVStructure (is not, is) a compatible NTMultiChannel

◆ isValid()

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.

◆ POINTER_DEFINITIONS()

epics::nt::NTMultiChannel::POINTER_DEFINITIONS ( NTMultiChannel  )

◆ wrap()

NTMultiChannel::shared_pointer epics::nt::NTMultiChannel::wrap ( epics::pvData::PVStructurePtr const &  pvStructure)
static

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
pvStructurethe PVStructure to be wrapped
Returns
NTMultiChannel instance wrapping pvStructure on success, null otherwise

Definition at line 214 of file ntmultiChannel.cpp.

◆ wrapUnsafe()

NTMultiChannel::shared_pointer epics::nt::NTMultiChannel::wrapUnsafe ( epics::pvData::PVStructurePtr const &  pvStructure)
static

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
pvStructurethe PVStructure to be wrapped
Returns
NTMultiChannel instance wrapping pvStructure

Definition at line 220 of file ntmultiChannel.cpp.

References epics::nt::Result::has(), epics::nt::Result::is(), epics::nt::Result::maybeHas(), and epics::nt::Result::valid().

Friends And Related Function Documentation

◆ detail::NTMultiChannelBuilder

friend class detail::NTMultiChannelBuilder
friend

Definition at line 405 of file ntmultiChannel.h.

Member Data Documentation

◆ URI

const std::string epics::nt::NTMultiChannel::URI
static

Definition at line 186 of file ntmultiChannel.h.


The documentation for this class was generated from the following files: