xref: /trunk/main/stoc/test/testcorefl.idl (revision ffd38472365e95f6a578737bc9a5eb0fac624a86)
1*3508ca0dSAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*3508ca0dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*3508ca0dSAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*3508ca0dSAndrew Rist * distributed with this work for additional information
6*3508ca0dSAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*3508ca0dSAndrew Rist * to you under the Apache License, Version 2.0 (the
8*3508ca0dSAndrew Rist * "License"); you may not use this file except in compliance
9*3508ca0dSAndrew Rist * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir *
11*3508ca0dSAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir *
13*3508ca0dSAndrew Rist * Unless required by applicable law or agreed to in writing,
14*3508ca0dSAndrew Rist * software distributed under the License is distributed on an
15*3508ca0dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*3508ca0dSAndrew Rist * KIND, either express or implied.  See the License for the
17*3508ca0dSAndrew Rist * specific language governing permissions and limitations
18*3508ca0dSAndrew Rist * under the License.
19cdf0e10cSrcweir *
20*3508ca0dSAndrew Rist *************************************************************/
21*3508ca0dSAndrew Rist
22*3508ca0dSAndrew Rist
23cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
24cdf0e10cSrcweir
25cdf0e10cSrcweirmodule ModuleA
26cdf0e10cSrcweir{
27cdf0e10cSrcweir    exception ExceptionA
28cdf0e10cSrcweir    {
29cdf0e10cSrcweir        boolean aBoolean;
30cdf0e10cSrcweir    };
31cdf0e10cSrcweir
32cdf0e10cSrcweir    struct StructA
33cdf0e10cSrcweir    {
34cdf0e10cSrcweir        long aLong;
35cdf0e10cSrcweir        short aShort;
36cdf0e10cSrcweir    };
37cdf0e10cSrcweir
38cdf0e10cSrcweir    struct StructB : StructA
39cdf0e10cSrcweir    {
40cdf0e10cSrcweir        double aDouble;
41cdf0e10cSrcweir        float   aFloat;
42cdf0e10cSrcweir    };
43cdf0e10cSrcweir
44cdf0e10cSrcweir    struct StructC : StructB
45cdf0e10cSrcweir    {
46cdf0e10cSrcweir        string                              aString;
47cdf0e10cSrcweir        sequence<com::sun::star::uno::XInterface>   aInterfaceSeq;
48cdf0e10cSrcweir    };
49cdf0e10cSrcweir
50cdf0e10cSrcweir    exception ExceptionB : ExceptionA
51cdf0e10cSrcweir    {
52cdf0e10cSrcweir        StructC aStructC;
53cdf0e10cSrcweir    };
54cdf0e10cSrcweir
55cdf0e10cSrcweir    interface XInterface1 : com::sun::star::uno::XInterface
56cdf0e10cSrcweir    {
57cdf0e10cSrcweir    };
58cdf0e10cSrcweir
59cdf0e10cSrcweir    exception ExceptionC : ExceptionB
60cdf0e10cSrcweir    {
61cdf0e10cSrcweir        XInterface1 aInterface1;
62cdf0e10cSrcweir    };
63cdf0e10cSrcweir
64cdf0e10cSrcweir    module ModuleB
65cdf0e10cSrcweir    {
66cdf0e10cSrcweir        enum EnumA { VAL_1, VAL_2, VAL_3 = 17};
67cdf0e10cSrcweir    };
68cdf0e10cSrcweir
69cdf0e10cSrcweir};
70cdf0e10cSrcweir
71cdf0e10cSrcweirmodule ModuleC
72cdf0e10cSrcweir{
73cdf0e10cSrcweir    const boolean           aConstBoolean   = True;
74cdf0e10cSrcweir    const byte              aConstByte      = 0;
75cdf0e10cSrcweir    const short             aConstShort     = -1;
76cdf0e10cSrcweir    const unsigned short    aConstUShort    = 1;
77cdf0e10cSrcweir    const long              aConstLong      = -2;
78cdf0e10cSrcweir    const unsigned long     aConstULong     = 2;
79cdf0e10cSrcweir//      const hyper             aConstHyper     = -3;
80cdf0e10cSrcweir//      const unsigned hyper    aConstUHyper    = 3;
81cdf0e10cSrcweir    const float             aConstFloat     = 3.14;
82cdf0e10cSrcweir    const double            aConstDouble    = 3.14e-10;
83cdf0e10cSrcweir
84cdf0e10cSrcweir
85cdf0e10cSrcweir    interface XInterfaceA : com::sun::star::uno::XInterface
86cdf0e10cSrcweir    {
87cdf0e10cSrcweir        void methodA();
88cdf0e10cSrcweir        [oneway] void methodB([in] short aShort);
89cdf0e10cSrcweir        sequence<ModuleA::StructB> methodC([in] ModuleA::StructC aStructC, [inout] ModuleA::StructA aStructA);
90cdf0e10cSrcweir    };
91cdf0e10cSrcweir
92cdf0e10cSrcweir    interface XInterfaceB : XInterfaceA
93cdf0e10cSrcweir    {
94cdf0e10cSrcweir        [attribute] string aString;
95cdf0e10cSrcweir
96cdf0e10cSrcweir        XInterfaceA methodD([in] ModuleA::ModuleB::EnumA aEnumA) raises (ModuleA::ExceptionA, ModuleA::ExceptionB, ModuleA::ExceptionC);
97cdf0e10cSrcweir    };
98cdf0e10cSrcweir};
99