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

maciComponentStateManager.h

Go to the documentation of this file.
00001 #ifndef maciComponentStateManager_h
00002 #define maciComponentStateManager_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: maciComponentStateManager.h,v 1.4 2008/10/09 07:05:37 cparedes Exp $"
00025  *
00026  * who       when      what
00027  * --------  --------  ----------------------------------------------
00028  * acaproni  2005-04-06  created
00029  */
00030  
00031  #include <acsComponentStateManager.h>
00032  #include <Functor_String.h>
00033  
00034  #include <acsErrTypeLifeCycle.h>
00035  
00036  namespace maci {
00037      
00042      class MACIComponentStateManager: public ComponentStateManager
00043      {
00044         public:
00045         
00049             MACIComponentStateManager(ACE_CString& compName);
00050             
00054             virtual ~MACIComponentStateManager() { }
00055     
00061             virtual ACS::ComponentStates getCurrentState();
00062             
00070             virtual void setState(ACS::ComponentStates newState);
00071                 
00078              virtual ACE_CString getName();
00079         
00080         private:
00081         
00093             bool checkTransition(ACS::ComponentStates candidateState);
00094             
00095             
00102              ACE_CString stateToString(ACS::ComponentStates state);
00103         
00104         private:
00106             ACS::ComponentStates componentState_m;
00107             
00109             ACE_CString componentName_m;
00110      };
00111  };
00112  
00113  #endif // maciComponentStateManager_h

Generated on Thu Jan 12 2012 23:13:51 for ACS-10.0 C++ API by  doxygen 1.7.0