• Classes
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

acssamp.idl

Go to the documentation of this file.
00001 #ifndef _ACS_SAMP_IDL_
00002 #define _ACS_SAMP_IDL_
00003 
00004 /*******************************************************************************
00005 *    ALMA - Atacama Large Millimiter Array
00006 *
00007 *    (c) European Southern Observatory, 2002
00008 *    Copyright by ESO (in the framework of the ALMA collaboration)
00009 *    and Cosylab 2002, All rights reserved
00010 *
00011 *    This library is free software; you can redistribute it and/or
00012 *    modify it under the terms of the GNU Lesser General Public
00013 *    License as published by the Free Software Foundation; either
00014 *    version 2.1 of the License, or (at your option) any later version.
00015 *
00016 *    This library is distributed in the hope that it will be useful,
00017 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019 *    Lesser General Public License for more details.
00020 *
00021 *    You should have received a copy of the GNU Lesser General Public
00022 *    License along with this library; if not, write to the Free Software
00023 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00024 *
00025 *
00026 * "@(#) $Id: acssamp.idl,v 1.15 2006/10/19 15:19:58 rcirami Exp $"
00027 *
00028 * who       when      what
00029 * --------  --------  ----------------------------------------------
00030 * oat       07/04/03  created
00031 * oat       03/10/06  update following C++ coding standard
00032 */
00033 
00034 #include <baci.idl>
00035 #include <ACSErrTypeCommon.idl>
00036 
00037 #pragma prefix "alma"
00038 
00043 module acssamp
00044 {
00045 
00049   interface SampObj;
00050 
00051 
00055   interface Samp : ACS::CharacteristicComponent
00056   {
00057     
00081     SampObj initSampObj (in string name,
00082                          in string property,
00083                          in ACS::TimeInterval frequency,
00084                          in ACS::TimeInterval reportRate) 
00085         raises (ACSErrTypeCommon::OutOfBoundsEx,
00086                 ACSErrTypeCommon::MemoryFaultEx,
00087                 ACSErrTypeCommon::CORBAProblemEx,
00088                 ACSErrTypeCommon::TypeNotSupportedEx,
00089                 ACSErrTypeCommon::CouldntAccessPropertyEx,
00090                 ACSErrTypeCommon::CouldntAccessComponentEx,
00091                 ACSErrTypeCommon::CouldntCreateObjectEx);
00092     
00093   };
00094 
00095 
00096   interface SampObj : ACS::Subscription
00097   {
00098 
00099     
00107     void start();
00108 
00109     
00117     void stop();
00118 
00119 
00125     /*    
00126           void suspend();
00127           void resume();
00128           void destroy();
00129     */
00130     
00131 
00144     void setFrequency (in ACS::TimeInterval sFrequency);
00145 
00146 
00159     void getFrequency (out ACS::TimeInterval sFrequency);
00160 
00161 
00162 
00175     void setRate (in ACS::TimeInterval rRate);
00176 
00177 
00190     void getRate (out ACS::TimeInterval rRate);
00191 
00192 
00198     struct SampDataBlock
00199     {
00200       ACS::Time sampTime;
00201       any sampVal;
00202     };
00203     typedef sequence<SampDataBlock> SampDataBlockSeq;
00204 
00205 
00206     
00215     string getChannelName ();
00216 
00217   };
00218 
00219 
00220 };
00221 
00222 
00223 #endif

Generated on Thu Jan 12 2012 23:13:14 for ACS-10.0 IDL interfaces by  doxygen 1.7.0