/** \file
 *
 *  Specifies the interface details for the PowerOnly component in the
 *  ScienceModule.
 *
 *  PowerOnly.h should only be included by PowerOnly.cpp
 *  Other classes should include PowerOnly.h
 *
 *  Copyright (c) 2007,2008,2009 MBARI
 *  MBARI Proprietary Information.  All Rights Reserved
 */

#ifndef POWERONLYIF_H
#define POWERONLYIF_H

#include "data/ElementURI.h"

/**
 *  Specifies the interface details for the PowerOnly component in the
 *  SensorModule.
 *
 *  \ingroup modules_sensor
 */
namespace PowerOnlyIF
{
/// Static const for component name
/// (Can be used by other components)
static const Str NAME( "PowerOnly" );

// Include common ConfigURIs -- must be in namespace and follow definition of NAME
#include "component/HasLoadAtStartupIF.h"
#include "component/HasHardwareIF.h"
#include "component/HasLoadControlIF.h"
#include "component/HasLoadControl2IF.h"
#include "component/HasLoadControl3IF.h"


static const ConfigURI SAMPLE_TIME_CFG( NAME, "sampleTime", Units::SECOND );

static const ConfigURI SAMPLE_TIME_CFG1( NAME, "sampleTime1", Units::SECOND );

static const ConfigURI SAMPLE_TIME_CFG2( NAME, "sampleTime2", Units::SECOND );

static const ConfigURI SAMPLE_TIME_CFG3( NAME, "sampleTime3", Units::SECOND );

static const DataURI SAMPLE_POWERONLY( NAME, "samplePowerOnly", Units::BOOL );

static const DataURI SAMPLE_LOAD1( NAME, "sampleLoad1", Units::BOOL );

static const DataURI SAMPLE_LOAD2( NAME, "sampleLoad2", Units::BOOL );

static const DataURI SAMPLE_LOAD3( NAME, "sampleLoad3", Units::BOOL );

}

#endif /*PowerOnlyIF_H*/
