You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Generating Modules

IDL Files

Types.idl
#ifndef _TYPES_IDL_
#define _TYPES_IDL_

/*******************************************************************************
*    ACS Community - https://github.com/ACS-Community/ACS-Workshop
*    
*    This library is free software; you can redistribute it and/or
*    modify it under the terms of the GNU Lesser General Public
*    License as published by the Free Software Foundation; either
*    version 2.1 of the License, or (at your option) any later version.
*    
*    This library is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
*    Lesser General Public License for more details.
*    
*    You should have received a copy of the GNU Lesser General Public
*    License along with this library; if not, write to the Free Software
*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
*/

#pragma prefix "acsws"


/** @file Types.idl
 *  IDL specification of Mount object for ACS Course
 *
 *  There are 4 different interfaces that show the implementation
 *  of a Mount component with increasing complexity.
 *  At every step we add new functionality, aligned with what 
 *  is demonstrated in the course
 */

module TYPES
{ 
    // Image types
    typedef sequence<octet> ImageType;
    typedef sequence<ImageType> ImageList;

	// Coordinates type
	struct Position {
		double az;
		double el;
	};

	// Targets types
	struct Target {
		long     tid;
		Position coordinates;
		long   expTime;  /* seconds */
	};
	typedef sequence<Target>  TargetList;

	// Proposal types
	struct Proposal {
		long pid; /* proposal ID */
		TargetList targets;
		long status; /* 0 queued, 1 running, 2 ready */
	};
	typedef sequence<Proposal>  ProposalList;

	// RGB Configuration of the CCD
	struct RGB { 
		long red; 
		long green;
		long blue;
	};

};

#endif


  • No labels