/*
  WARNING: THIS FILE IS AUTO-GENERATED. DO NOT MODIFY.

  This file was generated from test.idl using "rtiddsgen".
  The rtiddsgen tool is part of the RTI Data Distribution Service distribution.
  For more information, type 'rtiddsgen -help' at a command shell
  or consult the RTI Data Distribution Service manual.
*/

#pragma once


struct DDS_TypeCode;
    

using namespace System;
using namespace DDS;

    

public ref class MAX_BINDATA_SIZE sealed {
public:
    static const System::Int32 VALUE =
        63000;

private:
    MAX_BINDATA_SIZE() {}
};


public ref class KEY_SIZE sealed {
public:
    static const System::Int32 VALUE =
        4;

private:
    KEY_SIZE() {}
};


public ref struct TestData_t
        : public DDS::ICopyable<TestData_t^> {
    // --- Declared members: -------------------------------------------------
  public:            
    
    array<System::Byte, 1>^ key; // length = ((KEY_SIZE::VALUE))
    System::Int32 entity_id;
    System::UInt32 seq_num;
    System::Int32 timestamp_sec;
    System::UInt32 timestamp_usec;
    System::Int32 latency_ping;
    DDS::ByteSeq^ bin_data;

    // --- Constructors and destructors: -------------------------------------
  public:
    TestData_t();

    // --- Utility methods: --------------------------------------------------
  public:
    virtual System::Boolean copy_from(TestData_t^ src);

    virtual System::Boolean Equals(System::Object^ other) override;

    
    static DDS::TypeCode^ get_typecode();

  private:
    static DDS::TypeCode^ _typecode;

}; // class TestData_t




public ref class TestData_tSeq sealed
        : public DDS::UserRefSequence<TestData_t^> {
public:
    TestData_tSeq() :
            DDS::UserRefSequence<TestData_t^>() {
        // empty
    }
    TestData_tSeq(System::Int32 max) :
            DDS::UserRefSequence<TestData_t^>(max) {
        // empty
    }
    TestData_tSeq(TestData_tSeq^ src) :
            DDS::UserRefSequence<TestData_t^>(src) {
        // empty
    }
};


DDS_TypeCode* TestData_t_get_typecode();
