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

bulkDataFlowProducer.h

Go to the documentation of this file.
00001 #ifndef _BULKDATA_FLOW_PRODUCER_H
00002 #define _BULKDATA_FLOW_PRODUCER_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       27/01/05  created 
00029  */
00030 
00034 namespace AcsBulkdata
00035 {
00055   template<class TSenderCallback>
00056     class BulkDataFlowProducer : public virtual TAO_FlowProducer
00057     {
00058     public:
00059 
00069       BulkDataFlowProducer(const char *flowname, AVStreams::protocolSpec prot, const char *format, TAO_StreamCtrl *strCtrl);
00070 
00074       virtual ~BulkDataFlowProducer();
00075 
00087       virtual int get_callback (const char *flowname, TAO_AV_Callback *&callback);
00088 
00098       virtual int set_protocol_object(const char *flowname, TAO_AV_Protocol_Object *object);
00099 
00107       virtual TAO_AV_Protocol_Object *getProtocolObject();
00108 
00109       virtual TSenderCallback *getBulkDataCallback();
00110 
00111       virtual void set_flow_handler (const char *flowname,
00112                                      TAO_AV_Flow_Handler *handler);
00113 
00114       virtual  TAO_AV_Flow_Handler * getFlowHandler();
00115     
00116     private:
00117 
00118       ACE_CString flowname_m;
00119 
00120       TAO_AV_Protocol_Object *protObj_p;
00121 
00122       TSenderCallback *callback_p;
00123 
00124       TAO_StreamCtrl *strCtrl_p;
00125 
00126       TAO_AV_Flow_Handler *handler_p;
00127     };
00128 
00129 }
00130 
00131 
00132 #include "bulkDataFlowProducer.i"
00133 
00134 #endif /* _BULKDATA_FLOW_PRODUCER_H */

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