summaryrefslogtreecommitdiff
path: root/TAO/CIAO/CIDLC/parser_examples/idl3/test_idl3.idl
blob: a2d3a3d4bd65ceabc6b7d978ef4732d655304e1d (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
// $Id$  -*- IDL -*-

import "groovy.idl";
import skaboodliator::bingabay;

module mod
{
  interface dummy {};
  
  interface foo
  {
    exception dingdong {};
    exception ramalama {};
    readonly attribute long foo_attr, foo_attr2;
    readonly attribute mod::foo self_attr raises (dingdong);
    attribute string get_str getraises (ramalama, dingdong);
    attribute string set_str setraises (ramalama, dingdong);
    attribute long bb getraises (dingdong, ramalama)
                      setraises (ramalama);
    typeid dingdong "THE:witch/is:dead";
  };
  
  valuetype val
  {
    factory f () raises (dingdong, ramalama);
    private string pstr;
  };
  
  abstract eventtype efwd;
  abstract eventtype efwd supports foo
  {
    attribute string pstr;
  };
  
  custom eventtype cust
  {
    public string pstr;
    factory f () raises (dingdong, ramalama);
  };
  
  eventtype empty_ev : cust, efwd supports foo, dummy
  {
  };
  
  component bar;
  component emptybar supports foo
  {
  };
  
  component fullbar : emptybar
  {
    attribute val cc getraises (dingdong, ramalama)
                     setraises (ramalama, dingdong);
    provides pfoo foo;
    uses ufoo foo;
    uses multiple umfoo foo;
    emits emitter efwd;
    publishes pcust cust;
    consumes cempty empty_ev;
  };
  
  home fullhome manages fullbar
  {
    void op ();
    factory finit (in string strarg, in wstring wstrarg)
      raises (dingdong);
    finder flookup () raises (ramalama, dingdong);
  };
  
  typeid foo "ABRA:cadabra/hocus/pocus:1.234";
};

typeprefix mod "dre.vanderbilt.edu";