text: #ifndef INT16MULTIARRAY_DCPS_IMPL_H_
  #define INT16MULTIARRAY_DCPS_IMPL_H_
  
  #include "ccpp.h"
  #include "ccpp_Int16MultiArray_.h"
  #include "TypeSupportMetaHolder.h"
  #include "TypeSupport.h"
  #include "FooDataWriter_impl.h"
  #include "FooDataReader_impl.h"
  #include "FooDataReaderView_impl.h"
  #include "std_msgs/msg/rosidl_typesupport_opensplice_cpp__visibility_control.h"
  
  namespace std_msgs {
  
      namespace msg {
  
          namespace dds_ {
  
              class ROSIDL_TYPESUPPORT_OPENSPLICE_CPP_PUBLIC_std_msgs Int16MultiArray_TypeSupportMetaHolder : public ::DDS::OpenSplice::TypeSupportMetaHolder
              {
              public:
                  Int16MultiArray_TypeSupportMetaHolder ();
                  virtual ~Int16MultiArray_TypeSupportMetaHolder ();
              
              private:
                  ::DDS::OpenSplice::TypeSupportMetaHolder * clone();
              
                  ::DDS::OpenSplice::DataWriter * create_datawriter ();
              
                  ::DDS::OpenSplice::DataReader * create_datareader ();
              
                  ::DDS::OpenSplice::DataReaderView * create_view ();
              };
              
              class ROSIDL_TYPESUPPORT_OPENSPLICE_CPP_PUBLIC_std_msgs Int16MultiArray_TypeSupport : public virtual Int16MultiArray_TypeSupportInterface,
                                                                 public ::DDS::OpenSplice::TypeSupport
              {
              public:
                  Int16MultiArray_TypeSupport ();
              
                  virtual ~Int16MultiArray_TypeSupport ();
              
              private:
                  Int16MultiArray_TypeSupport (const Int16MultiArray_TypeSupport &);
              
                  Int16MultiArray_TypeSupport & operator= (const Int16MultiArray_TypeSupport &);
              };
              
              typedef Int16MultiArray_TypeSupportInterface_var Int16MultiArray_TypeSupport_var;
              typedef Int16MultiArray_TypeSupportInterface_ptr Int16MultiArray_TypeSupport_ptr;
              
              class ROSIDL_TYPESUPPORT_OPENSPLICE_CPP_PUBLIC_std_msgs Int16MultiArray_DataWriter_impl : public virtual Int16MultiArray_DataWriter,
                                                                     public ::DDS::OpenSplice::FooDataWriter_impl
              {
                  friend class DDS::OpenSplice::Publisher;
                  friend class Int16MultiArray_TypeSupportMetaHolder;
              
              public:
                  virtual ::DDS::InstanceHandle_t register_instance (
                      const Int16MultiArray_ & instance_data) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::InstanceHandle_t register_instance_w_timestamp (
                      const Int16MultiArray_ & instance_data,
                      const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t unregister_instance (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t unregister_instance_w_timestamp (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle,
                      const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t write (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t write_w_timestamp (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle,
                      const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t dispose (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t dispose_w_timestamp (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle,
                      const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t writedispose (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t writedispose_w_timestamp (
                      const Int16MultiArray_ & instance_data,
                      ::DDS::InstanceHandle_t handle,
                      const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t get_key_value (
                      Int16MultiArray_ & key_holder,
                      ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::InstanceHandle_t lookup_instance (
                      const Int16MultiArray_ & instance_data) THROW_ORB_EXCEPTIONS;
              
              protected:
                  Int16MultiArray_DataWriter_impl ();
              
                  virtual ~Int16MultiArray_DataWriter_impl ();
              
                  virtual DDS::ReturnCode_t init (
                                  DDS::OpenSplice::Publisher *publisher,
                                  DDS::OpenSplice::DomainParticipant *participant,
                                  const DDS::DataWriterQos &qos,
                                  DDS::OpenSplice::Topic *a_topic,
                                  const char *name,
                                  DDS::OpenSplice::cxxCopyIn copyIn,
                                  DDS::OpenSplice::cxxCopyOut copyOut,
                                  u_writerCopy writerCopy,
                                  void *cdrMarshaler);
              
              private:
                  Int16MultiArray_DataWriter_impl (const Int16MultiArray_DataWriter_impl &);
              
                  Int16MultiArray_DataWriter_impl & operator= (const Int16MultiArray_DataWriter_impl &);
              };
              
              class ROSIDL_TYPESUPPORT_OPENSPLICE_CPP_PUBLIC_std_msgs Int16MultiArray_DataReader_impl : public virtual Int16MultiArray_DataReader,
                                                                     public ::DDS::OpenSplice::FooDataReader_impl
              {
                  friend class DDS::OpenSplice::Subscriber;
                  friend class Int16MultiArray_TypeSupportMetaHolder;
                  friend class Int16MultiArray_DataReaderView_impl;
              
              public:
                  virtual ::DDS::ReturnCode_t read (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_next_sample (
                      Int16MultiArray_ & received_data,
                      ::DDS::SampleInfo & sample_info) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_next_sample (
                      Int16MultiArray_ & received_data,
                      ::DDS::SampleInfo & sample_info) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_next_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_next_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_next_instance_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_next_instance_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t return_loan (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t get_key_value (
                      Int16MultiArray_ & key_holder,
                      ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::InstanceHandle_t lookup_instance (
                      const Int16MultiArray_ & instance) THROW_ORB_EXCEPTIONS;
              
              protected:
                  Int16MultiArray_DataReader_impl ();
              
                  virtual ~Int16MultiArray_DataReader_impl ();
              
                  DDS::ReturnCode_t init (
                          DDS::OpenSplice::Subscriber *subscriber,
                          const DDS::DataReaderQos &qos,
                          DDS::OpenSplice::TopicDescription *a_topic,
                          const char *name,
                          DDS::OpenSplice::cxxCopyIn copyIn,
                          DDS::OpenSplice::cxxCopyOut copyOut,
                          DDS::OpenSplice::cxxReaderCopy readerCopy,
                          void *cdrMarshaler);
              
                  static void* dataSeqAlloc (
                      void * data_values,
                      DDS::ULong len);
              
                  static void dataSeqLength (
                      void * data_values,
                      DDS::ULong len);
              
                  static void * dataSeqGetBuffer (
                      void * data_values,
                      DDS::ULong index);
              
                  static void dataSeqCopyOut (
                      const void * from,
                      void * received_data);
                  static void copyDataOut(const void *from, void *to);
              
              private:
                  Int16MultiArray_DataReader_impl (const Int16MultiArray_DataReader_impl &);
                  Int16MultiArray_DataReader_impl & operator= (const Int16MultiArray_DataReader_impl &);
              
                  static ::DDS::ReturnCode_t check_preconditions (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples);
              };
              
              class ROSIDL_TYPESUPPORT_OPENSPLICE_CPP_PUBLIC_std_msgs Int16MultiArray_DataReaderView_impl : public virtual Int16MultiArray_DataReaderView,
                                                                         public ::DDS::OpenSplice::FooDataReaderView_impl
              {
                  friend class DDS::OpenSplice::DataReader;
                  friend class Int16MultiArray_TypeSupportMetaHolder;
              
              public:
                  virtual ::DDS::ReturnCode_t read (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_next_sample (
                      Int16MultiArray_ & received_data,
                      ::DDS::SampleInfo & sample_info) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_next_sample (
                      Int16MultiArray_ & received_data,
                      ::DDS::SampleInfo & sample_info) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_next_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_next_instance (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::SampleStateMask sample_states,
                      ::DDS::ViewStateMask view_states,
                      ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t read_next_instance_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t take_next_instance_w_condition (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq,
                      ::DDS::Long max_samples,
                      ::DDS::InstanceHandle_t a_handle,
                      ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t return_loan (
                      Int16MultiArray_Seq & received_data,
                      ::DDS::SampleInfoSeq & info_seq) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::ReturnCode_t get_key_value (
                      Int16MultiArray_ & key_holder,
                      ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
              
                  virtual ::DDS::InstanceHandle_t lookup_instance (
                      const Int16MultiArray_ & instance) THROW_ORB_EXCEPTIONS;
              
              protected:
                  Int16MultiArray_DataReaderView_impl ();
              
                  virtual ~Int16MultiArray_DataReaderView_impl ();
              
                  virtual DDS::ReturnCode_t init (
                      DDS::OpenSplice::DataReader *reader,
                      const char *name,
                      const DDS::DataReaderViewQos &qos,
                      DDS::OpenSplice::cxxCopyIn copyIn,
                      DDS::OpenSplice::cxxCopyOut copyOut);
              
              private:
                  Int16MultiArray_DataReaderView_impl (const Int16MultiArray_DataReaderView_impl &);
              
                  Int16MultiArray_DataReaderView_impl & operator= (const Int16MultiArray_DataReaderView_impl &);
              };
              
          }
  
      }
  
  }
  
  #undef OS_API
  #endif
  