Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

acsexmplRampedPowerSupplyImpl.h

Go to the documentation of this file.
00001 #ifndef acsexmplRampedPowerSupplyImpl_h 00002 #define acsexmplRampedPowerSupplyImpl_h 00003 /******************************************************************************* 00004 * ALMA - Atacama Large Millimiter Array 00005 * (c) European Southern Observatory, 2002 00006 * Copyright by ESO (in the framework of the ALMA collaboration) 00007 * and Cosylab 2002, All rights reserved 00008 * 00009 * This library is free software; you can redistribute it and/or 00010 * modify it under the terms of the GNU Lesser General Public 00011 * License as published by the Free Software Foundation; either 00012 * version 2.1 of the License, or (at your option) any later version. 00013 * 00014 * This library is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * Lesser General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU Lesser General Public 00020 * License along with this library; if not, write to the Free Software 00021 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 * 00023 * 00024 * "@(#) $Id: acsexmplRampedPowerSupplyImpl.h,v 1.101 2008/10/01 04:30:47 cparedes Exp $" 00025 * 00026 * who when what 00027 * -------- -------- ---------------------------------------------- 00028 * acaproni 2004-04-06 Use of the smart pointer for properties 00029 * david 2002-10-03 added inheritance from ACSDO and removed many methods 00030 * david 2002-07-02 added GNU license info 00031 * gchiozzi 2002-01-28 cleaned up remaining "mount" strings and replaced with "acsexmpl" 00032 * almamgr 2002-01-22 Replaced old include files with new axsexmpl... files 00033 * msekoran 2001-07-17 created 00034 */ 00035 00036 #ifndef __cplusplus 00037 #error This is a C++ include file and cannot be used from plain C 00038 #endif 00039 00040 #include <acsexmplExport.h> 00041 00043 #include "acsexmplPowerSupplyImpl.h" 00044 00046 #include <acsexmplRampedPowerSupplyS.h> 00047 00049 #include <baciROlong.h> 00050 #include <baciRWstring.h> 00051 00053 #include "acsexmplLongDevIO.h" 00054 00056 #include <baciSmartPropertyPointer.h> 00057 00064 00069 00129 class acsexmpl_EXPORT RampedPowerSupply: public PowerSupply, //PowerSupply's superclass is CharacteristicComponent 00130 public virtual POA_RampedPS::RampedPowerSupply //CORBA servant stub 00131 { 00132 public: 00138 RampedPowerSupply ( 00139 const ACE_CString &name, 00140 maci::ContainerServices * containerServices); 00141 00145 ~RampedPowerSupply(); 00146 00150 const static int START_RAMPING=3; 00151 const static int STOP_RAMPING=4; 00152 00153 /* --------------- [ Action implementator interface ] -------------- */ 00174 virtual baci::ActionRequest 00175 invokeAction (int function, 00176 baci::BACIComponent *component_p, 00177 const int &callbackID, 00178 const CBDescIn &descIn, 00179 baci::BACIValue *value_p, 00180 Completion &completion, 00181 CBDescOut &descOut); 00182 00205 virtual baci::ActionRequest 00206 startRampingAction (baci::BACIComponent *component_p, 00207 const int &callbackID, 00208 const CBDescIn &descIn, 00209 baci::BACIValue *value_p, 00210 Completion &completion, 00211 CBDescOut &descOut); 00234 virtual baci::ActionRequest 00235 stopRampingAction (baci::BACIComponent *component_p, 00236 const int &callbackID, 00237 const CBDescIn &descIn, 00238 baci::BACIValue *value_p, 00239 Completion &completion, 00240 CBDescOut &descOut); 00241 00242 /* --------------------- [ CORBA interface ] ----------------------*/ 00256 virtual void 00257 startRamping (CORBA::Long rampingSteps, 00258 ACS::CBvoid_ptr cb, 00259 const ACS::CBDescIn &desc); 00260 00274 virtual void 00275 stopRamping (ACS::CBvoid_ptr cb, 00276 const ACS::CBDescIn &desc); 00277 00286 virtual ACS::RWstring_ptr 00287 rampingStatus (); 00288 00297 virtual ACS::ROlong_ptr 00298 rampingStep (); 00299 00300 private: 00304 baci::SmartPropertyPointer<baci::ROlong> m_rampingStep_sp; 00305 00312 DevIO<CORBA::Long> *m_rampingStep_devio_p; 00313 00317 baci::SmartPropertyPointer<baci::RWstring> m_rampingStatus_sp; 00318 00322 void operator=(const RampedPowerSupply&); 00323 }; 00324 /*\@}*/ 00325 /*\@}*/ 00326 00327 #endif /* acsexmplRampedPowerSupplyImpl_h */ 00328 00329 00330

Generated on Thu Apr 30 02:30:49 2009 for ACS C++ API by doxygen 1.3.8