00001 #ifndef acsexmplBuildingImpl_h 00002 #define acsexmplBuildingImpl_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: acsexmplBuildingImpl.h,v 1.108 2008/10/09 08:41:11 cparedes Exp $" 00025 * 00026 * who when what 00027 * -------- -------- ---------------------------------------------- 00028 * acaproni 2004-04-06 Use the SmartPropertyPointer for the property 00029 * dave 2003-08-26 removed instances of "acsexmplDoor" as this interface is now defined in acsexmplBuilding.idl 00030 * david 2002-07-02 added GNU License info 00031 * david 2002-06-17 removed Building::*ActionFunction declaration as it is not used in this example 00032 * blopez 2002-04-05 m_poa declaration removed 00033 * jib/blo 2002-04-02 Created 00034 * 00035 */ 00036 00037 #ifndef __cplusplus 00038 #error This is a C++ include file and cannot be used from plain C 00039 #endif 00040 00042 #include <baciCharacteristicComponentImpl.h> 00043 00045 #include <acsexmplBuildingS.h> 00046 00048 #include <baciROstring.h> 00049 00051 #include <baciSmartPropertyPointer.h> 00052 00058 00063 00119 class Building: public baci::CharacteristicComponentImpl, //Standard component superclass 00120 public virtual POA_acsexmplBuilding::Building //CORBA servant stub 00121 { 00122 public: 00129 Building( 00130 const ACE_CString &name, 00131 maci::ContainerServices * containerServices); 00132 00136 virtual ~Building(); 00137 00138 /* --------------------- [ CORBA interface ] ----------------------*/ 00147 virtual void 00148 openFrontDoor (); 00149 00158 virtual void 00159 closeFrontDoor (); 00160 00169 virtual ACS::ROstring_ptr 00170 version (); 00171 00172 00173 /*Override component lifecycle methods*/ 00187 virtual void execute(); 00188 00214 virtual void cleanUp(); 00215 00216 private: 00220 baci::SmartPropertyPointer<baci::ROstring>m_version_sp; 00221 00225 acsexmplBuilding::Door_var m_door_p; 00226 00230 void operator=(const Building&); 00231 }; 00232 /*\@}*/ 00233 /*\@}*/ 00234 00235 #endif 00236