summaryrefslogtreecommitdiff
path: root/CIAO/tests/Bug_3890_Regression/Foo.idl
blob: 7821644a85ae0fcd0ab6c747e394348fbe9d2c16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#ifndef FOO_IDL_
#define FOO_IDL_

#include <Components.idl>

typedef sequence<short>  short_sequence;
typedef sequence<long>   long_sequence;
typedef sequence<float>  float_sequence;
typedef sequence<double> double_sequence;
typedef sequence<string> string_sequence;
typedef long long_array[5];
typedef string string_array[5];
typedef string<50> fixed_string;
typedef wstring<50> fixed_wstring;

struct Bar
{
  short  s;
  long   l;
  float  f;
  double d;
};

typedef sequence<Bar, 5> BarSeq;

struct Baz
{
  string name;
  BarSeq my_bar_sequence;
};

enum DataType
{
  dtEmpty,
  dtLong,
  dtShort
};

union Data switch (DataType)
{
  case dtLong: long longData;
  case dtShort: short shortData;
};

enum DataType2
{
  dtString,
  dtShortType
};

union Data2 switch (DataType2)
{
  case dtString: string stringData;
  case dtShortType: short shortData;
};

interface intf {};
valuetype vtype_ {};

component Foo
{
  attribute intf my_intf;
  attribute vtype_ my_vtype;

  attribute short  my_short;
  attribute long   my_long;
  attribute float  my_float;
  attribute double my_double;
  attribute fixed_string my_fixed_string;
  attribute string my_variable_string;
  attribute fixed_wstring my_fixed_wstring;
  attribute wstring my_variable_wstring;

  attribute long_array my_long_array;
  attribute string_array my_string_array;

  attribute short_sequence  my_short_sequence;
  attribute long_sequence   my_long_sequence;
  attribute float_sequence  my_float_sequence;
  attribute double_sequence my_double_sequence;
  attribute string_sequence my_string_sequence;

  attribute Bar my_bar_struct;
  attribute Baz my_baz_struct;
  attribute Data my_data_union;
  attribute Data2 my_var_data_union;
};

#endif /* FOO_IDL_ */