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

#ifndef CANONSamplerIF_H
#define CANONSamplerIF_H

#include "data/ElementURI.h"

/**
 *  Specifies the interface details for the CANONSampler component in the
 *  ScienceModule.
 *
 *  \ingroup modules_science
 */
namespace CANONSamplerIF
{
// Static const for component name
// (Can be used by other components)
static const Str NAME( "CANONSampler" );

// 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/HasPowerIF.h"
#include "component/HasUartIF.h"

static const ConfigURI SAMPLE_TIMEOUT_CFG( NAME, "sampleTimeout", Units::SECOND );

static const DataURI ROTATE_ONLY( NAME, "rotateOnly", Units::BOOL );
static const DataURI SAMPLING_ACTIVE_STATE( NAME, "sampling", Units::BOOL );
static const DataURI SAMPLE_NUMBER( NAME, "sample_number", Units::COUNT );

}

#endif /*CANONSamplerIF_H*/
