summaryrefslogtreecommitdiff
path: root/modules/CIAO/connectors/dds4ccm/impl/ndds/Topic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/connectors/dds4ccm/impl/ndds/Topic.cpp')
-rw-r--r--modules/CIAO/connectors/dds4ccm/impl/ndds/Topic.cpp117
1 files changed, 117 insertions, 0 deletions
diff --git a/modules/CIAO/connectors/dds4ccm/impl/ndds/Topic.cpp b/modules/CIAO/connectors/dds4ccm/impl/ndds/Topic.cpp
new file mode 100644
index 00000000000..aa8ed0c686f
--- /dev/null
+++ b/modules/CIAO/connectors/dds4ccm/impl/ndds/Topic.cpp
@@ -0,0 +1,117 @@
+// $Id$
+
+#include "Topic.h"
+#include "StatusCondition.h"
+#include "InstanceHandle_t.h"
+#include "InconsistentTopicStatus.h"
+#include "ciao/Logger/Log_Macros.h"
+
+namespace CIAO
+{
+ namespace DDS4CCM
+ {
+ namespace RTI
+ {
+ // Implementation skeleton constructor
+ RTI_Topic_i::RTI_Topic_i (DDSTopic * top)
+ : impl_ (top)
+ {
+ }
+
+ // Implementation skeleton destructor
+ RTI_Topic_i::~RTI_Topic_i (void)
+ {
+ }
+
+ ::DDS::ReturnCode_t
+ RTI_Topic_i::set_qos (const ::DDS::TopicQos & /*qos*/)
+ {
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ ::DDS::ReturnCode_t
+ RTI_Topic_i::get_qos (::DDS::TopicQos & /*qos*/)
+ {
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ ::DDS::ReturnCode_t
+ RTI_Topic_i::set_listener (::DDS::TopicListener_ptr /*a_listener*/,
+ ::DDS::StatusMask /*mask*/)
+ {
+ //RTI_TopicListener_i* rti_impl_list = new RTI_TopicListener_i (a_listener);
+ //return this->impl_->set_listener (rti_impl_list, mask);
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ ::DDS::TopicListener_ptr
+ RTI_Topic_i::get_listener (void)
+ {
+ throw CORBA::NO_IMPLEMENT ();
+ }
+
+ ::DDS::ReturnCode_t
+ RTI_Topic_i::get_inconsistent_topic_status (::DDS::InconsistentTopicStatus & a_status)
+ {
+ DDS_InconsistentTopicStatus ddsstatus;
+ ddsstatus <<= a_status;
+ return this->impl_->get_inconsistent_topic_status (ddsstatus);
+ }
+
+ ::DDS::ReturnCode_t
+ RTI_Topic_i::enable (void)
+ {
+ return this->impl_->enable ();
+ }
+
+ ::DDS::StatusCondition_ptr
+ RTI_Topic_i::get_statuscondition (void)
+ {
+ DDSStatusCondition* sc = this->impl_->get_statuscondition ();
+ ::DDS::StatusCondition_var retval = new RTI_StatusCondition_i (sc);
+ return retval._retn ();
+ }
+
+ ::DDS::StatusMask
+ RTI_Topic_i::get_status_changes (void)
+ {
+ return this->impl_->get_status_changes ();
+ }
+
+ ::DDS::InstanceHandle_t
+ RTI_Topic_i::get_instance_handle (void)
+ {
+ ::DDS_InstanceHandle_t const rtihandle = this->impl_->get_instance_handle ();
+ ::DDS::InstanceHandle_t handle;
+ handle <<= rtihandle;
+ return handle;
+ }
+
+ char *
+ RTI_Topic_i::get_type_name (void)
+ {
+ return CORBA::string_dup (this->impl_->get_type_name ());
+ }
+
+ char *
+ RTI_Topic_i::get_name (void)
+ {
+ return CORBA::string_dup (this->impl_->get_name ());
+ }
+
+ ::DDS::DomainParticipant_ptr
+ RTI_Topic_i::get_participant (void)
+ {
+ DDSDomainParticipant* p = this->impl_->get_participant ();
+ ::DDS::DomainParticipant_var retval = new RTI_DomainParticipant_i (p);
+ return retval._retn ();
+ }
+
+ DDSTopic *
+ RTI_Topic_i::get_topic (void)
+ {
+ return impl_;
+ }
+ }
+ }
+}