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

bulkDataNTSenderImpl.h

Go to the documentation of this file.
00001 #ifndef _BULKDATANT_SENDER_IMPL_H
00002 #define _BULKDATANT_SENDER_IMPL_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  * "@(#)"
00025  *
00026  * who       when      what
00027  * --------  --------  ----------------------------------------------
00028  * oat       28/01/05  created 
00029  */
00030 
00031 /************************************************************************
00032  *
00033  *----------------------------------------------------------------------
00034  */
00035 
00036 #include <baci.h>
00037 #include <baciCharacteristicComponentImpl.h>
00038 #include <maciHelper.h>
00039 #include <maciContainerServices.h>
00040 
00041 #include "bulkDataSenderS.h"
00042 #include "bulkDataReceiverC.h"
00043 
00044 #include "bulkDataNTSenderStream.h"
00045 
00046 
00068 // probably we do not need template
00069 //template<class TSenderCallback=BulkDataSenderDefaultCallback>
00070 class BulkDataNTSenderImpl : public baci::CharacteristicComponentImpl,
00071                            public virtual POA_bulkdata::BulkDataSender
00072 {    
00073   public:
00079         BulkDataNTSenderImpl(const ACE_CString& name,maci::ContainerServices* containerServices);
00080   
00084     virtual ~BulkDataNTSenderImpl();
00085   
00086     virtual void initialize();
00087 
00088     virtual void cleanUp();
00089 
00099     virtual void connect(bulkdata::BulkDataReceiver_ptr receiverObj_p);
00100 
00104     virtual void disconnect();
00105 
00106 //getSenderStream(stream name)
00107     virtual AcsBulkdata::BulkDataNTSenderStream/*<TSenderCallback>*/ *getSenderStream(/*name*/)
00108         {
00109             return senderStream_m;
00110         }
00111 
00112 
00121     virtual void startSend()  =0;
00122 
00133     virtual void paceData()  =0;
00134 
00143     virtual void stopSend() =0;
00144 
00145 
00146 
00147   protected:
00148 
00155   private:
00156 
00157     maci::ContainerServices *containerServices_p;
00158 
00159     AcsBulkdata::BulkDataNTSenderStream/*<TSenderCallback>*/ *senderStream_m; //TBD convert to map to hold more streams
00160 //TBD do we need reference to receiver ?
00161     bulkdata::BulkDataReceiver_ptr receiverObj_m;
00162 };
00163 /*
00164 typedef BulkDataSenderImpl<> BulkDataSenderDefaultImpl;
00165 
00166 #include "bulkDataSenderImpl.i"
00167 */
00168 #endif /* _BULKDATANT_SENDER_IMPL_H */

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