pvMisc
structure timeStamp
int64 secondsPartEpoch
- int32 nanoSeconds
+ int32 nanoSeconds
+ int32 userTag
The Epoch is the posix epoch, i.e. Jan 1, 1970 00:00:00 UTC. Both the
seconds and nanoSeconds are signed integers and thus can be negative. Since the
@@ -2338,6 +2339,8 @@ public:
int64 getSecondsPastEpoch();
int64 getEpicsSecondsPastEpoch() const;
int32 getNanoSeconds() const;
+ int32 getUserTag() const;
+ void setUserTag(int userTag);
void put(int64 secondsPastEpoch,int32 nanoSeconds = 0);
void put(int64 milliseconds);
void getCurrent();
@@ -2377,6 +2380,12 @@ public:
00:00:00 UTC as the epoch.
getNanoSeconds
Get the number of nanoSeconds. This is always normalized.
+ getUserTag
+ Get the userTag.
+ setUserTag
+ Set the userTag.
put(int64 secondsPastEpoch,int32
nanoSeconds = 0)
Set the timeStamp value. If necessary it will be normalized.
@@ -2464,13 +2473,14 @@ public:
An alarm structure is defined as follows:
structure alarm
int32 severity
+ int32 status
String message
-Note that severity is NOT defined as an enumerated structure. The reason is
-performance, i. e. prevent passing the array of choice strings everywhere. The
-file alarm.h provides the choice
-strings. Thus all code that needs to know about alarms share the exact same
-choice strings.
+Note that neither severity or status is defined as an enumerated structure.
+The reason is performance, i. e. prevent passing the array of choice strings
+everywhere. The file alarm.h
+provides the choice strings. Thus all code that needs to know about alarms
+share the exact same choice strings.
Two header files are provided for manipulating alarms: alarm.h and alarm.h
alarm.h
enum AlarmSeverity {
- noAlarm,minorAlarm,majorAlarm,invalidAlarm
+ noAlarm,minorAlarm,majorAlarm,invalidAlarm,undefinedAlarm
};
+enum AlarmStatus {
+ noStatus,deviceStatus,driverStatus,recordStatus,
+ dbStatus,confStatus,undefinedStatus,clientStatus
+};
+
+
class AlarmSeverityFunc {
public:
static AlarmSeverity getSeverity(int value);
static StringArray getSeverityNames();
};
+
+enum AlarmStatus {
+ noStatus,deviceStatus,driverStatus,recordStatus,
+ dbStatus,confStatus,undefinedStatus,clientStatus
+};
+
class Alarm {
public:
Alarm();
@@ -2500,11 +2522,11 @@ public:
void setMessage(String value);
AlarmSeverity getSeverity() const;
void setSeverity(AlarmSeverity value);
+ AlarmStatus getStatus() const;
+ void setStatus(AlarmStatus value);
};
-Alarm Severity defines the possible alarm severities
-
-AlarmSeverity has the methods:
+Alarm Severity defines the possible alarm severities:
- getSeverity
- Get the alarm severity corresponding to the integer value.
@@ -2512,6 +2534,16 @@ public:
- Get the array of severity choices.
+Alarm Status defines the possible choices for alarm status:
+
+ - getStatus
+ - Get the alarm status corresponding to the integer value.
+ - getStatusNames
+ - Get the array of status choices.
+
+
Alarm has the methods:
- Alarm
@@ -2525,6 +2557,12 @@ public:
- Get the severity.
- setSeverity
- Set the severity.
+ - getStatus
+ - Get the status.
+ - setStatus
+ - Set the status.
pvAlarm.h
diff --git a/pvDataApp/factory/StandardField.cpp b/pvDataApp/factory/StandardField.cpp
index 5497da1..f787823 100644
--- a/pvDataApp/factory/StandardField.cpp
+++ b/pvDataApp/factory/StandardField.cpp
@@ -41,17 +41,19 @@ static StructureConstPtr enumeratedAlarmField;
static void createAlarm() {
- FieldConstPtrArray fields = new FieldConstPtr[2];
+ FieldConstPtrArray fields = new FieldConstPtr[3];
fields[0] = fieldCreate->createScalar(String("severity"),pvInt);
- fields[1] = fieldCreate->createScalar(String("message"),pvString);
- alarmField = fieldCreate->createStructure(String("alarm"),2,fields);
+ fields[1] = fieldCreate->createScalar(String("status"),pvInt);
+ fields[2] = fieldCreate->createScalar(String("message"),pvString);
+ alarmField = fieldCreate->createStructure(String("alarm"),3,fields);
}
static void createTimeStamp() {
- FieldConstPtrArray fields = new FieldConstPtr[2];
+ FieldConstPtrArray fields = new FieldConstPtr[3];
fields[0] = fieldCreate->createScalar(String("secondsPastEpoch"),pvLong);
fields[1] = fieldCreate->createScalar(String("nanoSeconds"),pvInt);
- timeStampField = fieldCreate->createStructure(String("timeStamp"),2,fields);
+ fields[2] = fieldCreate->createScalar(String("userTag"),pvInt);
+ timeStampField = fieldCreate->createStructure(String("timeStamp"),3,fields);
}
static void createDisplay() {
diff --git a/pvDataApp/property/alarm.cpp b/pvDataApp/property/alarm.cpp
index e1befb5..b5e1873 100644
--- a/pvDataApp/property/alarm.cpp
+++ b/pvDataApp/property/alarm.cpp
@@ -12,18 +12,19 @@
#include
namespace epics { namespace pvData {
-const size_t severityCount = 4;
+const size_t severityCount = 5;
static String severityNames[severityCount] =
{
- String("none"),
- String("minor"),
- String("major"),
- String("invalid")
+ String("NONE"),
+ String("MINOR"),
+ String("MAJOR"),
+ String("INVALID"),
+ String("UNDEFINED")
};
AlarmSeverity AlarmSeverityFunc::getSeverity(int value)
{
- if(value<0 || value>3) {
+ if(value<0 || value>4) {
throw std::logic_error(String("getSeverity value is illegal"));
}
switch (value) {
@@ -31,6 +32,7 @@ AlarmSeverity AlarmSeverityFunc::getSeverity(int value)
case 1: return minorAlarm;
case 2: return majorAlarm;
case 3: return invalidAlarm;
+ case 4: return undefinedAlarm;
}
throw std::logic_error(String("should never get here"));
}
@@ -47,6 +49,58 @@ AlarmSeverity Alarm::getSeverity() const
case 1: return minorAlarm;
case 2: return majorAlarm;
case 3: return invalidAlarm;
+ case 4: return undefinedAlarm;
+ }
+ throw std::logic_error(String("should never get here"));
+}
+
+const size_t statusCount = 8;
+static String statusNames[statusCount] =
+{
+ String("NONE"),
+ String("DEVICE"),
+ String("DRIVER"),
+ String("RECORD"),
+ String("DB"),
+ String("CONF"),
+ String("UNDEFINED"),
+ String("CLIENT")
+};
+
+AlarmStatus AlarmStatusFunc::getStatus(int value)
+{
+ if(value<0 || value>7) {
+ throw std::logic_error(String("getStatus value is illegal"));
+ }
+ switch (value) {
+ case 0: return noStatus;
+ case 1: return deviceStatus;
+ case 2: return driverStatus;
+ case 3: return recordStatus;
+ case 4: return dbStatus;
+ case 5: return confStatus;
+ case 6: return undefinedStatus;
+ case 7: return clientStatus;
+ }
+ throw std::logic_error(String("should never get here"));
+}
+
+StringArray AlarmStatusFunc::getStatusNames()
+{
+ return statusNames;
+}
+
+AlarmStatus Alarm::getStatus() const
+{
+ switch(status) {
+ case 0: return noStatus;
+ case 1: return deviceStatus;
+ case 2: return driverStatus;
+ case 3: return recordStatus;
+ case 4: return dbStatus;
+ case 5: return confStatus;
+ case 6: return undefinedStatus;
+ case 7: return clientStatus;
}
throw std::logic_error(String("should never get here"));
}
diff --git a/pvDataApp/property/alarm.h b/pvDataApp/property/alarm.h
index 686afdf..3d6076e 100644
--- a/pvDataApp/property/alarm.h
+++ b/pvDataApp/property/alarm.h
@@ -11,9 +11,15 @@
namespace epics { namespace pvData {
enum AlarmSeverity {
- noAlarm,minorAlarm,majorAlarm,invalidAlarm
+ noAlarm,minorAlarm,majorAlarm,invalidAlarm,undefinedAlarm
};
+enum AlarmStatus {
+ noStatus,deviceStatus,driverStatus,recordStatus,
+ dbStatus,confStatus,undefinedStatus,clientStatus
+};
+
+
extern const size_t severityCount;
class AlarmSeverityFunc {
public:
@@ -21,16 +27,26 @@ public:
static StringArray getSeverityNames();
};
+extern const size_t statusCount;
+class AlarmStatusFunc {
+public:
+ static AlarmStatus getStatus(int value);
+ static StringArray getStatusNames();
+};
+
class Alarm {
public:
- Alarm() : severity(0), message(String("")) {}
+ Alarm() : severity(0),status(0), message(String("")) {}
//default constructors and destructor are OK
String getMessage() const {return message;}
void setMessage(String value) {message = value;}
AlarmSeverity getSeverity() const;
void setSeverity(AlarmSeverity value) {severity = value;}
+ AlarmStatus getStatus() const;
+ void setStatus(AlarmStatus value) { status = value;}
private:
int32 severity;
+ int32 status;
String message;
};
diff --git a/pvDataApp/property/pvAlarm.cpp b/pvDataApp/property/pvAlarm.cpp
index d88d869..4a41e13 100644
--- a/pvDataApp/property/pvAlarm.cpp
+++ b/pvDataApp/property/pvAlarm.cpp
@@ -45,12 +45,18 @@ bool PVAlarm::attach(PVField *pvField)
pvField->message(noAlarmFound,errorMessage);
return false;
}
+ pvSeverity = pvInt;
+ pvInt = pvStructure->getIntField(String("status"));
+ if(pvInt==0) {
+ pvField->message(noAlarmFound,errorMessage);
+ return false;
+ }
+ pvStatus = pvInt;
PVString *pvString = pvStructure->getStringField(String("message"));
if(pvInt==0) {
pvField->message(noAlarmFound,errorMessage);
return false;
}
- pvSeverity = pvInt;
pvMessage = pvString;
return true;
}
@@ -58,6 +64,7 @@ bool PVAlarm::attach(PVField *pvField)
void PVAlarm::detach()
{
pvSeverity = 0;
+ pvStatus = 0;
pvMessage = 0;
}
@@ -73,6 +80,7 @@ void PVAlarm::get(Alarm & alarm) const
throw std::logic_error(notAttached);
}
alarm.setSeverity(AlarmSeverityFunc::getSeverity(pvSeverity->get()));
+ alarm.setStatus(AlarmStatusFunc::getStatus(pvStatus->get()));
alarm.setMessage(pvMessage->get());
}
@@ -83,6 +91,7 @@ bool PVAlarm::set(Alarm const & alarm)
}
if(pvSeverity->isImmutable() || pvMessage->isImmutable()) return false;
pvSeverity->put(alarm.getSeverity());
+ pvStatus->put(alarm.getStatus());
pvMessage->put(alarm.getMessage());
return true;
}
diff --git a/pvDataApp/property/pvAlarm.h b/pvDataApp/property/pvAlarm.h
index 01b7422..cc58960 100644
--- a/pvDataApp/property/pvAlarm.h
+++ b/pvDataApp/property/pvAlarm.h
@@ -15,7 +15,7 @@ namespace epics { namespace pvData {
class PVAlarm {
public:
- PVAlarm() : pvSeverity(0),pvMessage(0) {}
+ PVAlarm() : pvSeverity(0),pvStatus(0),pvMessage(0) {}
//default constructors and destructor are OK
//returns (false,true) if pvField(isNot, is valid enumerated structure
//An automatic detach is issued if already attached.
@@ -28,6 +28,7 @@ public:
bool set(Alarm const & alarm);
private:
PVInt *pvSeverity;
+ PVInt *pvStatus;
PVString *pvMessage;
};
diff --git a/pvDataApp/property/pvTimeStamp.cpp b/pvDataApp/property/pvTimeStamp.cpp
index 7ddb697..829ef9d 100644
--- a/pvDataApp/property/pvTimeStamp.cpp
+++ b/pvDataApp/property/pvTimeStamp.cpp
@@ -53,19 +53,26 @@ bool PVTimeStamp::attach(PVField *pvField)
pvField->message(noTimeStamp,errorMessage);
return false;
}
+ pvSecs = pvLong;
PVInt *pvInt = pvStructure->getIntField(String("nanoSeconds"));
if(pvLong==0) {
pvField->message(noTimeStamp,errorMessage);
return false;
}
- pvSecs = pvLong;
pvNano = pvInt;
+ pvInt = pvStructure->getIntField(String("userTag"));
+ if(pvInt==0) {
+ pvField->message(noTimeStamp,errorMessage);
+ return false;
+ }
+ pvUserTag = pvInt;
return true;
}
void PVTimeStamp::detach()
{
pvSecs = 0;
+ pvUserTag = 0;
pvNano = 0;
}
@@ -80,15 +87,17 @@ void PVTimeStamp::get(TimeStamp & timeStamp) const
throw std::logic_error(notAttached);
}
timeStamp.put(pvSecs->get(),pvNano->get());
+ timeStamp.setUserTag(pvUserTag->get());
}
bool PVTimeStamp::set(TimeStamp const & timeStamp)
{
- if(pvSecs==0 || pvNano==0) {
+ if(pvSecs==0 || pvNano==0 || pvUserTag==0) {
throw std::logic_error(notAttached);
}
if(pvSecs->isImmutable() || pvNano->isImmutable()) return false;
pvSecs->put(timeStamp.getSecondsPastEpoch());
+ pvUserTag->put(timeStamp.getUserTag());
pvNano->put(timeStamp.getNanoSeconds());
return true;
}
diff --git a/pvDataApp/property/pvTimeStamp.h b/pvDataApp/property/pvTimeStamp.h
index 3769f70..cc3f6a1 100644
--- a/pvDataApp/property/pvTimeStamp.h
+++ b/pvDataApp/property/pvTimeStamp.h
@@ -15,7 +15,7 @@ namespace epics { namespace pvData {
class PVTimeStamp {
public:
- PVTimeStamp() : pvSecs(0),pvNano(0) {}
+ PVTimeStamp() : pvSecs(0),pvUserTag(0), pvNano(0) {}
//default constructors and destructor are OK
//This class should not be extended
@@ -29,6 +29,7 @@ public:
bool set(TimeStamp const & timeStamp);
private:
PVLong* pvSecs;
+ PVInt* pvUserTag;
PVInt* pvNano;
};
diff --git a/pvDataApp/property/timeStamp.cpp b/pvDataApp/property/timeStamp.cpp
index f37290f..1f16a4a 100644
--- a/pvDataApp/property/timeStamp.cpp
+++ b/pvDataApp/property/timeStamp.cpp
@@ -22,8 +22,8 @@ int32 microSecPerSec = milliSecPerSec*milliSecPerSec;
int32 nanoSecPerSec = milliSecPerSec*microSecPerSec;
int64 posixEpochAtEpicsEpoch = POSIX_TIME_AT_EPICS_EPOCH;
-TimeStamp::TimeStamp(int64 secondsPastEpoch,int32 nanoSeconds)
-: secondsPastEpoch(secondsPastEpoch),nanoSeconds(nanoSeconds)
+TimeStamp::TimeStamp(int64 secondsPastEpoch,int32 nanoSeconds,int32 userTag)
+: secondsPastEpoch(secondsPastEpoch),nanoSeconds(nanoSeconds),userTag(userTag)
{
normalize();
}
diff --git a/pvDataApp/property/timeStamp.h b/pvDataApp/property/timeStamp.h
index e6d8334..863a793 100644
--- a/pvDataApp/property/timeStamp.h
+++ b/pvDataApp/property/timeStamp.h
@@ -20,8 +20,8 @@ extern int64 posixEpochAtEpicsEpoch;
class TimeStamp {
public:
TimeStamp()
- :secondsPastEpoch(0),nanoSeconds(0) {}
- TimeStamp(int64 secondsPastEpoch,int32 nanoSeconds = 0);
+ :secondsPastEpoch(0), nanoSeconds(0), userTag(0) {}
+ TimeStamp(int64 secondsPastEpoch,int32 nanoSeconds = 0,int32 userTag = 0);
//default constructors and destructor are OK
//This class should not be extended
void normalize();
@@ -32,6 +32,8 @@ public:
return secondsPastEpoch - posixEpochAtEpicsEpoch;
}
int32 getNanoSeconds() const {return nanoSeconds;}
+ int32 getUserTag() const {return userTag;}
+ void setUserTag(int userTag) {this->userTag = userTag;}
void put(int64 secondsPastEpoch,int32 nanoSeconds = 0) {
this->secondsPastEpoch = secondsPastEpoch;
this->nanoSeconds = nanoSeconds;
@@ -56,6 +58,7 @@ private:
static int64 diffInt(TimeStamp const &left,TimeStamp const &right );
int64 secondsPastEpoch;
int32 nanoSeconds;
+ int32 userTag;
};
diff --git a/test/testBaseExceptionDiff b/test/testBaseExceptionDiff
index 6f2c48d..e1b9937 100644
--- a/test/testBaseExceptionDiff
+++ b/test/testBaseExceptionDiff
@@ -1,5 +1,5 @@
--- testBaseExceptionGold 2011-04-27 13:11:55.000000000 -0400
-+++ testBaseException 2011-09-22 08:15:26.000000000 -0400
++++ testBaseException 2011-10-21 08:41:54.000000000 -0400
@@ -1,37 +1,46 @@
+
+
diff --git a/test/testIntrospect b/test/testIntrospect
index 78f78be..bcd8d12 100644
--- a/test/testIntrospect
+++ b/test/testIntrospect
@@ -24,10 +24,12 @@ structure value
double value
structure alarm
int severity
+ int status
string message
structure timeStamp
long secondsPastEpoch
int nanoSeconds
+ int userTag
structure display
string description
string format
@@ -60,22 +62,27 @@ structure value
double value
structure alarm
int severity
+ int status
string message
structure power
double value
structure alarm
int severity
+ int status
string message
structure current
double value
structure alarm
int severity
+ int status
string message
structure alarm
int severity
+ int status
string message
structure timeStamp
long secondsPastEpoch
int nanoSeconds
-pvField: totalConstruct 47 totalDestruct 47
-field: totalConstruct 120 totalDestruct 120
+ int userTag
+pvField: totalConstruct 49 totalDestruct 49
+field: totalConstruct 122 totalDestruct 122
diff --git a/test/testIntrospectGold b/test/testIntrospectGold
index 78f78be..bcd8d12 100644
--- a/test/testIntrospectGold
+++ b/test/testIntrospectGold
@@ -24,10 +24,12 @@ structure value
double value
structure alarm
int severity
+ int status
string message
structure timeStamp
long secondsPastEpoch
int nanoSeconds
+ int userTag
structure display
string description
string format
@@ -60,22 +62,27 @@ structure value
double value
structure alarm
int severity
+ int status
string message
structure power
double value
structure alarm
int severity
+ int status
string message
structure current
double value
structure alarm
int severity
+ int status
string message
structure alarm
int severity
+ int status
string message
structure timeStamp
long secondsPastEpoch
int nanoSeconds
-pvField: totalConstruct 47 totalDestruct 47
-field: totalConstruct 120 totalDestruct 120
+ int userTag
+pvField: totalConstruct 49 totalDestruct 49
+field: totalConstruct 122 totalDestruct 122
diff --git a/test/testLinkedListAux b/test/testLinkedListAux
index ab45d0f..640d6b4 100644
--- a/test/testLinkedListAux
+++ b/test/testLinkedListAux
@@ -1,20 +1,20 @@
Time test
-diff 25.975918 milliSeconds
-time per iteration 25.975918 microseconds
-time per addTail/removeHead 0.012988 microseconds
+diff 26.014862 milliSeconds
+time per iteration 26.014862 microseconds
+time per addTail/removeHead 0.013007 microseconds
Time test locked
-diff 180.990311 milliSeconds
-time per iteration 180.990311 microseconds
-time per addTail/removeHead 0.090495 microseconds
+diff 207.007364 milliSeconds
+time per iteration 207.007364 microseconds
+time per addTail/removeHead 0.103504 microseconds
Time std::list test
-diff 634.817044 milliSeconds
-time per iteration 634.817044 microseconds
-time per addTail/removeHead 0.317409 microseconds
+diff 633.793804 milliSeconds
+time per iteration 633.793804 microseconds
+time per addTail/removeHead 0.316897 microseconds
Time std::list test locked
-diff 801.805946 milliSeconds
-time per iteration 801.805946 microseconds
-time per addTail/removeHead 0.400903 microseconds
+diff 787.046498 milliSeconds
+time per iteration 787.046498 microseconds
+time per addTail/removeHead 0.393523 microseconds
diff --git a/test/testPVAppend b/test/testPVAppend
index 2b8b346..26ef748 100644
--- a/test/testPVAppend
+++ b/test/testPVAppend
@@ -29,4 +29,4 @@ structure parent
structure child2
string Jane Bad Girl
pvField: totalConstruct 15 totalDestruct 15
-field: totalConstruct 108 totalDestruct 108
+field: totalConstruct 110 totalDestruct 110
diff --git a/test/testPVAppendGold b/test/testPVAppendGold
index 2b8b346..26ef748 100644
--- a/test/testPVAppendGold
+++ b/test/testPVAppendGold
@@ -29,4 +29,4 @@ structure parent
structure child2
string Jane Bad Girl
pvField: totalConstruct 15 totalDestruct 15
-field: totalConstruct 108 totalDestruct 108
+field: totalConstruct 110 totalDestruct 110
diff --git a/test/testPVAuxInfo b/test/testPVAuxInfo
index 1c4b375..59a41da 100644
--- a/test/testPVAuxInfo
+++ b/test/testPVAuxInfo
@@ -4,10 +4,12 @@ structure value
double value 0
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
display display
string description
string format
@@ -23,26 +25,28 @@ structure value
double low 0
double high 0
double minStep 0
-value offset 0 next 20 number 20
+value offset 0 next 22 number 22
value offset 1 next 2 number 1
-alarm offset 2 next 5 number 3
+alarm offset 2 next 6 number 4
severity offset 3 next 4 number 1
-message offset 4 next 5 number 1
-timeStamp offset 5 next 8 number 3
-secondsPastEpoch offset 6 next 7 number 1
-nanoSeconds offset 7 next 8 number 1
-display offset 8 next 15 number 7
-description offset 9 next 10 number 1
-format offset 10 next 11 number 1
-units offset 11 next 12 number 1
-limit offset 12 next 15 number 3
-low offset 13 next 14 number 1
-high offset 14 next 15 number 1
-control offset 15 next 20 number 5
-limit offset 16 next 19 number 3
-low offset 17 next 18 number 1
-high offset 18 next 19 number 1
-minStep offset 19 next 20 number 1
+status offset 4 next 5 number 1
+message offset 5 next 6 number 1
+timeStamp offset 6 next 10 number 4
+secondsPastEpoch offset 7 next 8 number 1
+nanoSeconds offset 8 next 9 number 1
+userTag offset 9 next 10 number 1
+display offset 10 next 17 number 7
+description offset 11 next 12 number 1
+format offset 12 next 13 number 1
+units offset 13 next 14 number 1
+limit offset 14 next 17 number 3
+low offset 15 next 16 number 1
+high offset 16 next 17 number 1
+control offset 17 next 22 number 5
+limit offset 18 next 21 number 3
+low offset 19 next 20 number 1
+high offset 20 next 21 number 1
+minStep offset 21 next 22 number 1
pvAuxInfo: totalConstruct 1 totalDestruct 1
-pvField: totalConstruct 22 totalDestruct 22
-field: totalConstruct 97 totalDestruct 97
+pvField: totalConstruct 24 totalDestruct 24
+field: totalConstruct 99 totalDestruct 99
diff --git a/test/testPVAuxInfoGold b/test/testPVAuxInfoGold
index 1c4b375..59a41da 100644
--- a/test/testPVAuxInfoGold
+++ b/test/testPVAuxInfoGold
@@ -4,10 +4,12 @@ structure value
double value 0
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
display display
string description
string format
@@ -23,26 +25,28 @@ structure value
double low 0
double high 0
double minStep 0
-value offset 0 next 20 number 20
+value offset 0 next 22 number 22
value offset 1 next 2 number 1
-alarm offset 2 next 5 number 3
+alarm offset 2 next 6 number 4
severity offset 3 next 4 number 1
-message offset 4 next 5 number 1
-timeStamp offset 5 next 8 number 3
-secondsPastEpoch offset 6 next 7 number 1
-nanoSeconds offset 7 next 8 number 1
-display offset 8 next 15 number 7
-description offset 9 next 10 number 1
-format offset 10 next 11 number 1
-units offset 11 next 12 number 1
-limit offset 12 next 15 number 3
-low offset 13 next 14 number 1
-high offset 14 next 15 number 1
-control offset 15 next 20 number 5
-limit offset 16 next 19 number 3
-low offset 17 next 18 number 1
-high offset 18 next 19 number 1
-minStep offset 19 next 20 number 1
+status offset 4 next 5 number 1
+message offset 5 next 6 number 1
+timeStamp offset 6 next 10 number 4
+secondsPastEpoch offset 7 next 8 number 1
+nanoSeconds offset 8 next 9 number 1
+userTag offset 9 next 10 number 1
+display offset 10 next 17 number 7
+description offset 11 next 12 number 1
+format offset 12 next 13 number 1
+units offset 13 next 14 number 1
+limit offset 14 next 17 number 3
+low offset 15 next 16 number 1
+high offset 16 next 17 number 1
+control offset 17 next 22 number 5
+limit offset 18 next 21 number 3
+low offset 19 next 20 number 1
+high offset 20 next 21 number 1
+minStep offset 21 next 22 number 1
pvAuxInfo: totalConstruct 1 totalDestruct 1
-pvField: totalConstruct 22 totalDestruct 22
-field: totalConstruct 97 totalDestruct 97
+pvField: totalConstruct 24 totalDestruct 24
+field: totalConstruct 99 totalDestruct 99
diff --git a/test/testPVData b/test/testPVData
index f6f79ca..9ec4cd6 100644
--- a/test/testPVData
+++ b/test/testPVData
@@ -5,10 +5,12 @@ structure top
double value 0
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure valueAlarm
boolean active false
double lowAlarmLimit 0
@@ -35,10 +37,12 @@ structure boolean
boolean value true
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
structure valueAlarm
boolean active false
int falseSeverity 0
@@ -48,10 +52,12 @@ structure byte
byte value 127
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -79,10 +85,12 @@ structure short
short value 32767
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -110,10 +118,12 @@ structure int
int value -2147483648
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -141,10 +151,12 @@ structure long
long value -9223372032559808513
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -172,10 +184,12 @@ structure float
float value 1.123e+08
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -203,10 +217,12 @@ structure double
double value 1.123e+35
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -234,75 +250,93 @@ structure string
string value this is a string
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
testScalarArray
structure boolean
boolean[] value [true,false,true]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure byte
byte[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure short
short[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure int
int[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure long
long[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure float
float[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure double
double[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure string
string[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
-pvField: totalConstruct 302 totalDestruct 302
-field: totalConstruct 139 totalDestruct 139
+ int userTag 0
+pvField: totalConstruct 336 totalDestruct 336
+field: totalConstruct 141 totalDestruct 141
diff --git a/test/testPVDataGold b/test/testPVDataGold
index f6f79ca..9ec4cd6 100644
--- a/test/testPVDataGold
+++ b/test/testPVDataGold
@@ -5,10 +5,12 @@ structure top
double value 0
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure valueAlarm
boolean active false
double lowAlarmLimit 0
@@ -35,10 +37,12 @@ structure boolean
boolean value true
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
structure valueAlarm
boolean active false
int falseSeverity 0
@@ -48,10 +52,12 @@ structure byte
byte value 127
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -79,10 +85,12 @@ structure short
short value 32767
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -110,10 +118,12 @@ structure int
int value -2147483648
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -141,10 +151,12 @@ structure long
long value -9223372032559808513
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -172,10 +184,12 @@ structure float
float value 1.123e+08
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -203,10 +217,12 @@ structure double
double value 1.123e+35
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
display display
string description this is a description
string format f10.2
@@ -234,75 +250,93 @@ structure string
string value this is a string
alarm alarm
int severity 2
+ int status 0
string message messageForAlarm
timeStamp timeStamp
long secondsPastEpoch 123456789
int nanoSeconds 1000000
+ int userTag 0
testScalarArray
structure boolean
boolean[] value [true,false,true]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure byte
byte[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure short
short[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure int
int[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure long
long[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure float
float[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure double
double[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
structure string
string[] value [0,1,2]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
-pvField: totalConstruct 302 totalDestruct 302
-field: totalConstruct 139 totalDestruct 139
+ int userTag 0
+pvField: totalConstruct 336 totalDestruct 336
+field: totalConstruct 141 totalDestruct 141
diff --git a/test/testPVStructureArray b/test/testPVStructureArray
index a400575..d4e0734 100644
--- a/test/testPVStructureArray
+++ b/test/testPVStructureArray
@@ -6,87 +6,104 @@ structure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
after remove 0,1,3structure powerSupply
structure[] value
null
@@ -96,16 +113,19 @@ after remove 0,1,3structure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
null
structure powerSupply
@@ -113,23 +133,28 @@ after remove 0,1,3structure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
after compressstructure powerSupply
structure[] value
structure powerSupply
@@ -137,38 +162,46 @@ after compressstructure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
-pvField: totalConstruct 88 totalDestruct 88
-field: totalConstruct 102 totalDestruct 102
+ int userTag 0
+pvField: totalConstruct 105 totalDestruct 105
+field: totalConstruct 104 totalDestruct 104
diff --git a/test/testPVStructureArrayGold b/test/testPVStructureArrayGold
index a400575..d4e0734 100644
--- a/test/testPVStructureArrayGold
+++ b/test/testPVStructureArrayGold
@@ -6,87 +6,104 @@ structure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
after remove 0,1,3structure powerSupply
structure[] value
null
@@ -96,16 +113,19 @@ after remove 0,1,3structure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
null
structure powerSupply
@@ -113,23 +133,28 @@ after remove 0,1,3structure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
after compressstructure powerSupply
structure[] value
structure powerSupply
@@ -137,38 +162,46 @@ after compressstructure powerSupply
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure powerSupply
structure voltage
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure power
double value 0
structure alarm
int severity 0
+ int status 0
string message
structure current
double value 0
structure alarm
int severity 0
+ int status 0
string message
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
-pvField: totalConstruct 88 totalDestruct 88
-field: totalConstruct 102 totalDestruct 102
+ int userTag 0
+pvField: totalConstruct 105 totalDestruct 105
+field: totalConstruct 104 totalDestruct 104
diff --git a/test/testProperty b/test/testProperty
index a27b5d5..986ff7d 100644
--- a/test/testProperty
+++ b/test/testProperty
@@ -2,10 +2,12 @@ structure value
double value 0
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
display display
string description
string format
@@ -24,12 +26,14 @@ structure value
string[] choices [0,1,2,3]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
testAlarm
- message testMessage severity major
+ message testMessage severity MAJOR status CLIENT
testTimeStamp
testControl
low 1.000000 high 10.000000
@@ -43,10 +47,12 @@ structure value
double value 0
alarm alarm
int severity 2
+ int status 7
string message testMessage
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 32
display display
string description testDescription
string format %f10.0
@@ -66,9 +72,11 @@ structure value
string[] choices [0,1,2,3]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
-pvField: totalConstruct 30 totalDestruct 30
-field: totalConstruct 99 totalDestruct 99
+ int userTag 0
+pvField: totalConstruct 34 totalDestruct 34
+field: totalConstruct 101 totalDestruct 101
diff --git a/test/testPropertyAux b/test/testPropertyAux
index fbcfa5b..6639da5 100644
--- a/test/testPropertyAux
+++ b/test/testPropertyAux
@@ -1 +1 @@
-2011.09.22 08:15:32 297500698 nanoSeconds isDst true
+2011.10.21 08:41:59 266990875 nanoSeconds isDst true userTag 32
diff --git a/test/testPropertyGold b/test/testPropertyGold
index a27b5d5..986ff7d 100644
--- a/test/testPropertyGold
+++ b/test/testPropertyGold
@@ -2,10 +2,12 @@ structure value
double value 0
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
display display
string description
string format
@@ -24,12 +26,14 @@ structure value
string[] choices [0,1,2,3]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 0
testAlarm
- message testMessage severity major
+ message testMessage severity MAJOR status CLIENT
testTimeStamp
testControl
low 1.000000 high 10.000000
@@ -43,10 +47,12 @@ structure value
double value 0
alarm alarm
int severity 2
+ int status 7
string message testMessage
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
+ int userTag 32
display display
string description testDescription
string format %f10.0
@@ -66,9 +72,11 @@ structure value
string[] choices [0,1,2,3]
alarm alarm
int severity 0
+ int status 0
string message
timeStamp timeStamp
long secondsPastEpoch 0
int nanoSeconds 0
-pvField: totalConstruct 30 totalDestruct 30
-field: totalConstruct 99 totalDestruct 99
+ int userTag 0
+pvField: totalConstruct 34 totalDestruct 34
+field: totalConstruct 101 totalDestruct 101
diff --git a/test/testThreadAux b/test/testThreadAux
index 42043c6..6a366cf 100644
--- a/test/testThreadAux
+++ b/test/testThreadAux
@@ -1 +1 @@
-time per call 35.942059 microseconds
+time per call 37.044874 microseconds
diff --git a/test/testTimeStampAux b/test/testTimeStampAux
index 69c8c3c..0fdc9d3 100644
--- a/test/testTimeStampAux
+++ b/test/testTimeStampAux
@@ -1,5 +1,5 @@
-current 1316693731 343782420 milliSec 1316693731343
-2011.09.22 08:15:31 343782420 nanoSeconds isDst true
+current 1319200918 391667584 milliSec 1319200918391
+2011.10.21 08:41:58 391667584 nanoSeconds isDst true
fromTime_t
-current 1316693731 0 milliSec 1316693731000
-2011.09.22 08:15:31 0 nanoSeconds isDst true
+current 1319200918 0 milliSec 1319200918000
+2011.10.21 08:41:58 0 nanoSeconds isDst true
diff --git a/test/testTimerAux b/test/testTimerAux
index 2c394cf..3296fdf 100644
--- a/test/testTimerAux
+++ b/test/testTimerAux
@@ -1,6 +1,6 @@
-one requested 0.400000 diff 0.400292 seconds
-two requested 0.200000 diff 0.200304 seconds
-one requested 0.200000 diff 0.200222 seconds
-two requested 0.400000 diff 0.400264 seconds
-one requested 0.000000 diff 0.000075 seconds
-two requested 0.000000 diff 0.000100 seconds
+one requested 0.400000 diff 0.400280 seconds
+two requested 0.200000 diff 0.200272 seconds
+one requested 0.200000 diff 0.200357 seconds
+two requested 0.400000 diff 0.400289 seconds
+one requested 0.000000 diff 0.000028 seconds
+two requested 0.000000 diff 0.000044 seconds
diff --git a/testApp/property/testProperty.cpp b/testApp/property/testProperty.cpp
index 785bae2..76693f6 100644
--- a/testApp/property/testProperty.cpp
+++ b/testApp/property/testProperty.cpp
@@ -92,14 +92,17 @@ static void testAlarm(FILE * fd,FILE *auxfd)
Alarm al;
al.setMessage(String("testMessage"));
al.setSeverity(majorAlarm);
+ al.setStatus(clientStatus);
result = pvAlarm.set(al);
assert(result);
pvAlarm.get(alarm);
assert(al.getMessage().compare(alarm.getMessage())==0);
assert(al.getSeverity()==alarm.getSeverity());
+ assert(al.getStatus()==alarm.getStatus());
String message = alarm.getMessage();
String severity = AlarmSeverityFunc::getSeverityNames()[alarm.getSeverity()];
- fprintf(fd," message %s severity %s\n",message.c_str(),severity.c_str());
+ String status = AlarmStatusFunc::getStatusNames()[alarm.getStatus()];
+ fprintf(fd," message %s severity %s status %s\n",message.c_str(),severity.c_str(),status.c_str());
}
static void testTimeStamp(FILE * fd,FILE *auxfd)
@@ -117,21 +120,24 @@ static void testTimeStamp(FILE * fd,FILE *auxfd)
assert(result);
TimeStamp ts;
ts.getCurrent();
+ ts.setUserTag(32);
result = pvTimeStamp.set(ts);
assert(result);
pvTimeStamp.get(timeStamp);
assert(ts.getSecondsPastEpoch()==timeStamp.getSecondsPastEpoch());
assert(ts.getNanoSeconds()==timeStamp.getNanoSeconds());
+ assert(ts.getUserTag()==timeStamp.getUserTag());
time_t tt;
timeStamp.toTime_t(tt);
struct tm ctm;
memcpy(&ctm,localtime(&tt),sizeof(struct tm));
fprintf(auxfd,
- "%4.4d.%2.2d.%2.2d %2.2d:%2.2d:%2.2d %d nanoSeconds isDst %s\n",
+ "%4.4d.%2.2d.%2.2d %2.2d:%2.2d:%2.2d %d nanoSeconds isDst %s userTag %d\n",
ctm.tm_year+1900,ctm.tm_mon + 1,ctm.tm_mday,
ctm.tm_hour,ctm.tm_min,ctm.tm_sec,
timeStamp.getNanoSeconds(),
- (ctm.tm_isdst==0) ? "false" : "true");
+ (ctm.tm_isdst==0) ? "false" : "true",
+ timeStamp.getUserTag());
timeStamp.put(0,0);
pvTimeStamp.set(timeStamp);
}