Go to the documentation of this file.00001 #ifndef _BULKDATA_FLOW_PRODUCER_H
00002 #define _BULKDATA_FLOW_PRODUCER_H
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
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