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