xref: /trunk/main/stoc/test/testcorefl.idl (revision cdf0e10c)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#include <com/sun/star/uno/XInterface.idl>
28
29module ModuleA
30{
31	exception ExceptionA
32	{
33		boolean aBoolean;
34	};
35
36	struct StructA
37	{
38		long aLong;
39		short aShort;
40	};
41
42	struct StructB : StructA
43	{
44		double aDouble;
45		float 	aFloat;
46	};
47
48	struct StructC : StructB
49	{
50		string 			   					aString;
51		sequence<com::sun::star::uno::XInterface> 	aInterfaceSeq;
52	};
53
54	exception ExceptionB : ExceptionA
55	{
56		StructC aStructC;
57	};
58
59	interface XInterface1 : com::sun::star::uno::XInterface
60	{
61	};
62
63	exception ExceptionC : ExceptionB
64	{
65		XInterface1 aInterface1;
66	};
67
68	module ModuleB
69	{
70		enum EnumA { VAL_1, VAL_2, VAL_3 = 17};
71	};
72
73};
74
75module ModuleC
76{
77	const boolean 			aConstBoolean 	= True;
78	const byte 				aConstByte 		= 0;
79	const short 			aConstShort 	= -1;
80	const unsigned short 	aConstUShort 	= 1;
81	const long 				aConstLong 		= -2;
82	const unsigned long 	aConstULong 	= 2;
83//  	const hyper				aConstHyper 	= -3;
84//  	const unsigned hyper	aConstUHyper	= 3;
85	const float				aConstFloat 	= 3.14;
86	const double			aConstDouble	= 3.14e-10;
87
88
89	interface XInterfaceA : com::sun::star::uno::XInterface
90	{
91		void methodA();
92		[oneway] void methodB([in] short aShort);
93		sequence<ModuleA::StructB> methodC([in] ModuleA::StructC aStructC, [inout] ModuleA::StructA aStructA);
94	};
95
96	interface XInterfaceB : XInterfaceA
97	{
98		[attribute] string aString;
99
100		XInterfaceA methodD([in] ModuleA::ModuleB::EnumA aEnumA) raises (ModuleA::ExceptionA, ModuleA::ExceptionB, ModuleA::ExceptionC);
101	};
102};
103