Go to the documentation of this file.00001 #ifndef _BULKDATA_FLOW_CONSUMER_H
00002 #define _BULKDATA_FLOW_CONSUMER_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 TReceiverCallback>
00056     class BulkDataFlowConsumer : public virtual TAO_FlowConsumer
00057     {
00058     public:
00059 
00068       BulkDataFlowConsumer(const char *flowname, AVStreams::protocolSpec prot, const char *format);
00069 
00073       virtual ~BulkDataFlowConsumer();
00074 
00086       virtual int get_callback (const char *flowname, TAO_AV_Callback *&callback);
00087 
00097       virtual int set_protocol_object(const char *flowname, TAO_AV_Protocol_Object *object);
00098 
00106       virtual TAO_AV_Protocol_Object *getProtocolObject();
00107     
00108       virtual TReceiverCallback * getBulkDataCallback();
00109 
00110       virtual void set_flow_handler (const char *flowname,
00111                                      TAO_AV_Flow_Handler *handler);
00112 
00113       virtual  TAO_AV_Flow_Handler * getFlowHandler();
00114 
00115       virtual void setCbTimeout(ACE_Time_Value cbTimeout)
00116           {
00117               cbTimeout_m = cbTimeout;
00118           }     
00119 
00120     private:
00121 
00122       TReceiverCallback *cb_p;
00123 
00124       ACE_CString flowname_m;
00125 
00126       TAO_AV_Protocol_Object *protObj_p;
00127 
00128       TAO_AV_Flow_Handler *handler_p;
00129 
00130       ACE_Time_Value cbTimeout_m;       
00131     };
00132 
00133 
00134 }
00135 
00136 
00137 #include "bulkDataFlowConsumer.i"
00138 
00139 #endif