// -*- C++ -*- // $Id$ #ifndef CIAO_SENDER_EXEC_H_ #define CIAO_SENDER_EXEC_H_ #include "OIT_Test_SenderEC.h" #include /**/ "Sender_exec_export.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "tao/LocalObject.h" namespace CIAO_OIT_Test_Sender_Impl { typedef ACE_Atomic_Op Atomic_Boolean; //============================================================ // ConnectorStatusListener_exec_i //============================================================ class SENDER_EXEC_Export ConnectorStatusListener_exec_i : public virtual ::CCM_DDS::CCM_ConnectorStatusListener, public virtual ::CORBA::LocalObject { public: ConnectorStatusListener_exec_i (Atomic_Boolean &, ACE_Thread_ID &); virtual ~ConnectorStatusListener_exec_i (void); virtual void on_inconsistent_topic (::DDS::Topic_ptr the_topic, const DDS::InconsistentTopicStatus & status); virtual void on_requested_incompatible_qos (::DDS::DataReader_ptr the_reader, const DDS::RequestedIncompatibleQosStatus & status); virtual void on_sample_rejected (::DDS::DataReader_ptr the_reader, const DDS::SampleRejectedStatus & status); virtual void on_offered_deadline_missed (::DDS::DataWriter_ptr the_writer, const DDS::OfferedDeadlineMissedStatus & status); virtual void on_offered_incompatible_qos (::DDS::DataWriter_ptr the_writer, const DDS::OfferedIncompatibleQosStatus & status); virtual void on_unexpected_status (::DDS::Entity_ptr the_entity, ::DDS::StatusKind status_kind); private: Atomic_Boolean &inconsistent_; ACE_Thread_ID &thread_id_; }; //============================================================ // Sender_exec_i //============================================================ class Sender_exec_i : public virtual Sender_Exec, public virtual ::CORBA::LocalObject { public: Sender_exec_i (void); virtual ~Sender_exec_i (void); virtual void set_session_context (::Components::SessionContext_ptr ctx); virtual CCM_DDS::CCM_ConnectorStatusListener_ptr get_connector_status (void); virtual void configuration_complete (void); virtual void ccm_activate (void); virtual void ccm_passivate (void); virtual void ccm_remove (void); private: ::OIT_Test::CCM_Sender_Context_var context_; Atomic_Boolean inconsistent_; ACE_Thread_ID thread_id_listener_; }; extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr create_OIT_Test_Sender_Impl (void); } #endif /* ifndef */