00001 #ifndef _baciROdiscImpl_T_H_ 00002 #define _baciROdiscImpl_T_H_ 00003 /******************************************************************* 00004 * ALMA - Atacama Large Millimiter Array 00005 * (c) European Southern Observatory, 2003 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: baciROdiscImpl_T" 00022 * 00023 * who when what 00024 * -------- ---------- ---------------------------------------------- 00025 * bjeram 10/02/2003 created 00026 00027 */ 00028 00034 #ifndef __cplusplus 00035 #error This is a C++ include file and cannot be used from plain C 00036 #endif 00037 00038 #include <baciROcommonImpl_T.h> 00039 #include <baciAlarmSystemMonitorDisc_T.h> 00040 00041 namespace baci { 00042 00043 template <ACS_RO_C> 00044 class ROdiscImpl : public virtual POA_SK, 00045 public ROcommonImpl<ACS_RO_TL> 00046 { 00047 public: 00048 ROdiscImpl(const ACE_CString& name, BACIComponent *component_p, DevIO<TM> *devIO=0, bool flagdeldevIO=false, int initalize=0); 00049 00050 ROdiscImpl(bool init, const ACE_CString& name, BACIComponent *component_p, DevIO<TM> *devIO=0, bool flagdeldevIO=false, int initalize=0); 00051 /* -------------------- [ RO interface ] -------------------- */ 00052 00053 virtual ACS::Subscription_ptr 00054 new_subscription_Alarm (TAlarm *cb, 00055 const ACS::CBDescIn & desc); 00056 00057 virtual ~ROdiscImpl(); 00058 00059 protected: 00067 typedef ROdiscImpl<ACS_RO_TL> PropType; 00068 00075 // for time being it is just in ROpatter 00076 // AlarmSystemMonitorDisc<TS, PropType> *alarmSystemMonitor_mp; 00077 00078 }; 00079 00080 }; 00081 00082 #endif