// $Header: https://oberon.oapd.inaf.it/shins/trunk/shins/src/tiptilt_ctrl/bcu/Interface/Sharknir/Bcu/OverallDiagnosticRecord.h 975 2018-10-31 09:24:04Z depa $
#pragma once

#include "tiptilt_ctrl/bcu/Interface/Sharknir/Bcu/OverallDiagnosticRecordVar.h"
// #include "OverallDiagnosticRecordVar.h"

#include <boost/cstdint.hpp>
#include <boost/static_assert.hpp>
#include <boost/shared_ptr.hpp>


// ARGOS_SUBVERSION("$Id: OverallDiagnosticRecord.h 3416 2013-07-24 08:19:38Z kulas $")


namespace Sharknir { namespace Bcu {

typedef uint32_t FrameCounter;

class OverallDiagnosticRecord : public OverallDiagnosticRecordVar
{
public:

	inline FrameCounter getFrameCounter()
	{
		return frameCounter;
	}
};

BOOST_STATIC_ASSERT(sizeof(uint32_t) == sizeof(::Ice::Int));

typedef boost::shared_ptr<OverallDiagnosticRecord> OverallDiagnosticRecordPtr;

typedef std::vector<OverallDiagnosticRecord> SeqOverallDiagnosticRecord;
typedef boost::shared_ptr<SeqOverallDiagnosticRecord>
        SeqOverallDiagnosticRecordPtr;

std::ostream& operator<<(std::ostream&,
        const Sharknir::Bcu::OverallDiagnosticRecordVar&);
std::istream& operator>>(std::istream&,
        Sharknir::Bcu::OverallDiagnosticRecordVar&);


}
}

