00001 00023 #ifndef PUBLISHER_H_ 00024 #define PUBLISHER_H_ 00025 00026 #include <string> 00027 #include <iostream> 00028 #include <vector> 00029 #include "ccpp_dds_dcps.h" 00030 #include "check_status.h" 00031 #include "ccpp_GSDFPacket.h" 00032 #include "example_main.h" 00033 00034 using namespace DDS; 00035 00036 namespace opensplice_dds_broker{ 00037 class Publisher 00038 { 00039 public: 00040 Publisher(const std::string& topic_name); 00041 void publish(const GSDFPacket& packet); 00042 ~Publisher(); 00043 private: 00044 DomainId_t domain; 00045 const char *topic_name_; 00046 char *GSDFPacketTypeName; 00047 00048 DomainParticipantFactory_var dpf; 00049 DomainParticipant_var participant; 00050 Topic_var GSDFPacketTopic; 00051 Publisher_var publisher_; 00052 DataWriter_ptr parentWriter; 00053 TopicQos topic_qos; 00054 PublisherQos pub_qos; 00055 DataWriterQos dw_qos; 00056 00057 ReturnCode_t status; 00058 00059 GSDFPacketTypeSupport_var GSDFPacketTS; 00060 GSDFPacketDataWriter_var GSDFPacketDW; 00061 }; 00062 }; 00063 00064 #endif