Public Member Functions | Private Attributes

laserSource::CERNASIMessage Class Reference

#include <CERNASIMessage.h>

Collaboration diagram for laserSource::CERNASIMessage:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CERNASIMessage (acsalarm::ASIMessage &message)
std::string toXML ()
std::string timestampToXML (const acsalarm::Timestamp *timestamp, std::string elementName, int amountToIndent) const
std::string faultStateToXML (acsalarm::FaultState *state, int amountToIndent=3)
std::string propertiesToXML (acsalarm::Properties props, int amountToIndent=6)

Private Attributes

acsalarm::ASIMessagem_message

Detailed Description

CERNASIMessage holds a reference to ASIMessage to build the XML of the source alarms that will be published into the NC.

The reason to have this method here is that in ACS/LGPL/CommonSoftware the ASI-Message name space is not yet known neither needed because the ACS implementation only logs a message for each alarm.


Constructor & Destructor Documentation

laserSource::CERNASIMessage::CERNASIMessage ( acsalarm::ASIMessage message  ) 

Constructor

Parameters:
message The (not NULL) ASIMessage to produce the XML

Member Function Documentation

std::string laserSource::CERNASIMessage::faultStateToXML ( acsalarm::FaultState state,
int  amountToIndent = 3 
)

Returns an XML representation of the fault state. NOTE: this will not be a complete XML document, but just a fragment.

Parameters:
state The FaultState to format
amountToIndent the amount (in spaces) to indent for readability

For example:

<fault-state family="AlarmSource" member="ALARM_SOURCE_ANTENNA" code="1"> <descriptor>TERMINATE</descriptor> <user-properties> <property name="ASI_PREFIX" value="prefix"> <property name="TEST_PROPERTY" value="TEST_VALUE"> <property name="ASI_SUFFIX" value="suffix"> </user-properties> <user-timestamp seconds="1129902763" microseconds="105000"/> </fault-state>

std::string laserSource::CERNASIMessage::propertiesToXML ( acsalarm::Properties  props,
int  amountToIndent = 6 
)

Returns an XML fragment (NOT a complete document) representing all of the properties contained in this table, for use in the message transported from an alarm source to the alarm server.

Parameters:
amountToIndent - used to specify a level of indentation (in spaces) for readability
std::string laserSource::CERNASIMessage::timestampToXML ( const acsalarm::Timestamp timestamp,
std::string  elementName,
int  amountToIndent 
) const

Returns an XML fragment (NOT a complete document) representing the timestamp, for use in the message that is transported from alarm source to alarm server.

Parameters:
timestamp The timestamp
elementName the element name when generating the XML fragment, for instance in the example below the elementName is "source-timestamp"

For example: <source-timestamp>2014-10-07T13:39:34.658</source-timestamp>

Parameters:
amountToIndent - used to specify a level of indentation (in spaces) for readability
std::string laserSource::CERNASIMessage::toXML (  ) 

builds the xml representation of the message which will be sent to the alarm server


Member Data Documentation

The (not NULL) ASIMessage to produce the XML


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