#include "header.h"

std::uint32_t ros_bridge::messages::std_msgs::header::Header::_defaultSeq = 0;

ros_bridge::messages::std_msgs::header::Header::Header()
    : _seq(_defaultSeq++),
      _stamp(Time()),
      _frameId("")
{}

ros_bridge::messages::std_msgs::header::Header::Header(
        uint32_t seq,
        const ros_bridge::messages::std_msgs::header::Header::Time &stamp,
        const std::string &frame_id)
    : _seq(seq)
    , _stamp(stamp)
    , _frameId(frame_id) {}

ros_bridge::messages::std_msgs::header::Header::Header(
        const ros_bridge::messages::std_msgs::header::Header &header)
    : _seq(header.seq())
    , _stamp(header.stamp())
    , _frameId(header.frameId()) {}

uint32_t ros_bridge::messages::std_msgs::header::Header::seq() const
{
    return _seq;
}

const ros_bridge::messages::std_msgs::header::Header::Time &ros_bridge::messages::std_msgs::header::Header::stamp() const
{
    return _stamp;
}

const std::string &ros_bridge::messages::std_msgs::header::Header::frameId() const
{
    return _frameId;
}

ros_bridge::messages::std_msgs::header::Header::Time &ros_bridge::messages::std_msgs::header::Header::stamp()
{
    return _stamp;
}

std::string &ros_bridge::messages::std_msgs::header::Header::frameId()
{
    return _frameId;
}

void ros_bridge::messages::std_msgs::header::Header::setSeq(uint32_t seq)
{
    _seq = seq;
}

void ros_bridge::messages::std_msgs::header::Header::setStamp(
        const ros_bridge::messages::std_msgs::header::Header::Time &stamp)
{
    _stamp = stamp;
}

void ros_bridge::messages::std_msgs::header::Header::setFrameId(
        const std::string &frameId)
{
    _frameId = frameId;
}

std::string ros_bridge::messages::std_msgs::header::messageType(){
    return "std_msgs/Header";
}
