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