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.104 2006/04/20 08:47:59 bjeram 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 00053 using namespace baci; 00054 00109 class Building: public CharacteristicComponentImpl, //Standard component superclass 00110 public virtual POA_acsexmplBuilding::Building //CORBA servant stub 00111 { 00112 public: 00119 Building( 00120 const ACE_CString &name, 00121 maci::ContainerServices * containerServices); 00122 00126 virtual ~Building(); 00127 00128 /* --------------------- [ CORBA interface ] ----------------------*/ 00137 virtual void 00138 openFrontDoor () 00139 throw (CORBA::SystemException); 00140 00149 virtual void 00150 closeFrontDoor () 00151 throw (CORBA::SystemException); 00152 00161 virtual ACS::ROstring_ptr 00162 version () 00163 throw (CORBA::SystemException); 00164 00165 00166 /*Override component lifecycle methods*/ 00179 virtual void execute() 00180 throw (ACSErr::ACSbaseExImpl); 00181 00207 virtual void cleanUp(); 00208 00209 private: 00213 SmartPropertyPointer<ROstring>m_version_sp; 00214 00218 acsexmplBuilding::Door_var m_door_p; 00219 00223 void operator=(const Building&); 00224 }; 00225 00226 #endif 00227 00228 00229
1.3.6