xref: /trunk/main/idlc/test/struct.idl (revision ffd38472365e95f6a578737bc9a5eb0fac624a86)
1540d5e64SAndrew Rist/**************************************************************
2540d5e64SAndrew Rist *
3540d5e64SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4540d5e64SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5540d5e64SAndrew Rist * distributed with this work for additional information
6540d5e64SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7540d5e64SAndrew Rist * to you under the Apache License, Version 2.0 (the
8540d5e64SAndrew Rist * "License"); you may not use this file except in compliance
9540d5e64SAndrew Rist * with the License.  You may obtain a copy of the License at
10540d5e64SAndrew Rist *
11540d5e64SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12540d5e64SAndrew Rist *
13540d5e64SAndrew Rist * Unless required by applicable law or agreed to in writing,
14540d5e64SAndrew Rist * software distributed under the License is distributed on an
15540d5e64SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16540d5e64SAndrew Rist * KIND, either express or implied.  See the License for the
17540d5e64SAndrew Rist * specific language governing permissions and limitations
18540d5e64SAndrew Rist * under the License.
19540d5e64SAndrew Rist *
20540d5e64SAndrew Rist *************************************************************/
21540d5e64SAndrew Rist
22cdf0e10cSrcweir/* In this file the idl struct will be tested.
23cdf0e10cSrcweir  bla
24cdf0e10cSrcweir */
25cdf0e10cSrcweir
26cdf0e10cSrcweir/// idlc defines a test module
27cdf0e10cSrcweirmodule idlc
28cdf0e10cSrcweir{
29cdf0e10cSrcweir
30cdf0e10cSrcweir/// test defines a test module
31cdf0e10cSrcweirmodule test
32cdf0e10cSrcweir{
33cdf0e10cSrcweir
34cdf0e10cSrcweirtypedef sequence< long > Id;
35cdf0e10cSrcweir//struct Bla
36cdf0e10cSrcweir//{
37cdf0e10cSrcweir//  long bla;
38cdf0e10cSrcweir//};
39cdf0e10cSrcweir
40cdf0e10cSrcweir/** bla
41a893be29SPedro Giffuni   BaseStruct defines an * initial struct
42cdf0e10cSrcweir */
43cdf0e10cSrcweirstruct BaseStruct
44cdf0e10cSrcweir{
45cdf0e10cSrcweir    Id Id;
46cdf0e10cSrcweir
47cdf0e10cSrcweir    /// a short  member
48cdf0e10cSrcweir    short   m1;
49cdf0e10cSrcweir
50cdf0e10cSrcweir    /// a unsigned short  member
51cdf0e10cSrcweir    unsigned short  m2;
52cdf0e10cSrcweir
53cdf0e10cSrcweir    /// a long member
54cdf0e10cSrcweir    long    m3;
55cdf0e10cSrcweir
56cdf0e10cSrcweir    /// a unsigned long  member
57cdf0e10cSrcweir    unsigned long   m4;
58cdf0e10cSrcweir
59cdf0e10cSrcweir    /// a hyper member
60cdf0e10cSrcweir    hyper   m5;
61cdf0e10cSrcweir
62cdf0e10cSrcweir    /// a unsigned hyper  member
63cdf0e10cSrcweir    unsigned hyper  m6;
64cdf0e10cSrcweir
65cdf0e10cSrcweir    /// a string member
66cdf0e10cSrcweir    string  m7;
67cdf0e10cSrcweir
68cdf0e10cSrcweir    /// a byte member
69cdf0e10cSrcweir    byte    m8;
70cdf0e10cSrcweir
71cdf0e10cSrcweir    /// a type member
72cdf0e10cSrcweir    type    m9;
73cdf0e10cSrcweir
74cdf0e10cSrcweir    /// a float member
75cdf0e10cSrcweir    float   m10;
76cdf0e10cSrcweir
77cdf0e10cSrcweir    /// a double member
78cdf0e10cSrcweir    double  m11;
79cdf0e10cSrcweir
80cdf0e10cSrcweir    /// a char member
81cdf0e10cSrcweir    char    m12;
82cdf0e10cSrcweir
83cdf0e10cSrcweir    /// a boolean member
84cdf0e10cSrcweir    boolean m13;
85cdf0e10cSrcweir
86cdf0e10cSrcweir    /// a any member
87cdf0e10cSrcweir    any     m14;
88cdf0e10cSrcweir};
89cdf0e10cSrcweir
90cdf0e10cSrcweirinterface XTestBaseTypes;
91cdf0e10cSrcweir
92cdf0e10cSrcweirtypedef sequence< long > LongSeq;
93cdf0e10cSrcweir
94cdf0e10cSrcweirtypedef sequence< LongSeq > LongSeqSeq;
95cdf0e10cSrcweir
96cdf0e10cSrcweir/** TestStruct deinfes a struct which inherits
97cdf0e10cSrcweir    from the base strcut type BaseStruct.
98cdf0e10cSrcweir*/
99cdf0e10cSrcweirstruct TestStruct : BaseStruct
100cdf0e10cSrcweir{
101cdf0e10cSrcweir    /// a sequence< long > member
102cdf0e10cSrcweir    sequence< long >    ms1;
103cdf0e10cSrcweir
104cdf0e10cSrcweir    /// a sequence< sequence< long > > member
105cdf0e10cSrcweir    sequence< sequence< long > >    ms2;
106cdf0e10cSrcweir
107*ad1df53dSJohn Bampton    /// a long array member with dimension 5,10
108cdf0e10cSrcweir//  long            ms3[5][10];
109cdf0e10cSrcweir
110cdf0e10cSrcweir    /// a string array member with dimension 4,8
111cdf0e10cSrcweir//  long[5][10]     ms4;
112cdf0e10cSrcweir
113cdf0e10cSrcweir    /// an interface member
114cdf0e10cSrcweir    XTestBaseTypes ms5;
115cdf0e10cSrcweir
116cdf0e10cSrcweir    /// a typedef  member
117cdf0e10cSrcweir    LongSeq ms6;
118cdf0e10cSrcweir
119cdf0e10cSrcweir    /// a further typedef  member
120cdf0e10cSrcweir    LongSeqSeq ms7;
121cdf0e10cSrcweir
122cdf0e10cSrcweir    /// a sequence typedef  member
123cdf0e10cSrcweir    sequence<LongSeq> ms8;
124cdf0e10cSrcweir
125cdf0e10cSrcweir};
126cdf0e10cSrcweir
127cdf0e10cSrcweir}; };
128