/* * ALMA - Atacama Large Millimiter Array * (c) European Southern Observatory, 2002 * Copyright by ESO (in the framework of the ALMA collaboration) * and Cosylab 2002, All rights reserved * * 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 */ #ifndef _ACS_COMMON_IDL #define _ACS_COMMON_IDL #include #pragma prefix "alma" module ACS { /////////////////////////////////////////////////////////////////////////////////////// //// The following used to be defined in baciidl. Because access to these typedefs //// is needed in modules built earlier than acserr (baciidl is dependent upon this //// module), they have been moved here. /////////////////////////////////////////////////////////////////////////////////////// /** Time - absolute time in 100 ns since 1582-10-15 00:00:00 see OMG Time Service Specification, * ftp://ftp.omg.org/pub/docs/formal/97-12-21.pdf. Currently, Time is handled as longlong. */ typedef unsigned long long Time; /** TimeInterval - difference between two absolute time points. */ typedef long long TimeInterval; /** A 64-bit long used as a pattern of 64 bits. */ typedef unsigned long long pattern; /** A 32-bit signed integer */ typedef unsigned long uLong; /** A 64-bit signed integer */ typedef long long longLong; /** A 64-bit unsigned integer */ typedef unsigned long long uLongLong; /** @enum Condition * Possible state conditions of a physical device. The names correspond to colours * of typical LEDs. */ enum Condition { /// RED implies the physical device is in an error state. RED, /// YELLOW implies the physical device is in a caution state. YELLOW, /// RED implies the physical device is in an OK state. GREEN, /// RED implies the physical device is turned off. GREY }; /** Sequences are used extensively with components that deal with multiple devices (groups) * or properties, which manage a value of sequence type. Sequences defined by BACI are also * used to optimize the number of network calls needed to query a remote object. * The naming pattern is always Seq. */ typedef sequence stringSeq; /** A sequence of \ref Time. See \ref stringSeq for more on sequences. */ typedef sequence