Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes

AcsBulkdata::BulkDataReceiver< TReceiverCallback > Class Template Reference

#include <bulkDataReceiver.h>

List of all members.

Classes

struct  FepsCfgB

Public Member Functions

 BulkDataReceiver ()
virtual ~BulkDataReceiver ()
void initialize ()
void createSingleFlow ()
void createMultipleFlows (const char *fepsConfig)
bulkdata::BulkDataReceiverConfig * getReceiverConfig ()
void getFlowCallback (ACE_CString &flowName, TReceiverCallback *&cb_p)
void getFlowCallback (CORBA::ULong flowNumber, TReceiverCallback *&cb_p)
void closeReceiver ()
std::vector< std::string > getFlowNames ()
void setReceiverName (ACE_CString recvName)
void subscribeNotification (ACS::CBvoid_ptr notifCb)
void fwdData2UserCB (CORBA::Boolean enable)
void notifySender (const ACSErr::Completion &comp)
void addHandle (ACE_CString flowName, ACE_HANDLE handle)
void setCbTimeout (const char *cbTimeout)
bulkdata::Connection checkFlowCallbacks ()
bulkdata::Connection getSenderConnectionState ()

Private Types

typedef ACE_Hash_Map_Manager
< ACE_CString,
BulkDataFlowConsumer
< TReceiverCallback >
*, ACE_Null_Mutex > 
FepObjects
typedef ACE_Hash_Map_Iterator
< ACE_CString,
BulkDataFlowConsumer
< TReceiverCallback >
*, ACE_Null_Mutex > 
FepObjectsIterator
typedef ACE_Hash_Map_Manager
< ACE_CString, ACE_HANDLE,
ACE_Null_Mutex > 
HandleMap
typedef ACE_Hash_Map_Iterator
< ACE_CString, ACE_HANDLE,
ACE_Null_Mutex > 
HandleMapIterator

Private Member Functions

void initPartB ()
AVStreams::StreamEndPoint_B_ptr createSepB ()
AVStreams::FlowConsumer_ptr createFepConsumerB (ACE_CString &flowName, AVStreams::protocolSpec protocols, ACE_CString &format)
void addFepToSep (AVStreams::StreamEndPoint_B_ptr locSepB_p, AVStreams::FlowConsumer_ptr locFepB_p)
AVStreams::StreamEndPoint_B_ptr getStreamEndPointB ()
AVStreams::flowSpec * getFepsConfig ()
void deleteFepsB ()
void deleteSepB ()
void deleteAcceptor ()
void deleteHandler ()
void closeSocket ()
const char * createFlowSpec (ACE_CString &flowName, ACE_CString &fepProtocol)

Private Attributes

FepObjects fepMap_m
HandleMap handleMap_m
TAO_AV_Endpoint_Reactive_Strategy_B
< TAO_StreamEndPoint_B,
TAO_VDev, AV_Null_MediaCtrl > 
reactiveStrategy_m
AVStreams::StreamEndPoint_B_var sepB_p
AVStreams::flowSpec fepsData
bulkdata::BulkDataReceiverConfig * recvConfig_p
TAO_StreamEndPoint_B * sepRefCount_p
CORBA::Boolean closeReceiverFlag
ACS::CBvoid_ptr locNotifCb_p
ACE_Time_Value cbTimeout_m

template<class TReceiverCallback>
class AcsBulkdata::BulkDataReceiver< TReceiverCallback >


Member Typedef Documentation

template<class TReceiverCallback>
typedef ACE_Hash_Map_Manager<ACE_CString, BulkDataFlowConsumer<TReceiverCallback> *, ACE_Null_Mutex> AcsBulkdata::BulkDataReceiver< TReceiverCallback >::FepObjects [private]
template<class TReceiverCallback>
typedef ACE_Hash_Map_Iterator<ACE_CString, BulkDataFlowConsumer<TReceiverCallback> *, ACE_Null_Mutex> AcsBulkdata::BulkDataReceiver< TReceiverCallback >::FepObjectsIterator [private]
template<class TReceiverCallback>
typedef ACE_Hash_Map_Manager<ACE_CString, ACE_HANDLE, ACE_Null_Mutex> AcsBulkdata::BulkDataReceiver< TReceiverCallback >::HandleMap [private]
template<class TReceiverCallback>
typedef ACE_Hash_Map_Iterator<ACE_CString, ACE_HANDLE, ACE_Null_Mutex> AcsBulkdata::BulkDataReceiver< TReceiverCallback >::HandleMapIterator [private]

