xref: /aoo42x/main/stoc/test/testcorefl.idl (revision 3508ca0d)
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
10*3508ca0dSAndrew Rist *
11*3508ca0dSAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*3508ca0dSAndrew Rist *
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.
19*3508ca0dSAndrew Rist *
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