00001 #ifndef _H 00002 #define _H 00003 /******************************************************************************* 00004 * ALMA - Atacama Large Millimiter Array 00005 * (c) European Southern Observatory, 2004 00006 * 00007 *This library is free software; you can redistribute it and/or 00008 *modify it under the terms of the GNU Lesser General Public 00009 *License as published by the Free Software Foundation; either 00010 *version 2.1 of the License, or (at your option) any later version. 00011 * 00012 *This library is distributed in the hope that it will be useful, 00013 *but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 *Lesser General Public License for more details. 00016 * 00017 *You should have received a copy of the GNU Lesser General Public 00018 *License along with this library; if not, write to the Free Software 00019 *Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 * 00021 * "@(#) $Id: acsexmplAsyncMethodCB.h,v 1.2 2008/10/01 04:30:47 cparedes Exp $" 00022 * 00023 * who when what 00024 * -------- -------- ---------------------------------------------- 00025 * acaproni 2004-08-16 created 00026 */ 00027 00028 /************************************************************************ 00029 * 00030 *---------------------------------------------------------------------- 00031 */ 00032 00033 // We need CORBA stuffs for baci classes 00034 #include <baciS.h> 00035 00036 #include <ace/SString.h> 00037 00043 class AsyncMethodCBvoid: public virtual POA_ACS::CBvoid { 00044 private: 00045 // The name of the method (we need it for the messages) 00046 ACE_CString methodName; 00047 00048 public: 00053 AsyncMethodCBvoid(ACE_CString name) { 00054 methodName=name; 00055 } 00056 00060 ~AsyncMethodCBvoid() { } 00061 00062 void working (const ACSErr::Completion &c, const ACS::CBDescOut &desc); 00063 00064 void done (const ACSErr::Completion &c, const ACS::CBDescOut &desc); 00065 00066 CORBA::Boolean negotiate (ACS::TimeInterval time_to_transmit, const ACS::CBDescOut &desc); 00067 }; 00068 00069 #endif