1*f5210bb6SBen Tyner #include "user_header.hpp"
2*f5210bb6SBen Tyner 
3*f5210bb6SBen Tyner namespace attn
4*f5210bb6SBen Tyner {
5*f5210bb6SBen Tyner namespace pel
6*f5210bb6SBen Tyner {
7*f5210bb6SBen Tyner 
UserHeader(Stream & pel)8*f5210bb6SBen Tyner UserHeader::UserHeader(Stream& pel)
9*f5210bb6SBen Tyner {
10*f5210bb6SBen Tyner     unflatten(pel);
11*f5210bb6SBen Tyner }
12*f5210bb6SBen Tyner 
flatten(Stream & stream) const13*f5210bb6SBen Tyner void UserHeader::flatten(Stream& stream) const
14*f5210bb6SBen Tyner {
15*f5210bb6SBen Tyner     stream << _header << _eventSubsystem << _eventScope << _eventSeverity
16*f5210bb6SBen Tyner            << _eventType << _reserved4Byte1 << _problemDomain << _problemVector
17*f5210bb6SBen Tyner            << _actionFlags << _reserved4Byte2;
18*f5210bb6SBen Tyner }
19*f5210bb6SBen Tyner 
unflatten(Stream & stream)20*f5210bb6SBen Tyner void UserHeader::unflatten(Stream& stream)
21*f5210bb6SBen Tyner {
22*f5210bb6SBen Tyner     stream >> _header >> _eventSubsystem >> _eventScope >> _eventSeverity >>
23*f5210bb6SBen Tyner         _eventType >> _reserved4Byte1 >> _problemDomain >> _problemVector >>
24*f5210bb6SBen Tyner         _actionFlags >> _reserved4Byte2;
25*f5210bb6SBen Tyner }
26*f5210bb6SBen Tyner 
setSubsystem(uint8_t subsystem)27*f5210bb6SBen Tyner void UserHeader::setSubsystem(uint8_t subsystem)
28*f5210bb6SBen Tyner {
29*f5210bb6SBen Tyner     _eventSubsystem = subsystem;
30*f5210bb6SBen Tyner }
31*f5210bb6SBen Tyner 
setSeverity(uint8_t severity)32*f5210bb6SBen Tyner void UserHeader::setSeverity(uint8_t severity)
33*f5210bb6SBen Tyner {
34*f5210bb6SBen Tyner     _eventSeverity = severity;
35*f5210bb6SBen Tyner }
36*f5210bb6SBen Tyner 
setType(uint8_t type)37*f5210bb6SBen Tyner void UserHeader::setType(uint8_t type)
38*f5210bb6SBen Tyner {
39*f5210bb6SBen Tyner     _eventType = type;
40*f5210bb6SBen Tyner }
41*f5210bb6SBen Tyner 
setAction(uint16_t action)42*f5210bb6SBen Tyner void UserHeader::setAction(uint16_t action)
43*f5210bb6SBen Tyner {
44*f5210bb6SBen Tyner     _actionFlags = action;
45*f5210bb6SBen Tyner }
46*f5210bb6SBen Tyner 
47*f5210bb6SBen Tyner } // namespace pel
48*f5210bb6SBen Tyner } // namespace attn
49