/****************************************************************************/
/* Summary  :                                                               */
/* Filename : MultiLeicaIF.idl                                              */
/* Author   : Aaron Marsh                                                   */
/* Project  :                                                               */
/* Version  : $Revision: #1 $                                    */
/* Created  : 05/04/00                                                      */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/

/*
CLASS 
MultiLeicaIF.idl

DESCRIPTION
Task interface for dual Leica Compasses

AUTHOR
Marsh
*/

#include "TimeIF.idl"
#include "DeviceIF.idl"
#include "CompassIF.idl"
#include "LeicaCompassIF.idl"

interface MultiLeicaIF : LeicaCompassIF {

     enum MultiMode {
	  UnknownMultiMode = 0,
	  CompassOne = 1,
	  CompassTwo = 2,
	  CompassAverage = 3
     };

     ///////////////////////////////////////////////////////
     // Set input source
     DeviceIF::Status setMultiMode( in MultiMode mode );

     ///////////////////////////////////////////////////////
     // Get input source
     DeviceIF::Status getMultiMode( out MultiMode mode );



     ///////////////////////////////////////////////////////
     // Override the calibration routines for two compasses
     DeviceIF::Status calibrationsRemaining( out long count1,
					     out long count2 );

     ///////////////////////////////////////////////////////
     // Override the calibration routines for two compasses
     DeviceIF::Status calibrationAccuracy( out float accuracy1,
					   out float accuracy2 );
     
};
