Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback > Class Template Reference

#include <bulkDataNTReceiverStream.h>

Inheritance diagram for AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >:
Inheritance graph
[legend]
Collaboration diagram for AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BulkDataNTReceiverStream (const char *streamName, const ReceiverStreamConfiguration &cfg=ReceiverStreamConfiguration(), bool enabledCallingCBforAllFlows=true)
 BulkDataNTReceiverStream (const char *receiverName, const char *streamName, const ReceiverStreamConfiguration &cfg=ReceiverStreamConfiguration(), bool enabledCallingCBforAllFlows=true)
virtual ~BulkDataNTReceiverStream ()
BulkDataNTReceiverFlowcreateFlow (const char *flowName, const ReceiverFlowConfiguration &cfg=ReceiverFlowConfiguration(), BulkDataNTCallback *cb=0, bool releaseCB=false)
BulkDataNTReceiverFlowgetFlow (const char *flowName)
bool existFlow (const char *flowName)
void createMultipleFlowsFromConfig (const char *config)
std::vector< std::string > getFlowNames ()
unsigned int getFlowNumber ()
void enableCallingCBforAllFlows ()
 Enables calling user's CB (cbStart, cbReceiver, cbStop) for All flows.
void disableCallingCBforAllFlows ()
 Disables calling user's CB (cbStart, cbReceiver, cbStop) for All Flows.

Protected Types

typedef std::map< std::string,
BulkDataNTReceiverFlow * > 
ReceiverFlowMap

Protected Member Functions

virtual void removeFlowFromMap (const char *flow)
 void subscribeNotification(ACS::CBvoid_ptr notifCb);
 BulkDataNTReceiverStream ()
 disable default - empty constructor
void operator= (const BulkDataNTReceiverStream &)
 ALMA C++ coding standards state assignment operators should be disabled.
 BulkDataNTReceiverStream (const BulkDataNTReceiverStream &)
 ALMA C++ coding standards state copy constructors should be disabled.

Protected Attributes

ReceiverFlowMap receiverFlows_m
bool notRemoveFromMap_m
bool enabledCallingCBforAllFlows_m

template<class TReceiverCallback>
class AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >


Member Typedef Documentation

template<class TReceiverCallback>
typedef std::map<std::string, BulkDataNTReceiverFlow*> AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::ReceiverFlowMap [protected]

Constructor & Destructor Documentation

template<class TReceiverCallback>
AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::BulkDataNTReceiverStream ( const char *  streamName,
const ReceiverStreamConfiguration cfg = ReceiverStreamConfiguration(),
bool  enabledCallingCBforAllFlows = true 
)

Receiver stream constructor where we do not specify receiver name. Receiver name can be specified later using setReceiverName method

Parameters:
streamName name of the stream that will be create
cfg configuration (optional)
Exceptions:
StreamCreateProblemExImpl 
template<class TReceiverCallback>
AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::BulkDataNTReceiverStream ( const char *  receiverName,
const char *  streamName,
const ReceiverStreamConfiguration cfg = ReceiverStreamConfiguration(),
bool  enabledCallingCBforAllFlows = true 
)

Receiver stream constructor where we specify receiver name.

Parameters:
receiverName receiver's name that it is easier to distinguish between differnet receivers in the ssytem.
streamName name of the stream that will be create
cfg configuration (optional)
Exceptions:
StreamCreateProblemExImpl 
template<class TReceiverCallback>
virtual AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::~BulkDataNTReceiverStream (  )  [virtual]

Receiver Stream destructor. It destroys also all flows belonging to the stream.

template<class TReceiverCallback>
AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::BulkDataNTReceiverStream (  )  [protected]

disable default - empty constructor

template<class TReceiverCallback>
AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::BulkDataNTReceiverStream ( const BulkDataNTReceiverStream< TReceiverCallback > &   )  [protected]

ALMA C++ coding standards state copy constructors should be disabled.


Member Function Documentation

template<class TReceiverCallback>
BulkDataNTReceiverFlow* AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::createFlow ( const char *  flowName,
const ReceiverFlowConfiguration cfg = ReceiverFlowConfiguration(),
BulkDataNTCallback cb = 0,
bool  releaseCB = false 
)

The method creates a flow an the stream

Parameters:
flowName name of flow that willb e created
cfg (optional) REceiver's flow configuration
cb callback - if no specified it is created from tempalte parameter
releaseCB - should be the callback relased when the flow is destroyed
Returns:
template<class TReceiverCallback>
void AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::createMultipleFlowsFromConfig ( const char *  config  ) 

Create multiple flows (user defined)

Parameters:
fepsConfig 
Exceptions:
ACSBulkDataError::AVStreamEndpointErrorExImpl 
ACSBulkDataError::AVInvalidFlowNumberExImpl 
ACSBulkDataError::AVFlowEndpointErrorExImpl 
Returns:
void
template<class TReceiverCallback>
void AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::disableCallingCBforAllFlows (  ) 

Disables calling user's CB (cbStart, cbReceiver, cbStop) for All Flows.

template<class TReceiverCallback>
void AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::enableCallingCBforAllFlows (  ) 

Enables calling user's CB (cbStart, cbReceiver, cbStop) for All flows.

template<class TReceiverCallback>
bool AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::existFlow ( const char *  flowName  ) 

Method just to check if the flow exists in the stream.

Parameters:
flowName the name of the flow
Returns:
true if the flow with name flowName exists in the stream otherwise flase
template<class TReceiverCallback>
BulkDataNTReceiverFlow* AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::getFlow ( const char *  flowName  ) 

It returns pointer to Receiver Flow.

Parameters:
flowName the name of the flow
Returns:
receiver flow if present in the stream, otherwise exception
Exceptions:
FlowNotExistExImpl 
template<class TReceiverCallback>
std::vector<std::string> AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::getFlowNames (  ) 

Get the receiver flow and sep configuration

Exceptions:
ACSBulkDataError::AVReceiverConfigErrorExImpl 
Returns:
bulkdata::BulkDataReceiverConfig * Get the names of the all flows created by the stream
vector<string>
template<class TReceiverCallback>
unsigned int AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::getFlowNumber (  ) 

Returns number of flows in the stream.

Returns:
number of flows
template<class TReceiverCallback>
void AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::operator= ( const BulkDataNTReceiverStream< TReceiverCallback > &   )  [protected]

ALMA C++ coding standards state assignment operators should be disabled.

template<class TReceiverCallback>
virtual void AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::removeFlowFromMap ( const char *  flow  )  [protected, virtual]

void subscribeNotification(ACS::CBvoid_ptr notifCb);

Subscribe to the Notification Mechanism

Exceptions:
ACSBulkDataError::AVNotificationMechanismErrorExImpl 
Parameters:
ACS::CBvoid_ptr 
Returns:
void

Enable or disable that data are sent to the user's CB. By default this is enable. This operation has to be use with caution!!!
Parameters:
enable true -> data will be sent to the user's CB, false -> data will *not* be sent to the user's CB,
Returns:
void

void fwdData2UserCB(CORBA::Boolean enable); void notifySender(const ACSErr::Completion& comp); void setCbTimeout(const char * cbTimeout);

Implements AcsBulkdata::BulkDataNTStream.


Member Data Documentation

template<class TReceiverCallback>
bool AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::enabledCallingCBforAllFlows_m [protected]
template<class TReceiverCallback>
bool AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::notRemoveFromMap_m [protected]
template<class TReceiverCallback>
ReceiverFlowMap AcsBulkdata::BulkDataNTReceiverStream< TReceiverCallback >::receiverFlows_m [protected]

The documentation for this class was generated from the following file: