/** \file
 *
 *  Contains the SimulatorUtils class declaration.
 *
 *  Copyright (c) 2007,2008,2009 MBARI
 *  MBARI Proprietary Information.  All Rights Reserved
 */

#ifndef SIMULATORUTILS_H_
#define SIMULATORUTILS_H_

#include "logger/Logger.h"
#include "SimCommsStruct.h"
#include "SimHeadStruct.h"
#include "SimInitStruct.h"
#include "SimResultStruct.h"
#include "SimRunStruct.h"
/**
 *  Contains static methods used by all the Simulator Component classes.
 *
 *  \ingroup modules_simulator
 */
class SimulatorUtils
{
public:

    /// Configure the SimHeadStruct.
    static void InitHead( SimHeadStruct& head, SimHeadStruct::StructType structType,
                          unsigned int addr = 0, unsigned int uid = 0 );

    /// Load properties from config files into the SimInitStruct.
    static bool LoadInit( SimInitStruct& init, Component* owner, Logger& logger );

};

#endif /* SIMULATORUTILS_H_ */
