Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ddsnc::DDSPublisher< DWVAR > Class Template Reference

#include <DDSPublisher.h>

Inheritance diagram for ddsnc::DDSPublisher< DWVAR >:

Inheritance graph
[legend]
Collaboration diagram for ddsnc::DDSPublisher< DWVAR >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DDSPublisher (const char *channelName)
template<class D, class DW, class TSV, class TSI> void publishData (D data)
 ~DDSPublisher ()

Public Attributes

DDS::DataWriterQos dwQos

Protected Attributes

DDS::PublisherQos pubQos

Private Member Functions

int attachToTransport ()
void initialize ()
template<class DW> void initializeDataWriter ()
int createPublisher ()

Private Attributes

DDS::Publisher_var pub
OpenDDS::DCPS::PublisherImpl * pub_impl
DDS::DataWriter_var dw
DWVAR dataWriter
DDS::InstanceHandle_t handler

Detailed Description

template<class DWVAR>
class ddsnc::DDSPublisher< DWVAR >

The Publisher implementation of ACS Notification Channel based on DDS.

The template requires the DataWriter_var class that is specific to the data type defined in the idl and registered in the topic.

DWVAR <type>DataWriter_var class

See also:
DDSHelper
Author:
Jorge Avarias <javarias[at]inf.utfsm.cl>


Constructor & Destructor Documentation

template<class DWVAR>
ddsnc::DDSPublisher< DWVAR >::DDSPublisher const char *  channelName  )  [inline]
 

Constructor for DDSPublisher class, initializes the common objects required by a DDS Publisher.

See also:
DDSHelper

initialize()

template<class DWVAR>
ddsnc::DDSPublisher< DWVAR >::~DDSPublisher  )  [inline]
 


Member Function Documentation

template<class DWVAR>
int ddsnc::DDSPublisher< DWVAR >::attachToTransport  )  [inline, private]
 

template<class DWVAR>
int ddsnc::DDSPublisher< DWVAR >::createPublisher  )  [inline, private]
 

Creates the publisher with default QoS or Qos with a partition

See also:
initialize()

template<class DWVAR>
void ddsnc::DDSPublisher< DWVAR >::initialize void   )  [inline, private]
 

Create the participant, initialize the publisher with the partition provided in the channelName constructor parameter, if there is not partition initialize the publisher with default QoS properties, initialize the transport for the participant and finally initilize the data writer QoS to default.

template<class DWVAR>
template<class DW>
void ddsnc::DDSPublisher< DWVAR >::initializeDataWriter  )  [inline, private]
 

Initialize the DataWriter with QoS

<type>DataWriter class

See also:
dwQos

template<class DWVAR>
template<class D, class DW, class TSV, class TSI>
void ddsnc::DDSPublisher< DWVAR >::publishData data  )  [inline]
 

Publish the data to be sended to the subscribers, the data type must be defined in the idl file. If the class has been not initialized, it are initialized at this moment and it set as initialized.

The <type> corresponds to the name of data type (without namespace) defined in the idl file, the classes required by the template are autogenerated by dcps_ts.pl tools and are specific to the data type defined.

Parameters:
data the data to be published D <type> class DW <type>DataWriter class TSV <type>TypeSupport_var class TSI <type>TypeSupportImpl class


Member Data Documentation

template<class DWVAR>
DWVAR ddsnc::DDSPublisher< DWVAR >::dataWriter [private]
 

template<class DWVAR>
DDS::DataWriter_var ddsnc::DDSPublisher< DWVAR >::dw [private]
 

template<class DWVAR>
DDS::DataWriterQos ddsnc::DDSPublisher< DWVAR >::dwQos
 

Data Writer Qos, can be modified according OpenDDS API, the Qos properties will be applied when is called publishData for first time and they cannot be changed after that.

See also:
initializeDataWriter()

publishData(D data)

template<class DWVAR>
DDS::InstanceHandle_t ddsnc::DDSPublisher< DWVAR >::handler [private]
 

template<class DWVAR>
DDS::Publisher_var ddsnc::DDSPublisher< DWVAR >::pub [private]
 

template<class DWVAR>
OpenDDS::DCPS::PublisherImpl* ddsnc::DDSPublisher< DWVAR >::pub_impl [private]
 

template<class DWVAR>
DDS::PublisherQos ddsnc::DDSPublisher< DWVAR >::pubQos [protected]
 


The documentation for this class was generated from the following file:
Generated on Thu Apr 30 02:37:25 2009 for ACS C++ API by doxygen 1.3.8