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