/* In this file the idl struct will be tested.
  bla
 */

#include <enum.idl>

typedef short Error;

/// idlc defines a test module
module idlc
{

typedef long Error;

/// test defines a test module
module test
{

/** bla
   BaseStruct defines an * intial struct
 */
struct BaseStruct
{
    /// a long member
    long    m1;
    /// a string member
    string  m2;
    /// a byte member
    byte    m3;
    /// a type member
    type    m4;
    /// a enum member, Error in moudle idlc::test
    Error   m5;
    /// a typedef member, global Error (typedef short)
    ::Error m6;
    /// a typedef member, Error in moudle idlc (typedef long)
    ::idlc::Error   m7;
    /// a typedef member, Error in moudle idlc (typedef long)
    idlc::Error m8;
    /// a enum member, Error in moudle idlc::test
    test::Error m9;
};

/** TestStruct deinfes a struct which inherits
    from the base strcut type BaseStruct.
*/
struct TestStruct : BaseStruct
{
    /// a short member
    short           ms1;
    /// a hyper member
    hyper           ms2;
    /// a sequence<long> member
    sequence< long >    ms3;
    /// a long array member with dimesion 5,10
    long            ms4[5][10];
    /// a string array member with dimension 4,8
    long[5][10]     ms5;
};

}; // test

}; // idlc