Constructor & Destructor Documentation

template<class TReceiverCallback>
AcsBulkdata::BulkDataReceiver< TReceiverCallback >::BulkDataReceiver (  ) 

Constructor

template<class TReceiverCallback>
virtual AcsBulkdata::BulkDataReceiver< TReceiverCallback >::~BulkDataReceiver (  )  [virtual]

Destructor


Member Function Documentation

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::addFepToSep ( AVStreams::StreamEndPoint_B_ptr  locSepB_p,
AVStreams::FlowConsumer_ptr  locFepB_p 
) [private]

Add the Flow End Point to the Stream End Point

Parameters:
AVStreams::StreamEndPoint_B_ptr 
AVStreams::FlowConsumer_ptr 
Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::addHandle ( ACE_CString  flowName,
ACE_HANDLE  handle 
) [inline]
template<class TReceiverCallback>
bulkdata::Connection AcsBulkdata::BulkDataReceiver< TReceiverCallback >::checkFlowCallbacks (  ) 
Exceptions:
ACSBulkDataError::AVFlowEndpointErrorExImpl 
template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::closeReceiver (  ) 

Close the Receiver

Exceptions:
ACSBulkDataError::AVCloseReceiverErrorExImpl 
Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::closeSocket (  )  [private]
template<class TReceiverCallback>
AVStreams::FlowConsumer_ptr AcsBulkdata::BulkDataReceiver< TReceiverCallback >::createFepConsumerB ( ACE_CString &  flowName,
AVStreams::protocolSpec  protocols,
ACE_CString &  format 
) [private]

Create the Consumer Flow End Point

Parameters:
flowname 
AVStreams::protocolSpec 
format 
Returns:
AVStreams::FlowConsumer_ptr

template<class TReceiverCallback>
const char* AcsBulkdata::BulkDataReceiver< TReceiverCallback >::createFlowSpec ( ACE_CString &  flowName,
ACE_CString &  fepProtocol 
) [private]

Create the Flow Specifications

Parameters:
flowname 
fep_protocol 
Returns:
const char *

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::createMultipleFlows ( const char *  fepsConfig  ) 

Create multiple flows (user defined)

Parameters:
fepsConfig 
Exceptions:
ACSBulkDataError::AVStreamEndpointErrorExImpl 
ACSBulkDataError::AVInvalidFlowNumberExImpl 
ACSBulkDataError::AVFlowEndpointErrorExImpl 
Returns:
void

template<class TReceiverCallback>
AVStreams::StreamEndPoint_B_ptr AcsBulkdata::BulkDataReceiver< TReceiverCallback >::createSepB (  )  [private]

Create the part B Stream End Point

Returns:
AVStreams::StreamEndPoint_B_ptr

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::createSingleFlow (  ) 

Create single flow (TCP, A/V default port)

Exceptions:
ACSBulkDataError::AVStreamEndpointErrorExImpl 
ACSBulkDataError::AVFlowEndpointErrorExImpl 
Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::deleteAcceptor (  )  [private]
template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::deleteFepsB (  )  [private]

Delete allocated feps

Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::deleteHandler (  )  [private]
template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::deleteSepB (  )  [private]

Delete allocated sep

Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::fwdData2UserCB ( CORBA::Boolean  enable  ) 

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

template<class TReceiverCallback>
AVStreams::flowSpec* AcsBulkdata::BulkDataReceiver< TReceiverCallback >::getFepsConfig (  )  [private]

Accessor for the part B configuration

Returns:
AVStreams::StreamEndPoint_B_ptr

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::getFlowCallback ( ACE_CString &  flowName,
TReceiverCallback *&  cb_p 
)

Accessor to allocated receiver callback

