#ifndef __SRTDEROTATOR_IDL__
#define __SRTDEROTATOR_IDL__
/***************************************************************\
 *  Authors: 
 *      Giuseppe Carboni <giuseppe.carboni@inaf.it>
 *
 *  Created: Mon May 06 10:00:00 CEST 2024
\***************************************************************/

#include "GenericDerotator.idl"
#include "SRTMinorServoCommon.idl"

#pragma prefix "alma"

module MinorServo
{
    /**
     * This IDL interface describes the CORBA interface of a common Leonardo Derotator component.
     */
    interface SRTDerotator : SRTLDOBaseProperties, Receivers::GenericDerotator, ACS::CharacteristicComponent
    {
        /**
         * This property indicates the ID of the trajectory. It always corresponds to starting time of the trajectory, expressed as the UNIX Epoch * 1000 (long)
         */
        readonly attribute ACS::ROlong trajectory_id;

        /**
         * This property indicates the total number of points loaded into the current trajectory
         */
        readonly attribute ACS::ROlong total_trajectory_points;

        /**
         * This property indicates the number of points of the current trajectory which remain to be tracked
         */
        readonly attribute ACS::ROlong remaining_trajectory_points;

        /**
         * This method asks the hardware its status and updates the properties.
         */
        boolean updateStatus();
    };
};

#endif
