1 #ifndef CARMA_MONITOR_SUBSYSTEMFRAMEHEADER_H
2 #define CARMA_MONITOR_SUBSYSTEMFRAMEHEADER_H
12 unsigned short subsystemID;
13 unsigned short statusFlags;
15 int numSingleSamplePoints;
21 double lastWriterDelay;
27 double scriberWriteDelay;
28 double scriberWriteTime;
38 struct SubsystemDataPointers {
40 explicit SubsystemDataPointers( );
43 ~SubsystemDataPointers();
45 void swap( SubsystemDataPointers & rhs );
47 bool operator==(
const SubsystemDataPointers & rhs )
const;
48 bool operator!=(
const SubsystemDataPointers & rhs )
const;
50 void syncSubsystemDataPointersToNewFrameData(
SubsystemHeader & frame );
53 int * writableMonitorPointIndex;
54 const int * monitorPointIndex;
57 MonitorHeader * writableMonitorHeaders;
58 const MonitorHeader * monitorHeaders;
71 carma::monitor::SubsystemDataPointers::SubsystemDataPointers( ) :
72 writableMonitorPointIndex( 0 ),
73 monitorPointIndex( 0 ),
74 writableMonitorHeaders( 0 ),
76 writableMonitorValues( 0 ),
83 carma::monitor::SubsystemDataPointers::~SubsystemDataPointers( )
85 writableMonitorPointIndex = 0;
86 monitorPointIndex = 0;
87 writableMonitorHeaders = 0;
89 writableMonitorValues = 0;
95 carma::monitor::SubsystemDataPointers::swap( SubsystemDataPointers & rhs )
97 ::std::swap( writableMonitorPointIndex, rhs.writableMonitorPointIndex );
98 ::std::swap( monitorPointIndex, rhs.monitorPointIndex );
99 ::std::swap( writableMonitorHeaders, rhs.writableMonitorHeaders );
100 ::std::swap( monitorHeaders, rhs.monitorHeaders );
101 ::std::swap( writableMonitorValues, rhs.writableMonitorValues );
102 ::std::swap( monitorValues, rhs.monitorValues );
107 carma::monitor::SubsystemDataPointers::operator==(
108 const SubsystemDataPointers & rhs )
const
110 return ((writableMonitorPointIndex == rhs.writableMonitorPointIndex) &&
111 (monitorPointIndex == rhs.monitorPointIndex) &&
112 (writableMonitorHeaders == rhs.writableMonitorHeaders) &&
113 (monitorHeaders == rhs.monitorHeaders) &&
114 (writableMonitorValues == rhs.writableMonitorValues) &&
115 (monitorValues == rhs.monitorValues));
120 carma::monitor::SubsystemDataPointers::operator!=(
121 const SubsystemDataPointers & rhs )
const
123 return (
operator==( rhs ) ==
false);
Structure for storing monitor point sample, including value.