Parameters:
ACE_CString 
TReceiverCallback 
Exceptions:
ACSBulkDataError::AVFlowEndpointErrorExImpl 
Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::getFlowCallback ( CORBA::ULong  flowNumber,
TReceiverCallback *&  cb_p 
)

Accessor to allocated receiver callback

Parameters:
CORBA::ULong 
TReceiverCallback 
Exceptions:
ACSBulkDataError::AVInvalidFlowNumberExImpl 
ACSBulkDataError::AVFlowEndpointErrorExImpl 
Returns:
void

template<class TReceiverCallback>
std::vector<std::string> AcsBulkdata::BulkDataReceiver< TReceiverCallback >::getFlowNames (  ) 

Get the names of the connected flows

Returns:
vector<string>

template<class TReceiverCallback>
bulkdata::BulkDataReceiverConfig* AcsBulkdata::BulkDataReceiver< TReceiverCallback >::getReceiverConfig (  ) 

Get the receiver flow and sep configuration

Exceptions:
ACSBulkDataError::AVReceiverConfigErrorExImpl 
Returns:
bulkdata::BulkDataReceiverConfig *

template<class TReceiverCallback>
bulkdata::Connection AcsBulkdata::BulkDataReceiver< TReceiverCallback >::getSenderConnectionState (  )  [inline]
template<class TReceiverCallback>
AVStreams::StreamEndPoint_B_ptr AcsBulkdata::BulkDataReceiver< TReceiverCallback >::getStreamEndPointB (  )  [private]

Accessor for the part B Stream End Point

Returns:
AVStreams::StreamEndPoint_B_ptr

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::initialize (  ) 

Initialize the A/V

Exceptions:
ACSBulkDataError::AVInitErrorExImpl 
Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::initPartB (  )  [private]

Initialize the A/V part B

Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::notifySender ( const ACSErr::Completion comp  ) 
template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::setCbTimeout ( const char *  cbTimeout  ) 
template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::setReceiverName ( ACE_CString  recvName  ) 

Set receiver name in receiver callback

Parameters:
ACE_CString 
Returns:
void

template<class TReceiverCallback>
void AcsBulkdata::BulkDataReceiver< TReceiverCallback >::subscribeNotification ( ACS::CBvoid_ptr  notifCb  ) 

Subscribe to the Notification Mechanism

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


Member Data Documentation

template<class TReceiverCallback>
ACE_Time_Value AcsBulkdata::BulkDataReceiver< TReceiverCallback >::cbTimeout_m [private]
template<class TReceiverCallback>
CORBA::Boolean AcsBulkdata::BulkDataReceiver< TReceiverCallback >::closeReceiverFlag [private]
template<class TReceiverCallback>
FepObjects AcsBulkdata::BulkDataReceiver< TReceiverCallback >::fepMap_m [private]
template<class TReceiverCallback>
AVStreams::flowSpec AcsBulkdata::BulkDataReceiver< TReceiverCallback >::fepsData [private]
template<class TReceiverCallback>
HandleMap AcsBulkdata::BulkDataReceiver< TReceiverCallback >::handleMap_m [private]
template<class TReceiverCallback>
ACS::CBvoid_ptr AcsBulkdata::BulkDataReceiver< TReceiverCallback >::locNotifCb_p [private]
template<class TReceiverCallback>
TAO_AV_Endpoint_Reactive_Strategy_B<TAO_StreamEndPoint_B,TAO_VDev,AV_Null_MediaCtrl> AcsBulkdata::BulkDataReceiver< TReceiverCallback >::reactiveStrategy_m [private]

The endpoint strategy used by the receiver

template<class TReceiverCallback>
bulkdata::BulkDataReceiverConfig* AcsBulkdata::BulkDataReceiver< TReceiverCallback >::recvConfig_p [private]
template<class TReceiverCallback>
AVStreams::StreamEndPoint_B_var AcsBulkdata::BulkDataReceiver< TReceiverCallback >::sepB_p [private]
template<class TReceiverCallback>
TAO_StreamEndPoint_B* AcsBulkdata::BulkDataReceiver< TReceiverCallback >::sepRefCount_p [private]

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