Go to the documentation of this file.00001 #ifndef _BULKDATA_RECEIVER_IMPL_H
00002 #define _BULKDATA_RECEIVER_IMPL_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
00031
00032
00033
00034
00035
00036 #ifndef __cplusplus
00037 #error This is a C++ include file and cannot be used from plain C
00038 #endif
00039
00040 #include <baci.h>
00041 #include <baciCharacteristicComponentImpl.h>
00042 #include <maciHelper.h>
00043 #include <maciContainerServices.h>
00044
00045 #include "ACSBulkDataStatus.h"
00046
00047 #include "bulkDataReceiverS.h"
00048
00049 #include "bulkDataReceiver.h"
00050
00051
00074 template<class TCallback>
00075 class BulkDataReceiverImpl : public baci::CharacteristicComponentImpl,
00076 public virtual POA_bulkdata::BulkDataReceiver
00077 {
00078 public:
00079
00085 BulkDataReceiverImpl(const ACE_CString& name,maci::ContainerServices* containerServices);
00086
00090 virtual ~BulkDataReceiverImpl();
00091
00092 void cleanUp();
00093
00094 virtual AcsBulkdata::BulkDataReceiver<TCallback> * getReceiver()
00095 {
00096 return & receiver;
00097 }
00098
00110 virtual void openReceiver() ;
00111
00112 void openReceiverStream(const char * stream_name)
00113 {
00114 ACS_SHORT_LOG((LM_ERROR,"BulkDataReceiver<>::openReceiverStream NOT implemented. The method is implemented just in bulkDataNT!"));
00115 }
00116
00117 void openReceiverStreamCfg (const char * stream_name, const char * stream_cfg)
00118 {
00119 ACS_SHORT_LOG((LM_ERROR,"BulkDataReceiver<>::openReceiverStreamCfg NOT implemented. The method is implemented just in bulkDataNT!"));
00120 }
00121
00122 void openReceiverFlow (const char * stream_name, const char * flow_name)
00123 {
00124 ACS_SHORT_LOG((LM_ERROR,"BulkDataReceiver<>::openReceiverFlow NOT implemented. The method is implemented just in bulkDataNT!"));
00125 }
00126
00127 void openReceiverFlowCfg (const char * stream_name, const char * flow_name, const char * flow_cfg)
00128 {
00129 ACS_SHORT_LOG((LM_ERROR,"BulkDataReceiver<>::openReceiverFlowCfg NOT implemented. The method is implemented just in bulkDataNT!"));
00130 }
00131
00135 bulkdata::BulkDataReceiverConfig * getReceiverConfig();
00136
00140 virtual void closeReceiver();
00141
00142 virtual void closeReceiverStream(const char * stream_name);
00143
00148 virtual ACSErr::Completion *getCbStatus(CORBA::ULong flowNumber);
00149
00154 virtual void setTimeout(CORBA::ULong flowNumber, CORBA::ULong timeout);
00155
00159 virtual void setRecvName(const char *recvName);
00160
00164 virtual void subscribeNotification(ACS::CBvoid_ptr notifCb);
00165
00174 void fwdData2UserCB(CORBA::Boolean enable);
00175
00176 protected:
00177
00178
00179 private:
00180
00181 AcsBulkdata::BulkDataReceiver<TCallback> receiver;
00182
00183 maci::ContainerServices *containerServices_p;
00184 };
00185
00186 #include "bulkDataReceiverImpl.i"
00187
00188 #endif